Mike is a seasoned full-stack developer and software architect with in-depth knowledge of Node.js, Ruby on Rails, and React. He has a unique ability of understanding and translating business requirements into development roadmaps. In his previous roles as a team lead and CTO, he has developed strong project management and communication skills.
Scaled a centralized package tracking system to process 160 million shipments and 2+ billion status updates per month.
Collaborated with external partners, such as UPS, DHL, and Parcel Perform, designing and building state-of-the-art integrations. This work led to much higher throughput, lower latencies, and cost savings of $500,000 per year.
Mentored junior engineers through pair programming and code reviews, involving them in higher-level technical design work and department-wide show and tells. Helped build promotion case from an intern to the developer, skipping the junior level.
Developed a tool indexing more than 30 million unique YouTube channels weekly, using a mix of API access and scraping.
Rebuilt a legacy jQuery front end in React from scratch for both Stagelink customer-facing products; moved away from a monolithic Rails app towards API-based services.
Implemented and optimized a show-attendance prediction algorithm designed by the company's CEO. Deployed the new code to production—increasing prediction accuracy by 15% and increasing the calculation speed three-fold.
Hired and led a team of six developers—performing code reviews and training sessions, having one-on-one meetings every two weeks, and mentoring junior developers.
Designed a voting fraud detection system that analyzed tens of thousands of votes per day to identify fake users, multiple votes by the same person, and other abuses.
Implemented an extensible payment back end, interfacing with multiple payment providers, including PAYMILL, Stripe, PayPal, SOFORT, and Wirecard.
Developed a search engine for a music-streaming platform consisting of more than 15 million songs. The search engine was based on Elasticsearch and MongoDB and was deployed to a cluster of EC2 servers.
Finetuned a search engine configuration based on artist popularity and measurements of hit/miss ratio for presented results.
Exposed the search engine to mobile, web, and desktop applications by building a JSON-based API service in Rails.
Implemented a recommendation service based on user preferences, content team picks, etc.
Developed a caching-layer based on Memcached (for in-app caching) and Varnish (for page and endpoint-level caching).
Integrated LiveChat with various third-party applications including Zendesk, Salesforce, Highrise, and Zoho to pull customer data into a chat window.
Built an outside-facing REST API, wrote docs and sample code, helped outside developers integrate with it, and troubleshot issues.
Created chat plugins for popular eCommerce solutions (Shopify, Magento, WooCommerce, and the like).
Developed a wizard allowing LiveChat clients to customize their chat experiences for their users by changing the color scheme for the chat window, adding pre-chat questions, and a post-chat survey.
Built an API for an internal dashboard showing sales and usage statistics.
Designed and implemented a quality assurance application—including a dynamic survey generator and HTML5 audio player. I also developed a back-end service that selected a random sample from a pool of all sales calls recorded on a previous day.
Wrote, specified, designed, and developed an applicant-tracking system according to HR department requirements.
Migrated the internal apps from a legacy homegrown PHP framework to Symfony.
Being the CTO, I was responsible for all sorts of things at Stagelink. In the day-to-day work, I was coding and managing a team, occasionally jumping into server and AWS administration, developing product roadmaps and writing specifications, performing code reviews and one-on-ones with developers, negotiating with designers, and so on.
The things that I'm most proud of:
• We went through two major redesigns of the website while improving usability, performance, the looks, and user satisfaction.
• I successfully moved away from the monolithic Rails app towards an API—cleanly separating the front-end from back-end with some background services performing the heavy lifting (like emails, and so on).
• I made the right technical decisions by separating different parts of the product codebase and making them communicate via an API. This saved us from many headaches when scaling-up.
• I helped new developers quickly get proficient with Stagelink's code and systems—to decrease the bus factor.
Pipedrive is a type of CRM software, and we used it a lot at Stagelink to track our sales efforts. Based on the YouTube scraping results, we were sending cold emails to matching artists and tracked the progress in Pipedrive.We started to use a gem to make our lives easier, but the code was pretty terrible. In my free time, I started refactoring it and bringing the quality (and code coverage) up a bit—we are planning to release a new version at some point.Work Done:• Removed recursion from the paging-handling code.• Moved the HTTP calls out of the data objects.• Performed general cleanup of the code.• Updated the dependencies and made it work with the current Ruby versions.