Senior Software Developer Resume
OBJECTIVE:
To find interesting job in software development where I can contribute to the project I can be proud of.
SUMMARY:
- 24 year of commercial hands - on software development
- Experience with development of b2b, entertainment, decision making and content management software
- Experience with development of distributed systems, full stack development of web applications, development of APIs, multiplatform client side applications and system software
- Experience with Windows and Linux, Python/Java/C++ stacks, SQL and noSQL DBs, various App Servers, distributed frameworks like Thrift and tons of APIs & SDKs
- Experience with working in startup companies. Understanding of startup culture
- Experience with outsourcing and geographically dispersed teams
- Worked on projects on my own / Led teams of 3 to 12 people
- There are number of projects I'm really proud to be a part of.
TECHNICAL SKILLS:
Architecture: distributed, backends, webapps
Stacks: Java (SE) / Python (Django) / C++ (Linux)
DBs: PostgreSQL / MySQL / CouchDB / MongoDB
UI: Actionscript, Javascript
Containers, Cloud: Docker, AWS
APIs: Web Services, Microservices.
Blockchain: Ethereum, Solidity 5, IoT
PROFESSIONAL EXPERIENCE:
Confidential
Senior Software Developer
Responsibilities:
- Creating Java Spring Boot streaming apps for new generation of API
- Creating data interface for Hadoop Data Lake
- Creating Python Airflow components
- Creating C# component to stream data
Confidential, LosAltos, CA
Full Stack Software Developer
Responsibilities:
- Moving the system from Heroku to AWS
- Moving static content to CDN (Fastly)
- Improving performance (full stack work: JS/CSS, # of calls to server, caching, DB)
- Hooking up analytics using Google Analytics and Google Tag Manager
- Developing new functionality (full stack: both for users & back office)
- Developed Ethereum smart contract for ICO using Solidity 5.
Software Developer
Confidential
Responsibilities:
- Designed and implemented caching subsystem
- Added support for GNIP 2.0 API
- Added support for Facebook private messages
- Developed internal API (Web Services/JSON)
- Developed business logic for various use cases
- Switched middle layer to RabbitMQ cluster
- Worked on internal message routing.
- Worked on reporting.
Confidential
Full Stack Software Developer
Responsibilities:
- Changed bridge implementation from Java to Python multiprocessing one. Added support for BACnet protocol and WebSockets interface.
- Implemented user analytics portal backend using Web Services using Jersey(JAX-RS)/ JAXB(XML)/Jackson (JSON).
- Added more functionality to web client using ActionScript. Some examples: heat maps, uploading & processing of images, some standard UI: grids, forms, graphs etc.
- Implemented build system for java components using Ant
- Added new features for pipeline J2SE servers & CouchDB
- Implemented a solution to intercept videos with pre-roll, mid-roll, or post roll ads for flash and non-flash players with ability to collect stats (Javascript, Piwik)
- Created light web client using AngularJS
Confidential
Software Developer /Architect
Responsibilities:
- Built using: Python/Celery using RabbitMQ as a broker. MongoDB for analytics, PostgreSQL for content, Redis as cache. Django/Backbone for webservers.
- Gensim for topic modeling. Interfaces with Eloqua, Salesforce, Embedly, Twitter & Linkedin. Exposes its own REST API. Hosted on Amazon: EC2 & S3.
- Initial architecture & 2 major refactorings to address performance & scalability issues
- Algos for content prediction. Work with the creator of gensim library on topic modeling
- Mailer. Solution for fast rendering and sending large amounts of emails.
- A lot of day-2-day work on content & analytics involving both DBs & app servers.
- API for frontend
- Interfaces with 3rd party systems: Twitter, LinkedIn, Eloqua using REST/OAuth2
Confidential
Software Developer
Responsibilities:
- Development of middle layer servers (large scale data processing/caching/transport) using C++ & Python as an API for front end
- Worked on both framework-type tasks & service specific tasks.
- Created common framework (hosting, routing, version control, upgrades etc.) for a set of middleware servers (C++, STL, Boost, Thrift)
- Was Involved in defining architecture of the whole system
- A lot of work on performance improvements
Confidential
Development Manager / Architect
Responsibilities:
- Architecture
- Management of 3 local teams (WebUI, DB, fat client)
- Management of remote team (music device)
- Several special projects (work on daily basis with developers)
- Performance improvements of game server for mobile clients
- Post-manufacturing sequence of automatic installation, self-configuration & registration of client music device
- Redesign of transport layer (New custom protocol, Apache MINA)
- Recommendation engine: for music search results (Java, C++, SQL Server)
Confidential
Team Lead Servers / Lead Developer
Responsibilities:
- At the early stage of the project, participated in creation of the prototype covering main integration points within the system. (Web Portal - DB - Game Severs)
- Defined technologies to be used in Java servers: wrapper for JDBC, implementation of AJAX, type & version of EJBs, type & version of JBoss.
- Communication link between Gaming Portal server and Gaming Proxy server. Proprietary binary protocol over TCP-IP, performance tuning, adjusting for use with clustered Oracle.
- Worked on replication of JBoss servers (AOP)
- Analyzed potential security issues in web servers using results of web site scan service emulating common hacker attacks
- Was responsible for certification of Java servers in order for them to work with payment processors (BIBIT & Pay Pal)
Confidential
Team Lead Servers /Lead Developer
Responsibilities:
- Designed and implemented common component to support card table games
- Design and implemented client framework: a set of components implementing non-game related functionality
- Partially (with another developer) designed and implemented an extension to the network protocol for support of multiplayer games.
- Designed routing layer within messaging subsystem
- Conducted design reviews for components
- Provided high-level design and implementation of the failover mechanism for distributed server application
- Participated (with another developer) in refactoring of transport layer of the system: mostly optimizing threading and resolving bottlenecks from performance tests
Confidential
Senior Software Developer
Responsibilities:
- Immersion cinema C++, MFC, STL, ATL, MSVC, DirectShow, Macromedia Director
- Poetic Dimensions (and a client) C/C++, IRIX, OpenGL Performer, TCP/IP, Windows, MFC
- Designed and developed key modules for the Immersion backbone using COM/ATL: data transfer module (own implementation of Reliable UDP protocol) and registration module
- Designed and developed new version of communication protocol between PDRT server and PDRT controller running on Windows.
- Designed and developed new user interface for PDRT controller.
Confidential
Senior Software Developer
Responsibilities:
- Developed end-2-end file transfer subsystem including work on low level (Winsock, TCP/IP), Hotline protocol (transactions), Hotline “middleware” (client and server file managers), GUI (transfer manager and file panes) and data (designed and developed XML structures, describing transfers).
- Refined low-level connection mechanism between the client and the server while working on the task above
- Added support for resumable transfers
- Designed and developed support for windows shortcuts for file sharing and transfers subsystems.
- Designed and developed Community and Service modules, key parts of the Hotline 2.0 architecture.
- Improved drag-n-drop support on Windows side.
- Developed several widgets, such as tables, trees, and special combo-boxes. All widgets were skinable and customizable via XML