Skip to content

Latest commit

 

History

History
356 lines (276 loc) · 10.1 KB

Andrei_Punko_CV_(eng).md

File metadata and controls

356 lines (276 loc) · 10.1 KB

Andrei Punko

Senior Java backend developer with 13-years experience in the creation of web- and distributed applications

  • Main technology stack - is Java with a standard set of frameworks for backend development
  • Have hands-on experience with Git and CI tools
  • Able to use Unix command line in the scope of usual backend tasks
  • Have knowledge of common algorithms and data structures
  • Able to cover code with a wide range of tests: unit / integration / functional / performance
  • Have some experience in math, physics and numerical modeling
  • Likes clean & tested code, refactoring, write documentation

Contacts

  • Telegram: @andreipunko
  • E-Mail: andd3dfx@gmail.com
  • Skype: andrei.punko

Links

Education

  • Belorussian State University. Faculty of Physics. 5 years of education
    • Qualification "Physicist-Researcher"
    • Specialization "Solid-state physics"
  • English - B1 (Intermediate)

Business-Domains

  • FinTech
  • Entertainment
  • Blockchain
  • Documentation
  • Travelling

Key skills

  • Java 6-17 and a bit of: Groovy, Kotlin, Go, Lua, C, Python
  • Spring (Core, Boot, Data, Rest), Jackson, MapStruct, Lombok, Akka, Quartz, Camel
  • JPA, Hibernate, iBatis, Liquibase / Flyway, SQL
  • H2, Oracle, PostgreSQL, Redis, Tarantool
  • JUnit, Mockito, JMock, Wiremock, Testcontainers, Spock, Gatling, k6
  • Maven, Gradle
  • Nexus, JFrog
  • Jenkins, TeamCity
  • ActiveMQ / RabbitMQ
  • REST API, Microservices, ELK, Grafana
  • AWS, Docker, Openshift
  • Corda DLT (certified Corda developer)
  • Software Development Principles and Concepts, Design Pattern (MVC, MVP, SOLID)
  • Intellij IDEA, Postman, SoapUI, DBeaver, SQL Developer
  • Git, Gitlab, Bitbucket and a bit of: SVN, Perforce
  • JIRA, Rally, Confluence, Swagger, ClickUp

Additional information

  • Location: Minsk, Belarus
  • Timezone: GMT+3
  • Likes: coding, swimming
  • Not interested in projects related to gambling, casino, forex, dating or other immoral activity

Companies / Projects

Bell Integrator

2023-Jun - now (1 year 3 months)

  • Position: Senior Software Engineer
  • Customer: Sberbank (Russian bank)
  • Project: Development of microservices for backend of a bank
  • Team Size (devs): 8

Environment:

  • Java 15/17
  • Spring (Boot, Rest, Data), Lombok, MapStruct, Docker, PostgreSQL, Liquibase
  • JUnit, Mockito, Testcontainers
  • Gradle, Jenkins
  • Git, Bitbucket
  • Intellij IDEA, DBeaver
  • OpenAPI, Swagger

Tasks performed:

  • Integration with external REST APIs
  • Development of new APIs using OpenAPI approach
  • Code refactoring & review

iTechArt

2022-Jul - 2023-Jan (7 months)

  • Position: Senior Software Engineer
  • Customer: Altir (American startup)
  • Project: Migration of Python-based service to Java for Soundful product
  • Team Size (devs): 1-3
  • GitHub profile on a customer account: https://github.com/apunko-altir

Environment:

  • Java 11, Python 3
  • Spring (Boot, Rest, Data), Lombok, MapStruct, Docker, PostgreSQL, Liquibase
  • JUnit, Mockito, Testcontainers, JMeter
  • Gradle, Jenkins
  • AWS S3
  • Git, GitHub
  • Intellij IDEA, PyCharm, Postman, DBeaver
  • ClickUp, Swagger

Tasks performed:

  • REST API design & implementation
  • Migration of Python code to Java
  • Implementation of hybrid tests for comparison results of run migrated Java code and Python code
  • Documentation preparation, knowledge transferring, code review, preparation & showing demo
  • Organization of knowledge transferring sessions
  • Manage team of 3 people

Artezio

2021-Apr - 2022-Apr (1 year)

  • Position: Lead Software Engineer
  • Customer: VTB (Russian bank)
  • Project: Development of ATM backend (7 services)
  • Team Size (devs): 9 (half year), 3 (half of year)

Environment:

  • Java 11, Lua
  • Spring (Boot, Rest, Data), Lombok, MapStruct, OkHttp, Tarantool, Docker
  • JUnit, Mockito, Wiremock, Testcontainers, JMeter, Sonar
  • Gradle (composite build), TeamCity
  • OpenShift, Grafana, Prometheus, Fluent Bit, Jaeger
  • Intellij IDEA, Postman, Git, Bitbucket
  • Jira, Confluence, Swagger

Tasks performed:

  • REST API design & implementation
  • OpenShift services configuration adjustment
  • Setup of logging, monitoring, tracing, audit for services
  • Documentation preparation, knowledge transferring, code review
  • Participation in performance testing

Epam Systems

2020-Sep - 2020-Oct (2 months)

  • Position: Senior Software Engineer
  • Customer: Amazon
  • Project: Development of software for a home security device
  • Team size (devs): 5

Environment:

  • Proprietary framework for web-services development
  • Proprietary build tool
  • Git, Docker
  • AWS cloud
  • Intellij IDEA

Tasks performed:

  • Implement API & tests for it
  • Development of some CI pipeline parts
  • Painful usage of proprietary tools on VM environment

2019-Nov - 2020-Aug (10 months)

  • Position: Senior Software Engineer
  • Customer: Epam Systems (Outsource company)
  • Project: Development of Blockchain-based app prototypes, based on Corda DLT for potential customers
  • Team size (devs): 3

Environment:

  • Java 8, Groovy, Go
  • Spring (Core, Boot, Rest, Data), Lombok, MapStruct
  • Corda, Hyperledger (Composer, Fabric)
  • H2, PostgreSQL, LevelDB
  • JUnit, Mockito, Spock, Gatling, k6
  • Gradle, Jenkins (with DSL)
  • Git, Gitlab
  • Intellij IDEA
  • Confluence, Swagger

Tasks performed:

  • Design and implement REST API
  • Functional/Performance tests implementation
  • Demo preparation & demonstration
  • Documentation preparation
  • Passed Corda certification (private blockchain)
  • Developed several Blockchain-based application prototypes

2019-Apr - 2019-Oct (7 months)

  • Position: Senior Software Engineer
  • Customer: QVC (German retailer / TV-shop)
  • Project: Support development effort for QVC company
  • Team size (devs): 3

Environment:

  • Java 6
  • Jackson, iBatis, JiBX, Spring (Core, Rest)
  • JUnit, Mockito
  • Oracle Siebel CRM, IBM WebSphere
  • Maven, Jenkins
  • SVN
  • Intellij IDEA
  • JIRA

Tasks performed:

  • Implemented integration with external Payment Authorization API with security certificates support
  • Implemented batch jobs with required business logic
  • Documentation preparation

2018-Nov - 2019-Feb (4 months)

  • Position: Senior Software Engineer
  • Customer: Microsoft
  • Project: Development of doclet for creation of Java docs using DocFx approach from Microsoft
  • Team size (devs): 1
  • GitHub repository on a customer account: https://github.com/docascode/docfx-doclet

Environment:

  • Java 11
  • Jackson
  • JUnit, Mockito, Jacoco
  • Maven
  • Git, GitHub
  • IntelliJ IDEA

Tasks performed:

  • Design application architecture
  • Implementation of doclet using modern approach introduced in Java 9

2018-Jun - 2018-Nov (5 months)

  • Position: Senior Software Engineer
  • Customer: Epic Games (Developer of games and tools)
  • Project: Play an owner role of one of microservices for Epic Games Social Platform
  • Team size (devs): 10+

Environment:

  • Java 8
  • Spring, JPA, Hibernate, JAX-RS
  • JUnit, Mockito, Gatling
  • PostgreSQL, Redis
  • AWS (EC2, Route53, Elastic, Aurora, CloudWatch)
  • Git, GitHub, Perforce
  • Gradle, TeamCity
  • IntelliJ IDEA
  • JIRA

Tasks performed:

  • Made DB performance optimizations
  • Design & implement Cursor API (client cursor as alternative to pagination)
  • Migration VCS from Perforce to Git. Setup of CI for that (jobs, pipelines, notifications)

2017-Jun - 2018-Feb (8 months)

  • Position: Senior Software Engineer
  • Customer: Intercontinental Hotels Group (Worldwide hotel network)
  • Project: Development of a loyalty system for IHG hotels network
  • Team size (devs): 40+

Environment:

  • Java 8, Groovy
  • Spring (Core, Boot, Rest, Data, Security), Akka, JPA, Hibernate, GWT
  • JUnit, Mockito, JMock, Spock
  • Oracle, Liquibase, Flyway
  • ActiveMQ, RabbitMQ
  • Git, Bitbucket
  • Maven, Gradle, Jenkins
  • IntelliJ IDEA, SoapUI, SQL Developer, DBeaver
  • Rally, Swagger, Stash

Tasks performed:

  • Design and implement REST API
  • Development of tool to perform members migration from an external system into an existing loyalty system with applying to them benefits, tier-level changes, etc. according to business rules
  • Functional tests implementation
  • Demo preparation & demonstration

Godel technologies

2016-Nov - 2017-Feb (3 months)

  • Position: Java Developer
  • Customer: Extra Energy (British energy provider)
  • Project: Development statistics collector from smart electric counters for European energy supply provider
  • Team Size (devs): 3

Environment:

  • Java 8
  • Spring (Boot, Data, Cloud, Integration)
  • JUnit, Mockito
  • JPA, PostgreSQL, Liquibase
  • Maven, Jenkins
  • Git, Bitbucket, Docker
  • Intellij IDEA
  • Jira, Confluence

Tasks performed:

  • CI setup
  • Involved in architecture design activities
  • Participated in R&D activities

Epam Systems

2012-Apr - 2016-Nov (4 years 7 months)

  • Position: (Junior -> Middle -> Senior) Software Engineer
  • Customer: Intercontinental Hotels Group (Worldwide hotel network)
  • Project: Development of a loyalty system for hotel network
  • Team Size (devs): 40+

Environment:

  • Java 6/7
  • Apache CXF, Spring, Apache Camel, Quartz, GWT
  • JUnit, JMock
  • Oracle, JPA, Hibernate
  • Maven, Jenkins
  • Git, Bitbucket
  • JMS, ActiveMQ
  • SoapUI, NetBeans / Eclipse / IntelliJ IDEA
  • Rally

Tasks performed:

  • Designed & developed set of Quartz jobs
  • Adapt existing/Developed new UI components for 2 UI Apps (using GWT)
  • Add support of second (Chinese) language to the existing UI with translation ability
  • Developed tool for batch tokenization of 180 million credit cards
  • Mentoring & support of new team members

2011-Oct - 2012-Apr (6 months)

  • Position: Junior Software Engineer
  • Customer: -
  • Project: Studying in Java laboratory
  • Team Size (devs): 1

Environment:

  • Java 6
  • Spring, JPA, Hibernate, SQL, JavaScript, jQuery, JSF
  • Oracle
  • NetBeans, Tomcat

Tasks performed:

  • Implemented 10 typical Java-laboratory tasks & bonus task - "Reversi" game