Victor Brunko
Goal:
Software engineering position based on my skills and experience.
Summary of Qualifications:
- 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
- GoLang/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 distributed projects
- Skilled in overall system optimization, de-bottlenecking and throttling
- Skilled in data center hardware design with TPS planning
- Linux/Unix orientation
- Skilled in team building and startups
Technical Skills:
Languages: C ANSI,C99(10+), C++11(9+),Go(3+),JavaScript(6+),bash(8+),Python(3+)
Developer tools: gcc/g++(8+), clang(2+), valgrind(5+), gdb(8+), gprof(5+), make(10+)
Version control: GIT(9+), SVN(7+)
Operating systems: Linux(Debian/Ubuntu, OpenSuSE, CoreOS)(9+), Windows(15+)
Networking: TCP/UDP, iptables(6+), routing(10+), ssh(5+), etc
Hardware: Routers (all except cisco), Servers (IBM, Intel, self-built), data center from the scratch
Databases: Redis(3+), MongoDB(1+), MSSQL(10+), MySQL(5+), Cassandra(1+), ScyllaDB(1+)
IDEs: Emacs Cedet(7+), NetBeans(9+), Eclipse(6+), MSVC(10+)
Clouds: Amazon WS, Google Compute Engine, Self-cloud(linux/kvm,50 servers)
Web servers: Apache, Nginx, lighttpd, Varnish
Orchestration: Marathon, Mesos
Virtualization: KVM/Qemu, Virtualbox, libvirt, virsh, ProxMox, Docker, Vagrant
Lib stack: hiredis, curl, jansson, libevent, libuv, openm p, jsoncpp, tinyxml, MFC/ISAPI, oauth2
Backend stack: FastCGI, SCGI, ASCII redis protocol, sockets, sharding, multithreading
Frontend stack: RESTful, AJAX, JS+HTML Renderers, JQuery-less development
Trackers: Redmine, JIRA, Agile
Work Experience:
04/2016-present Verizon Innovation Lab, Waltham, MA, USA
- Go Language based REST high performance backend design and development
- Cassandra/Vagrant/Couchbase/Redis/InfluxDB/Marathon/Mesos stack mastered
- Development Environment and Ecosystem design and optimization
- Tasks distribution across QA/Dev teams
- High-performance operation analysis and planning (data/operations/throughput)
- Nginx module development and support
- Open-source initiative as a library selection and further support
- Authentication and external integration services (external and internal credential services)
- Multiple R&D into POC projects
05/2015-04/2016 Freelance experience, (Work from home from Cambridge, MA, USA)
- Clients are: RevAPM, Nuu:bit, Visualitics, Mans KJ Shapshak, Intelligence asset management
- Big data high loaded projects with over than several millions of personal data involved with All In Memory way with several connections and sharding between machines from C/C++/GoLang and Bash routines.
- Web UI design at AWS based virtual machines based on GoLang as backend API and redis library and AngularJS as a frontend part
- Varnish caching VCL experience hard configuring using templates
- Nginx caching and front-ending solution hard configuring using templates
- Varnish and Nginx automatic configurations for the caching project using Jinja (template engine)
- QT5.5 based application development (Linux based) with a connection through REST to the GoLang API
- Redis based solution for geo-identification and natural language processing (service-daemon with API)
- De-identification algorithm for the medical institution (Personal data handling) based on C++ and GoLang source
08/2007-10/2014 Sr. Software Engineer / CTO, 1LineSoft Ltd., Krasnodar, Russia
- 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 authorization 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. With a GoLang and FastCGI bonded together
- 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 the system have approximately 95 million elements of data in each shard and about 50K-90K req/sec. Several libraries was written for a different environment: C/C++/C++MFC/C++ISAPI/ANSI C/GoLang with a similar interfaces and logic.
- 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
10/2005-07/2007 Software Engineer, City Utilities Billing Company, Neryungri, Russia
- 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-standard 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.
10/2003-07/2006 Shareware developer, Self-employment, Neryungri, Russia
- 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.
07/2000-07/2005 System Administrator and Software Engineer, Internet Service Provider, Neryungri, Russia
- 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.
Contact Info:
Full name: Victor Brunko
Currently resides in Boston, MA / Cambridge, MA
No sponsorship needed. Local.
Cell: +1 857 999 5670
E-mail: wildneuro@gmail.com
LinkedIn: http://lnkd.in/bpucXWE
References:
David A. Cohen, Cambridge, MA - +1.857.919.9291
Alexander Malofeev, Krasnodar, Russia - +7.961.501.5914
Education:
1999 - 2003 - B.S. in Applied Mathematics and Computer Science, North-Eastern Federal University (former Yakutsk State University), Neryungri, Russia
2003 - 2004 - M.S. in Applied Mathematics and Computer Science, North-Eastern Federal University (former Yakutsk State University), Neryungri, Russia