We provide IT Staff Augmentation Services!

Sr. Software Engineer Resume

4.00/5 (Submit Your Rating)

SUMMARY:

  • Over 10 years of experience in backend and frontend software development
  • Experienced in development of backend and frontend apps for bank API - gateways
  • Skilled in design and development of project architecture from scratch
  • C/C++ server backend design and development for Web frontend
  • Event-driven C/C++ based multi-threaded and single-threaded socket applications
  • Development of systems with hundreds of millions unique data elements
  • Sharding and clusterization of data with server side C-backend
  • Experienced in high load NoSQL projects
  • Skilled in overall system optimization
  • Skilled in data center hardware design with TPS planning
  • Linux/Unix orientation.
  • Skilled in team building and startups

TECHNICAL SKILLS:

Languages: C (10+), C++ (8+), JavaScript(5+), HTML/CSS(10+), bash(7+), Python(2+)

Developer tools: gcc/g++(5+), clang(1+), valgrind(5+), gdb(5+), gprof(3+), make(7+)

Version control: GIT(6+), SVN(6+)

Operating systems: Linux(Debian/Ubuntu, OpenSuSE)(7+), Windows(15+)

Networking: TCP/UDP, iptables(5+), routing(10+), ssh(5+), etc.

Databases: Redis(2+), MongoDB(1+), MSSQL(10+), MySQL(5+)

IDEs: Emacs Cedet(5+), NetBeans(9+), Eclipse(6+), MSVC(10+)

Clouds: Amazon WS, Google Compute Engine, Self-cloud(linux/kvm,50 servers)

Web servers: Apache, Nginx, lighttpd

Virtualization: KVM/Qemu, Virtualbox, libvirt, virsh, ProxMox

Lib stack: hiredis, curl, jansson, libevent, openmp, jsoncpp, tinyxml, MFC/ISAPI

Backend stack: FastCGI, SCGI, ASCII redis protocol, sockets, sharding, multithreading

Frontend stack: RESTful, AJAX, JS+HTML Renderers, JQuery-less development

Trackers: Redmine, JIRA

PROFESSIONAL EXPERIENCE:

Sr. Software Engineer

Confidential

Responsibilities:

  • Design and building of personal data center with several racks and over than 50 servers. The hardware was built with simple minimalistic servers, running on Linux. Next level was virtualized using KVM/QEMU and ProxMox virtualization tools. The virtualization environment monitored and managed using several BASH scripts and web user interfaces.
  • Development of security and authorizing servers with ssh and cross tunneling schema
  • Designed and wrote iptables rules for system protection and security
  • Designed and installed central team GIT repository and development team work process
  • Installed and integrated Redmine service for team collaboration.
  • Architected and designed city-wide public utilities billing system DigitCITY with iterative math algorithms, distributed computations, ajax based web user interface.
  • Developed interbanking XML API protocol. Modules was written on C++ and runned on separate group of servers with load balancing and failover. Protocol accept as well as RESTful and SOAP-like injections.
  • Development of personal subscriber portal with online payment acquisition and bank integration. The system utilizes DigitCITY XML-API protocol for working with personal account information via Web-request from users. The backend of the system was developed using C for the kernel and a pipelining mechanism. The business-related code was written using C++ STD library. The kernel module connects with the web-server using FastCGI data protocol and runs other modules using self made thread safe forker piper engine using multithreading. Thus, development of modules for this framework is simply uses stream read/write iterators based on standard C++ libraries. All data products at the backend are converted to JSON and sent to the frontend which renders data into the HTML code. The project serves tens of thousands of users and runs on very old and simple 2 CPU Xeon 4GB RAM servers with Nginx on-board. All data storage uses the MySQL database, with KVS-style on the same server.
  • Development of KVS-MySQL wrapper with binary protocol and abilities for search by keys & values.
  • Developed idi gen network service for generating intersystem unique serials identifiers as plain numbers with several banks of data for the migrating from MS GUIDs to the bulk unique IDs. Service was written in plain C, with multiplexing sockets and forked multithreaded structure. For access service used utopian simple binary protocol with just "big to endian" and vise versa correction.
  • Development of qOnetime log and history system. The system consists of three parts: redis driven database storage, main kernel for connectivity and data sharding, client parts with simple ASCII-protocol and data converting tools. The kernel was written in plain C with hiredis, curl and libevent libraries. The design strategy I selected was separate-all way. Thus, we can change redis to any other KVS. Internal protocols and client protocols are need very little parsing with very fast pointer-based engine. Sockets at kernel designed using libevent non-blocking library. Client part connectivity was designed using simple blocking, non-selectable sockets, thus we can integrate client part fast in any project. Data sharding is free of indexes and fully automated. We currently use only 30 shards. But during testing and development, there are over 1024 shards. System can serve hundreds of millions records per hour, store and search both binary and text information, and is entirely master-slaved and fail-overed. At this moment we system have approximately 95 million elements of data in each shard and about 50K-90K req/sec.
  • Developed simple Python script for monitoring system up-state.
  • Developed BASH-Python duet for receiving letters from mail server, parsing attached file, divide by partners and send separate emails to the clients

Software Engineer

Confidential

Responsibilities:

  • System administration and monitoring city utilities billing system
  • Analyzed and designed web-based online billing system with consolidation over all utilities providers.
  • Development of Web-based city utilities billing system. System was developed using C++ ISAPI and CGI modules. For datastore was used MSSQL with RAD ADO adapter. Server side consist of two applications servers with base failover runned under Apache, and one database server running on Windows with MS SQL on-board. Database schema was selected non-standart with "star" normalization and adaptive nested objects paradigm.
  • Migration from parent system to new system with conversion of all financial and building data. Previous system was running in parallel with new system for about 6 months. After this, the old system was shut down and new system with online mode was presented for City Hall. After this, several connectors based on many databases were designed and developed for the system and integrated with the external billing systems. This design used separate C++ modules.

Shareware developer

Confidential

Responsibilities:

  • Design and development of three-tier Internet cafe and computer club billing system Mercossa.NetCafe, with goods selling features, screen blocking rules, traffic counting and management rules, applications rules policies. System designed with ASCII-like protocol and server side time management and connectivity control functions. There are three parts of system: server, client and administrator. Each user has individual rules and access rights. Kernel of all parts was designed with C++ MFC sockets and works via TCP protocol. Cause of shareware type of this software, binary security module with activation was integrated into the several parts of the code. This part was written in plain-C.

System Administrator and Software Engineer

Confidential

Responsibilities:

  • Built servers and server racks, with RAID and fiber channels
  • Designed network topology and servers with Internet security provisions. Set up NAT, proxy and routing for uplinks, configuring failover.
  • Installed billing engines and developed add-ons for billing systems. As kernel billing system was selected RAE, with connectivity and payment features over developed in C++ small gateway.
  • Administration of Internet cafe servers and network connectivity
  • Designed two-tier billing software for Internet cafe service, with screen blocking, applications blocking and money management. System written on C++ MFC, with sockets and buffers written in plain C.
  • Development of price list parsing and publishing system with adaptive columns analyzing
  • Analyze bottlenecks in users payments for ISP and automatization of process
  • Developed ISP prepaid card system with deep integration into the billing system and Web-portal with personal profile for each user. System was written in C++ MFC with ISAPI technology based in IIS and later re-based on Apache2 with mod isapi. All methods are designed with HTTP protocol compatibility and are thread-safe, using mutex.

We'd love your feedback!