- Senior Infrastructure EngineerNatimatica2015 - PRESENT
Technologies: Python, React.js, Kafka, AWS (DynamoDB, Athena), Spark, FFMpeg
- Developed and supervised an infrastructure for quick evolution and prototyping a complex recommendation system. The system had to handle huge amounts of data with complex real-time computations needed for a large family of algorithms in ongoing development by a dedicated team of researchers.
- Accommodated practices and the system for solo work, as I was the only developer on the team working on the infrastructure.
- Explored a variety of methods for ensuring availability and performance which would be approachable without hiring a dedicated team.
- Developed and oversaw everything except the actual recommendation algorithms. Handled speed, security, monitoring, useful business metrics and alerts, performance assessments, safe storage and handling of the data, systems for data analysis, crawling of clients’ websites, cost optimization, smooth deployment system and deployment practices, developer experience of the science team, user experience of the clients and UI prototypes, working with the interns and contractors, as well as communication with the partners handling pieces of infrastructure for us (CDNs, storage systems, partner DMPs, statistics systems, etc).
- Implemented a number of prototypes for rich multimedia advertising using technologies ranging from the modern browser APIs to complex FFMpeg scripts.
- Debugged and fixed issues arising from the complex asynchronous interaction of the browsers, server apps, and other contributing pieces.
- Ran a lot of small experiments trying out different ways to handle infrastructure problems, assessing costs and complexities of the development.
- Constantly worked on improving the developer and debugging experience for the science team and the data analysts.
- Senior DeveloperGdeSlon2014 - 2016
Technologies: Python, NLTK, Node.js, Redis, MongoDB, Postgres, Elasticsearch, Graphite, Varnish
- Supervised the repair and refactoring of a large codebase of complicated NLP-related tools.
- Stabilized, improved and optimized home-grown text processing and search algorithms.
- Improved the codebase enough to allow simultaneous working on it of several developers without special knowledge.
- Created a transactional job manager for internal use, based on Node.js and Redis, with special attention to consistency in cases of outages.
- Created a smart system of outsourcing data processing on Amazon EC2 spot instances, able to adjust to fluctuating prices and take into account different instance sizes.
- Started building a culture of responsible monitoring of servers and services.
- Supervised work of junior developers, helped them, and taught them to their delight.
- EngineerApp Monsta2013 - 2013
Technologies: Python, Twisted, Hadoop, Pig, AWS, Chef
- Implemented a reliable large-scale deployment system for an unstable environment.
- Ensured monitoring of critical technical and business processes.
- Implemented a reliable data gathering and analysis system.
- Repaired a system urgently during several unpredictable MongoDB-related outages.
- CTOUploadcare2011 - 2013
- Designed the technical side of the product, including features that would interest the developers.
- Designed and implemented the internal architecture for reliability and minimal inter-dependency of components.
- Designed the main set of APIs, concentrating on ease of use and future scalability.
- Efficiently and reliably implemented the CDN module with on-the-fly image processing.
- Interviewed and hired several senior developers.
- Wrote or supervised the writing of libraries for 6+ programming languages and numerous frameworks.
- Lead DeveloperLabbler.com2011 - 2012
Technologies: Python, Django, Solr, PostgreSQL
- Implemented a fast, reliable search feature operating across different types of objects and respecting permissions.
- Allowed for convenient file uploading, editing, and a conversion system.
- Lead DeveloperBuzzoola.com2011 - 2011
Technologies: Django, MongoDB, Solr
- Architected a continuous stats collector from different video hostings.
- Handled automatic video conversion from many formats to the ones accepted by video services.
- Architected and implemented advanced reports and an analytics constructor.
- Lead DeveloperWhitescape2008 - 2011
- Chose the set of technologies as the first engineer of the outsourcing company, focusing on long-term reliability and practicality.
- Led development of numerous small-scale projects, as well as several advanced projects.
- Interviewed and hired many great developers.
- Released several internal tools and libraries as open-source.
- Maintained high standards for quality of code, monitoring, and results across the whole company.
- Helped and mentored some of the junior developers.