Sergey Trofimov, Software Engineer, Berlin
[ linkedin.com/in/sarg | github.com/sarg | sarg@sarg.org.ru ]
Objective
A leading position in software engineering with autonomy and challenge.
Skills
- designing and implementing scalable distributed backend applications from the ground up
- adopting best practices in coding / documenting / deploying / monitoring
- refactoring and optimizing applications without end user impact
- coaching and mentoring teams
Summary
2010-present java webdev, 2006-2010 perl webdev. I know java, kotlin, python, perl. Linux user since 2001, can do DevOps but nothing fancy. In the Java-world, I’ve worked with Spring and Hibernate for some time and now I prefer smaller, hand-picked libraries. I “grok” things, follow best practices and keep it simple. I can work independently but it’s important for me to have like-minded colleagues for technical discussions. I believe that code readability is essential in long term so I strive for clean code and thorough documentation. I have a BSc in Software Engineering and hold a EU permanent residence permit.
Work experience
Lead Software Engineer at Revolut 03/2022 - today
Stack: java17, gcp, postgresql, jooq, ansible, teamcity
Senior Software Engineer at Revolut 09/2020 - 02/2022
Stack: java11, guice, gcp, postgresql, jooq, ansible, teamcity
Revolut is a unicorn neo-bank. I was working in the payments deparment which develops and maintains integrations with external banking systems and payment schemes.
- Developed and launched an integration with a major bank in APAC region
- Developed confirmation of payee service for UK market
- Developed FPS and BACS services for UK market
- Maintained and improved performance of a business-critical integration (processes 20% payments)
- Led and mentored a team of 3 developers
- Conducted multiple technical hiring interviews
Expert Software Engineer at Auto1 07/2019 - 08/2020
Stack: java8, spring5, aws, consul, postgresql, redis
Europe’s leading online B2B marketplace for used cars. I was working in the Core Team which focused on the internal software ecosystem. We did company-wide refactorings, supported common libraries and provided other teams with tools to increase their productivity.
- Promoted after 6 months because of outstanding performance
- Created tools to mitigate migration of ~300 java APIs to OpenAPI
- Reduced AWS costs by investigating spring-boot apps startup time and memory consumption and finding a way to lower it
- Streamlined migration to spring5/spring-boot 2.x by a complex overhaul of dependency tree and refactoring common libraries
Senior Kotlin Developer at HortiCloud 05/2018 - 06/2019
Stack: kotlin, ebean, hk2, aws kinesis/ebs/redshift/rds/s3, jetty, terraform, reactjs, clickhouse, postgresql, letsencrypt
Startup in the agricultural industry that builds a complex SaaS for greenhouses. An agent installed on a greenhouse climate computer sends vast amounts of raw climate metrics to the cloud where the data is being processed and rendered in a beautiful modern dashboard. We had set strict SLAs and enforcing them was a challenge.
- Implemented a system for unattended upgrades of our software installed on customer climate computers
- Created admin interface (reactjs) and automated routine customer supporting tasks
- Halved AWS costs for development environments by getting rid of ALB
- Sped up graph plotting by replacing Redshift with Clickhouse
- Brought in Terraform to describe and maintain AWS infrastructure
Development Lead at [SRG] 02/2015 - 05/2018
Stack: java8, spring4, spring-boot, thymeleaf, nginx, puppet, jetty, tomcat7, grafana, zabbix, jenkins, mysql, redis
Company makes estimations of real-estate properties for banks by means of ML. I started as a senior and gradually assumed more roles and ended up being responsible for all technology in the company. I worked on SOAP/REST services, developed several web apps, scraped and cleaned lots of data for ML, tuned and enhanced ML algorithms, did DevOps and hiring interviews (~40).
- Migrated company to infrastructure-as-a-code (puppet)
- Implemented monitoring and alerting (zabbix)
- Significantly reduced time for a daily data scrape by redesigning the scraping robot from scratch
- Made process of gathering data predictable and measurable by introducing metrics collection and analysis (grafana, statsd)
- Got awarded with “Employee of the Year”.
Senior Software Engineer at TezTour 09/2011 - 02/2015
Stack: java7, maven, jenkins, oracle+pl/sql, spring, hibernate, jquery, gwt, jsp
One of the biggest tour operators in Russia. I was the main developer of a CRM system for travel agencies. Also with the help of business analytic I designed and implemented a B2C solution for direct tour sales from the company website.
- Reduced codebase 3 times by upgrading gwt from 1.6 to 2.4
- Reduced boilerplate code by introducing spring annotations and lombok
- Introduced CI in the company (jenkins)
- Introduced automated Selenium testing
- Optimized PDF generation and reduced file size from 1mb to 100kb
Junior Java Developer at John Wiley and Sons 11/2010 - 08/2011
Stack: ejb, jsf, marklogic
Wiley is a well-known book publisher and they had IT department in my city. After several months sabbatical I’ve decided to pivot my career from Perl to Java and got into the company. As a junior java developer I’ve closed a lot of long-standing bug reports.
Software Developer at Yandex 01/2008 - 02/2010
Stack: perl, mapreduce, amcharts
Hugely popular “russian Google”. I was working in the statistics department. Our team was developing an internal analytics platform akin to Google Analytics, which used access logs as a source. I had to work with terabyte sized databases and to write effective aggregating SQL queries. My main duty was to implement statistical reports that were requested by other teams and used for A/B testing or KPI measurements.
- Improved UX for working with data by replacing statically generated graphs by interactive charting engine
Sabbatical 01/2008 - 12/2008
I did some freelancing, but mostly I was just enjoying my life.
Software Developer at Rambler&Co 06/2006 - 12/2007
Stack: Perl, SQL, HTML, CSS, Postgresql
Rambler is one of the oldest russian IT companies. Started as a search engine now it’s a big media holding that operates multiple websites. I was working on Rambler’s early social network “Planeta”. Despite it wasn’t that popular - the website received enough traffic so that performance started to matter. Here I learned about caches and their invalidation, database replication, scheduled backups, SQL query optimization. And obviously lots of HTML/CSS.
- Designed and implemented SMS voting system
Education
2004-2009 Moscow State Technical University Engineer of Metalworking Machines
2016-2019 Moscow State Institute of Radio Engineering, Electronics and Automation BSc in Computer Software Engineering
Constantly educate myself with various online courses and side projects.