Ivan S. Go Software Engineer

Back-End Web

Summary

- A backend developer with over 18+ years of experience in software engineering and more than 9 years of experience with Golang.
- Extensive experience designing and developing Go-based microservices for highly scalable and distributed systems.
- Skilled in leveraging Go’s concurrency model (goroutines, channels) for building efficient and performant systems.
- Proficient in developing REST, gRPC, and GraphQL APIs using Go.
- Expertise in deploying Go applications in containerized environments using Docker and orchestrating them with Kubernetes and Knative.
- Experience with building serverless solutions on AWS Lambda and integrating Go services with various AWS resources (S3, RDS, ElasticCache).
- Automated infrastructure provisioning for Go applications using Terraform and AWS CloudFormation.
- Proficient in designing and implementing scalable REST, GraphQL, and gRPC APIs.
- Expertise in object-oriented design (OOD), test-driven development (TDD), and domain-driven design (DDD).
- Hands-on with frontend technologies like Angular, JavaScript, jQuery, and Dojo for building user interfaces.

Work Experience

IT Project Manager and IT Architect, Ever Financial AD

April 2024 – present

Summary: Develop forex trading platform CFD for B2B2C; Compliance Reporting: EMIR, MiFIR, RTS 27/28, Accounting Software Import/Export, Business Intelligence integration, Call Center integration with Asterisk for Sales and Retention Departments; Customer relationship management user interface - for administration, managing, configuring, and call center business processes.

Responsibilities:

  • Acted as an IT project manager and architect in the fintech startup Meridian Capital Group, setting up everything from scratch using the previously acquired 4-year experience in a fintech company.
  • Oversaw the whole IT department that developed an in-house Forex trading platform allowing retail customers to trade 24/7 on foreign exchange markets worldwide.
  • Delivered quality agile business requirements as fast as possible, and CRM for the sales and administration department and integrated call center software.
  • Selenium Integrations for Exporting SIP Call Cost Reports for BI
  • Build and deploy mobile hybrid applications in the Apple Store and Google Play
  • Configure DevOps continuous integration/continuous delivery pipelines to deploy to Kubernetes in the AWS cloud
  • Integrated Payment Providers
  • Integrated EMIR Reporting for regulatory compliance
  • Providing raw data and ready-to-be-used reports to BI and Marketing Teams

Technologies: Java, Golang, NodeJS, Jetty, Tomcat, Hibernate, JPA, QueryDLS, jOOQ, GORM, Javascript, jQuery, MySQL, Redis, AWS Cloud - Elastic Cache, RDS, Lambda, CloudWatch, VPC, ECR, S3, EC2, CloudFront, Route 53; Docker, Kubernetes, Angular.io v9, PrimeNG, Angularjs.org, Spring - Boot, Data, Rest WebService, Microservice architecture, DevOps, GitLab CI/CD, Jira, Automation Testing with Selenium, NodeJS Webdriver.io, Selenium, Hybrid Mobile Application - Cordova, Terraform, AWS cloudformation, serverless, AWS Lambda, Apache Kafka, Domain-Driven Design (DDD), Distributed Systems.

Senior Java Developer (Contractor), Alexander Thamm GmbH

November 2023 - April 2024 (6 months)

Summary: Case Base AI is a Portfolio Management system for Data Analytics & AI Use Cases. Casebase supports use case ideas on their way to becoming valuable and innovative Data Analytics & AI solutions. Worked on multi-tenancy support - each instance will have company settings to be managed by an administrator and many workspaces, which are managed by a moderator, which inherits company settings and can be customized further. The most challenging part is this company workspace merging algorithm, which allows compliance with company policies and provides freedom for customizations on the workspace level for different departments inside the company.

Responsibilities:

  • Run integration tests in the GitLab CI/CD pipeline
  • Re-work the email template - move translation from the database into resource files for better code maintenance
  • Migrate the spring boot version from 2.x to 3.x
  • Integrate Open API documentation of REST API
  • Provision new customer instances using terraform scripts in AWS cloud and configure backend and frontend pipelines in GitLab CI/CD pipelines.
  • Automate provision new instances using terraform and custom scripts
  • Develop new features and fix bugs in the development branch and hotfixes in pthe production master branch

Technologies: Java 17, Docker, AWS, AWS ElasticBeanstalk, AWS CloudFront, AWS RDS Postgresql, Unit Testing, Integration Testing, REST, Terraform, Angular.io, Distributed Systems.

Senior Go Developer (Contractor), Salt Security

May 2023 - October 2023 (6 months)

Summary: Salt Security (API Security Done Right) provides SAAS and hybrid on-premise installation for the adaptive intelligence you need for robust API discovery and attack prevention. I worked on a Linux sensor, which captures http traffic from custom API and sends it to SASS or hybrid on-premise for processing (API discovery and attack prevention).

Responsibilities:

  • Developed a web console and integrated it with existing infrastructure.
  • Reviewed code and test migration of Linux sensor from Python 2 to Python 3.
  • Worked on re-writing of Linux sensor to Go language with unit test, integration test, testing with virtual machines in AWS provisioned via Terraform scripts, CI/CD in Codefresh and GitHub actions, JFrog integration, and AWS S3.
  • Tested go Linux sensor on different real-world scenarios.

Technologies: Golang, Python 2.x/3.x, Docker, Kubernetes, CI/CD Pipelines, Integration Testing, GitHub Actions, AWS Services, Distributed Systems.

Senior Go Developer (Contractor), Sinch.com

May 2022 – May 2023 (1 year)

Summary: Sinch.com was created back in 2008 when its founders set out to reinvent mobile messaging. They realized that SMS presented an incredible opportunity for companies due to its immediate and widespread reach - but it needed a change. They wanted to make mobile messaging easy - to make it a “sinch”, if you will. Since then, Sinch has grown from six people in a little Stockholm shop window to an international powerhouse serving enterprises across the globe. In fact, IDC MarketScape says Sinch is a CPaaS Leader! The cloud platform now supports messaging, voice, and video, and handles 145 billion engagements per year. As part of the core Connectivity Team, I was responsible for integrating the existing Messenger People platform (https://www.messengerpeople.com/), ChatLayer bots (https://chatlayer.ai/) with Sinch Connectivity API into a new platform Sinch Engage (https://engage.sinch.com/). I was hired as an expert in Go language (a new language for the company) and provided the know-how they needed. Our team worked closely with all other teams like Campaigns Team providing them with API to send batch messages for Marketing Campaigns. For the Templates team, we provided Template Management API for creating and managing WhatsApp templates for the Marketing Team. We started with the most used channel WhatsApp and then went on to integrate other communication channels like: Telegram, SMS/MMS, Viber, Line, WeChat, RCS, Facebook Messenger, and Instagram. The whole system is event-driven and leverages the KNative for scaling and easily extending the solution so other teams can plugin in their API like creating an automation bot for answering customers.

Responsibilities:

  • Develop Message Out Pipeline for sending outgoing single and batch messages from the Messenger People platform to Sinch Conversation API.
  • Reporting sends message status. Integrating log messages, extracting and traces to Datadog for central operations and monitoring solution in Golang and proof of concept for PHP integration for legacy system integration.
  • Develop custom adapter message in and message out for the Messenger People platform in the PHP legacy system.
  • Integrate Provisioning of Sinch Web Chat using GraphQL API
  • Investigation for integrating email as a communication service
  • Setup unit, integration and performance testing, and code coverage in GitLab CI/CD
  • Write component design and discovery documentation
  • Integrate backstage documentation for the operation team
  • Integrate swagger REST API documentation
  • Developing RESTful API for KNative service supporting dynamic scaling based on the workload - event to zero in idle mode
  • Participate in peer code reviews for my team colleagues
  • Designing performance optimization solutions
  • Used Docker images to package code and deployed it to the Kubernetes Knative cluster in AWS Cloud.
  • Deploy documentation backstage

Technologies: Golang, Docker, Kubernetes, Knative, Unit Testing, Integration Testing, Performance Testing, GitLab CI/CD, PostgreSQL, GraphQL, REST, Apache Kafka, Redis, Object-oriented Design (OOD), Test-driven Development (TDD), Backstage, Distributed Systems.

Senior Go Developer (Contractor), Deutsche Telekom | Reply.de

August 2021 – April 2022 (8 months)

Summary: Deutsche Telekom is the largest telecom provider in Europe. With the Access 4.0 (A4) platform, Deutsche Telekom is breaking new ground in the construction and provision of networks: conventional hard-wired systems are being replaced by open, disaggregated, highly automated, and microservice-based technologies. As part of the Software-defined networking (SDN) Team working on A4 PAO (POD Access Orchestrator) - SDN Control I was working on the core component responsible for aggregating in one place the whole network topology using the other team NWM (Network Management) and providing convenient REST, gRPC and GraphQL API.

Responsibilities:

  • Reimplemented the core component to store static-related network topology and dynamic session assignment data in the PostgreSQL database.
  • Developing RESTful, gRPC, GraphQL API
  • Peer code reviews for my team colleagues
  • Designing performance optimization solutions
  • Added system integration tests to validate user acceptance criteria and collaboration between the team's related and the external team's microservices.
  • Improved the component code coverage to over 99% using the unit and integration testing
  • Used Docker images and Helm charts to package code and deploy it to the Kubernetes cluster.

Technologies: Golang, Helm, Docker, Kubernetes, Python, Unit Testing, Integration Testing, GitLab CI/CD, PostgreSQL, GraphQL, gRPC, REST, GraphQL, NATS, Apache Kafka, Redis, Object-oriented Design (OOD), Test-driven Development (TDD), Domain-Driven Design (DDD), Distributed Systems.

IT Project Manager and IT Architect, Meridian Capital Group Ltd.

2016 – 2021 (~5 years)

Summary: Develop forex trading platform CFD for B2B2C; Compliance Reporting: EMIR, MiFIR, RTS 27/28, Accounting Software Import/Export, Business Intelligence integration, Call Center integration with Asterisk for Sales and Retention Departments; Customer relationship management user interface - for administration, managing, configuring, and call center business processes.

Responsibilities:

  • Acted as an IT project manager and architect in the fintech startup Meridian Capital Group, setting up everything from scratch using the previously acquired 4-year experience in a fintech company.
  • Oversaw the whole IT department that developed an in-house Forex trading platform allowing retail customers to trade 24/7 on foreign exchange markets worldwide.
  • Delivered quality agile business requirements as fast as possible, as well as CRM for the sales and administration department and integrated call center software.
  • Selenium Integrations for Exporting SIP Call Cost Reports for BI
  • Build and deploy mobile hybrid applications in the Apple Store and Google Play
  • Configure DevOps continuous integration/continuous delivery pipelines to deploy to Kubernetes in the AWS cloud
  • Integrated Payment Providers
  • Integrated EMIR Reporting for regulatory compliance
  • Providing raw data and ready-to-be-used reports to BI and Marketing Teams

Technologies: Java, Golang, NodeJS, Jetty, Tomcat, Hibernate, JPA, QueryDLS, jOOQ, GORM, Javascript, jQuery, MySQL, Redis, AWS Cloud - Elastic Cache, RDS, Lambda, CloudWatch, VPC, ECR, S3, EC2, CloudFront, Route 53; Docker, Kubernetes, Angular.io v9, PrimeNG, Angularjs.org, Spring - Boot, Data, Rest WebService, Microservice architecture, DevOps, GitLab CI/CD, Jira, Automation Testing with Selenium, NodeJS Webdriver.io, Selenium, Hybrid Mobile Application - Cordova, Terraform, AWS cloudformation, serverless, AWS Lambda, Apache Kafka, Domain-Driven Design (DDD), Distributed Systems.

Senior Software Engineer, Avus Capital, trading212.com

2011– 2015 (~4 years)

Summary: Trading 212 is a fast-growing service of the European Broker AVUS CAPITAL. Trading 212 is a leading online broker offering online financial trading to retail customers.

Responsibilities:

  • Played a key role in the company's most important product—trading platform—as part of the core back-end team.
  • Provided lightning-fast and reliable order execution, delivered the latest quotes in real-time to clients worldwide, and supported multiple front ends, as required by the system's domain.
  • Oversaw the development, performance, scalability, and stability of the system. Monitored and deployed to the production system 24/7.
  • Pair programming and TDD were a must
  • Worked as DevOps in a newly formed scrum team
  • Configured Jenkins CI/CD pipelines
  • Acted as code gatekeeper
  • Integrated Payment Providers
  • Integrated EMIR Reporting for regulatory compliance

Technologies: Java, Spring, Spring Boot, Apache Tomcat, Jetty, CometD, Hessian, Apache Thrift, STOMP, ActiveMQ, MySQL, MongoDB, Maven, Apache Ant, ZK, Dojo Toolkit, Payment APIs, Adyen Payments, WebSockets, JSON REST APIs, GCM, Apple Push Notifications, Jenkins, DevOps, Ansible, Linux, Bash, Continuous Integration (CI), Continuous Delivery (CD), Scrum, Kanban, Jira, Release Management, CI/CD Pipelines, Object-oriented Design (OOD), Test-driven Development (TDD), RESTful Services, Distributed Systems, GitHub, Back-end, Scaling, Performance, Message Queues, Domain-Driven Design (DDD).

Senior Software and DevOps Engineer, Musala Soft (https://www.musala.com/)

2007– 2011 (~4 years)

Summary: As a Software Engineer at Musala Soft I was responsible for providing software solutions to business requirements using the best software development practices.

Responsibilities:

  • Provided software solutions as per business requirements using the best software development practices and mentored and helped other team members.
  • Contributed to the declaration management system solution using SOA to develop an e-customs framework for the whole industry. Since the first client was Dutch customs, it was possible to quickly adapt it to the individual EU country's requirements.
  • Provided the installation and configuration scripts written in Apache Ant and played a key role in two other projects for IBM, providing similar installation and configuration scripts.
  • Acted as the software consultant in the first Bulgarian telecom company later acquired by Austria A1. Integrated IBM Identity Manager Solution extended to other countries like Croatia and Austria.
  • Worked actively on IBM WebSphere administrative console, migration scripts, and Eclipse plugins for IBM USA.
  • Contributed to the business-to-business integration using Oracle Middleware integration of the SAP back end and PHP front end for an e-shop for purchasing mobile phones, MP3, cameras, laptops, and accessories.
  • Delivered many different projects, gathered knowledge and know-how, worked with international teams, and provided satisfaction and extraordinary results per customer requirements.

Technologies: Java, PHP, IBM WebSphere, Apache Ant, Jython, IBM MQ, JPA, JavaScript, Consulting, GlassFish, AIX, Windows, Linux, Oracle, XML, XSLT, Service-oriented Architecture (SOA), SOAP, WSDL, Dojo, CSS, HTML, IBM Tivoli Identity Manager (TIM), IBM Tivoli Directory Server, Zend Framework, Object-oriented Design (OOD), Back-end, Message Queues.

Education.

Master's Degree in Software Technologies in Internet

New Bulgarian University - Sofia, Bulgaria

Bachelor's Degree in Computer Systems and Technologies

Technical University of Sofia, Bulgaria