Ivan Team Lead

Back-End Web, Full Stack Web

Summary

- Experienced software engineer with a strong background in computer science and software engineering.
- Proficient in programming languages such as JavaScript, TypeScript, and Python.
- Skilled in both front-end and back-end development, with expertise in Node JS, Nest JS, and FastAPI.
- Familiar with various databases including PostgreSQL and MongoDB.
- Experienced in cloud technologies such as AWS and DevOps tools like Docker and Kubernetes.
- Knowledgeable in software development methodologies such as Scrum and Agile.
- Strong problem-solving and analytical skills, with a track record of successfully delivering complex projects.

Work Experience

Team Lead, INVESTMENT PLATFORM

Duration: 04.2022 – Till now
Summary:
  • Online investment service based in London
  • The platform is one of the biggest providers of individual savings accounts and pensions
  • The user can buy and sell assets, making a profit on the difference in price
  • He could also look at his personal statistics on purchases and sales
Responsibilities: Managing team of 5 developers by providing daily meetings, plannings and retrospective; Providing leadership and guidance in backend development, ensuring the implementation aligns with project goals; Overseeing the design of databases, ensuring efficiency, scalability, and alignment with project requirements; Event-driven architecture design; Participating in technology selection; Taking a lead role in designing and implementing RESTful APIs, ensuring they meet industry standards and project specifications; Feature development; Collaborate with client and colleagues to determine functional and non-functional requirements for new software or applications; Design project architecture from scratch; Setting up communication with MongoDB database using Mongoose; Establishing a connection between AWS Lambda and API Gateway; Creating EventBridge functionality for managing investment risks and receiving real-time portfolio updates; Utilizing serverless architecture within the SAM framework, incorporating S3 storage, Lambda functions, and EventBridge. Supporting and bug fixing; Performing code reviews; Onboarding newcomers; Integration with third-party API.
Technologies: JavaScript, TypeScript, Python, Node JS, Nest JS, FastAPI, Strapi, PostgreSQL, Prisma, MongoDB, Mongoose, JWT, Cron, Docker, Docker Compose, AWS (S3, Lambda, API Gateway, EventBridge, SAM, CloudFormation), Webpack, Swagger, Kubernetes, Git, GitLab, GitLab CI/CD

Software Engineer, RECRUITING PLATFORM

Duration: 01.2021 – 04.2022
Summary:
  • Software for recruiting employees in the industrial sector (construction workers, drivers, laborers)
  • The application includes roles (Managers with Recruiters), where recruiters fill in information about candidates, keep accompanying information about them (where they are from, specialization, languages, experience, etc
  • )
  • Recruiters can also transfer their candidates to other recruiters when updating specific candidate information (for example, after a job interview or changing the offer amount)
  • Managers are notified, and so on
Responsibilities: Full Stack development; Participating in implementing microservices architecture of the application; Implementing the business logic of the application to ensure that it meets the client's requirements; Implementing services with Nest JS and Express JS to manage receiving data; Establishing routing mechanisms within RabbitMQ to direct messages to the appropriate queues, optimizing message processing; Modeling data structure in PostgreSQL to support application requirements; Identifying and resolving performance bottlenecks in the database system; Developing a library of reusable UI components using technologies like React and Semantic-UI-React; Incorporating technologies like jsPDF and React-pdf for generating and handling PDF documents; Leveraging AWS services, including EC2, S3 for cloud-based infrastructure and storage; Developing and managing AWS Lambda functions to handle various processes and functionalities within the application architecture; Maintaining serverless, connecting AWS Lambda to events in AWS Cognito; Setting up client-side and server-side push notifications; Managing the Docker environment, including creating and maintaining Dockerfiles, images, and containers; Participating in task estimation and choosing technologies.
Technologies: JavaScript, TypeScript, Node JS, Nest JS, Express JS, RabbitMQ, TypeORM, Knex, Objection, PostgreSQL, React JS, HTML, CSS, MUI, sPDF, React-pdf, Redux, Redux-Toolkit, Redux-Thunk, Semantic-UI-React, AWS(EC2, S3, Lambda, Cognito), Nginx, Docker, Docker Compose, Git, GitLab

Software Engineer, BUSINESS MANAGER

Duration: 05.2019 – 01.2021
Summary: A project designed for bank clients (small businesses) to access information regarding their retail points, manage statistical data, integrate diverse payment methods, collect finance-related statistics, invite new employees to the system, assign roles, and designate responsibilities for specific Point of Sale (PoS) locations.
Responsibilities: Full Stack development; Maintaining PostgreSQL and MongoDB databases, ensuring data integrity, and optimizing databases performance for the application; Writing complex data queries and aggregation pipelines using MongoDB; Contributing to refactoring the frontend for performance enhancement; Implementing RESTful API endpoints to facilitate communication between the client-side application and the server; Implementing and managing middleware components and routers to ensure smooth handling of requests and responses; Creating interactive and responsive UI components using Lit to facilitate seamless user interactions; Developing admin panel using React JS;
Technologies: JavaScript, TypeScript, Node JS, Koa JS, PostgreSQL, MongoDB, Mongoose, TypeORM, Swagger, React JS, Lit, Storybook, HTML, CSS, Ant Design, Redux, Redux-Toolkit, Redux-Thunk, Git, GitLab

Software Engineer, REALLIFE MEETINGS

Duration: 04.2018 – 05.2019
Summary: The goal of the project is to develop a platform for interviews in which video chat functionality is implemented, a field for writing code in real time, as well as checking the candidate for honesty with various notifications about various actions.
Responsibilities: Backend development; Setting up and configuring NodeMailer to work with the chosen email service provider, ensuring seamless communication; Managing and maintained PostgreSQL database, ensuring data integrity, optimal database performance for the application; Writing comprehensive unit and e2e tests and using Jest; External service integration; Database query optimization; Leveraging WebSocket and WebRTC for real-time communication and video streaming capabilities; Implementing robust logging mechanisms and integrating monitoring tools for proactive issue identification and resolution; Building clean and efficient APIs, and documenting them using Swagger.
Technologies: JavaScript, TypeScript, Node JS, Nest JS, WebSocket, WebRTC, PostgreSQL, TypeORM, NodeMailer, Jest, Git, Bitbucket

Education

  • Computer Science and Software Engineering