Andrey Tabakov
Lead Software Engineer

I have always been passionate about software engineering and creating solutions that make a difference. As a Lead Software Engineer, I apply my programming skills and knowledge in various sectors, such as finance, healthcare, government, social and gaming. Some of the projects that I have worked on include a web platform to assist oncologists in making decisions, and web applications for making interactive reports on car traffic for business dept. Now I participate in the development of an AI-based solution that allows for data-pipeline creation without coding. I am always updating my skills and learning new languages, techniques and technologies. I design robust and efficient architectures for high-load microservices, ensuring scalability, reliability and security. My goal is to lead a team of talented developers and deliver innovative and high-quality products.


Education: Master of Computer Science. Saint Petersburg State Electrotechnical University "LETI".

Interests: Backend, Frontend, Mobile, AI, NLP. Check out my Github profile. I contribute to open-source projects.

EXPERIENCE
1
Tabula
Lead Software Engineer
Current Position (Since July 2021)
2
Aluna Health
Lead Software Engineer
November 2017 - July 2021
3
Prism HR
Remote Full-Stack Developer
May 2019 - February 2020
4
Biarum
Junior Backend Developer
Middle Full-Stack Developer
Senior Full-Stack Developer
July 2017 - July 2021
5
Siemens
Intern Software Developer
July 2016 - July 2017
  • Current Job
  • Position: Lead Software Engineer
  • Since: July 2021

Tabula.io is no-code self-service data preparation tool that makes the entire process of working with data simple, visual, and accessible to anyone in your company.
Tabula enables visual exploring, cleaning, and preparing data for further analysis, reporting, and machine learning. It is an intelligent visual tool with smart suggestions and type detection, so you don’t need to write code or SQL to make complex transformations.
Tabula was built natively for modern cloud data warehouses such as Snowflake, Google BigQuery. Behind the scenes, Tabula executes native SQL within your cloud data warehouse leveraging the performance and scale of the cloud. You can build the entire analytics workflow inside your data warehouse. No need for ETL. No data is moved around.
  • Position: Lead Software Engineer
  • Since: November 2017
  • Until: July 2021
As the lead software engineer at Aluna Platform, a cloud-based system for medical professionals to support clinical decisions, I built the project from scratch using Java, Kotlin, Spring Boot 2, Gradle, Angular, TypeScript, PostgreSQL, Intersystems IRIS, and Redis. I worked with a team of 11 people, including developers, QA, UI/UX, BA, PM, CTO, and CEO. I accomplished several challenging tasks, such as creating a natural language processing algorithm for processing clinical notes using Apache Ruta Engine, InterSystems IKnow, and CTakes; developing a rule management system for clinicians; building a system for clinical recommendations based on rules and patient medical records; and implementing the FHIR protocol for sharing patient data. In addition to coding, I also reviewed code for my team members, wrote technical specifications for tasks, and assisted with coding issues. I used Atlassian Jira for task management and followed the Kanban agile methodology with some scrum features for project management.
  • Position: Remote Full-Stack Developer
  • Since: May 2019
  • Until: February 2020
I developed new features for the Benefit Enrollment module as a remote web developer at BIARUM. I used React, GraphQL, AWS (Lambda), Serverless, and NodeJS as the core technology stack. I also helped migrate the old system from Unibasic, Scala, Unidata, and AngularJS to the new stack. I analyzed forms to ensure a successful migration. I worked with a team of 10 people, including product owners, scrum master, QA, team lead, and UI/UX designer. I attended daily meetings on RingCentral\GoToMeeting and followed the scrum methodology using Atlassian Jira for project management.

  • Position: Full-Stack Developer
  • Since: July 2017
  • Until: July 2021
As a full-stack web developer at Biarum, I worked on several projects related to healthcare and car traffic data using Java, Spring Boot, Angular, Leaflet, PostgreSQL, and Redis. I refactored Java code and implemented functionality for creating automated reports in PPTX using the Apache POI framework. I also developed algorithms for interacting with maps (shapefile) in Java and used PostGIS for GPS coordinates in PostgreSQL. Besides development, I set up various server environments on Ubuntu, CentOS, Windows Server, MacOS X, including Tomcat, SSL, Apache, Nginx, PHP, Node, PostgreSQL, MySQL, etc. I used TeamCity for continuous integration and SonarQube for code quality analysis. I consulted and reviewed code for other developers in some projects. I used Atlassian Jira for task management and followed agile methodologies such as Scrum, Kanban, XP for project management. I also conducted technical interviews for software engineers of different levels.
  • Position: Intern Java Developer
  • Since: July 2016
  • Until: July 2017
As an intern web developer at Siemens, I developed the server and client-side of two applications using Spring, JSP, AngularJS, and PostgreSQL. One application was related to rail traffic and involved rewriting a heuristic algorithm in Java from Python. The other application was about designing medium and low voltage networks and involved contributing to the architecture design and development from scratch. I learned how to debug and test server applications effectively. I also used Git for team collaboration. In addition, I installed, configured and integrated CI systems (Jenkins, TeamCity) and used Redmine for reporting and project management. I followed the Scrum agile development methodology with elements of XP.
SKILLS
  • Programming Languages
    Strong knowledge: Kotlin, Java, JavaScript/TS
    Good knowledge: C/C++, Python, Intersystems Caché
    Basic knowledge: Rust, Go, C#, PHP
  • Backend Frameworks
    Strong knowledge: Ktor, Spring, Hibernate
    Basic knowledge: Nest.js, Django, Express, Gin
  • Frontend Frameworks
    Good knowledge: React.js, Angular
    Basic knowledge: Vue.js
  • DevOPS
    Strong knowledge: Linux, Docker, CI/CD pipelines, Linux, Gradle, Cloud
    Good knowledge: Bash, Kubernetes, Maven, Monitoring, Terraform
  • Data
    Strong knowledge: SQL
    Good knowledge: NoSQL
    Basic knowledge: dbt, Trifacta, airflow, Kafka, Redis, Graph Databases
  • Software Design
    Strong knowledge: Client-server, Distributed and Cloud Computing, Microservices, Agents, Layered Pattern etc.
    Good knowledge: Event Driven Architecture
What else do you know?
I am always eager to learn new skills and technologies and apply them to solve real-world problems. I have a solid background in software engineering and a passion for creating high-quality products. Of course, I cannot list all the skills and technologies that I have encountered in my life. I have worked on quite diverse projects, so I have faced many techniques. I have experience in developing Android mobile applications using Java and Kotlin, as well as some exposure to Swift for iOS development. I have also worked with map-based applications that required database extensions like PostGIS for calculations. I have used many other skills and technologies in various projects.
Some of the skills and technologies that I have used in my projects are: Git, Github Actions, Jenkins, SonarQube, Jetty, Tomcat, Heroku, AWS, Intersystems IRIS, Apache POI, REST, GraphQL, Websockets, RabbitMQ, OAuth2, Keras, Tensorflow ....