I am a software engineer with over 6 years of experience. I work on developing innovative solutions using Golang and Python, cloud-native technologies, observability techniques, and DevOps practices. I am passionate about finding the most maintainable and scalable solutions for business problems. I am always eager to take on new challenges and deliver high-quality results.
Get in touch
- Email: [email protected]
- Telegram: t.me/fira42073
- Location: Madrid, Spain | Digital nomad
Work Experience
Tabby - Senior Software Engineer
March 2024 - present | Location: Remote - Dubai, UAE
Tabby provides consumers across the UAE and Saudi Arabia with the flexibility to pay for their online and offline purchases either in a deferred single payment or in multiple installments, enabling customers to buy items on flexible credit with safe payments.
- Led cross-functional effort that required coordination with two external teams to implement integrations. Supported another internal team to help adopt those integrations. This helped to finish all of the development in time as per government regulations.
- Developed an MVP for an offer-related feature that increased issuance by 3x. After the initial development, I made sure to tackle tech debt there, which in turn created a great platform to build other features on top. Offers became a versatile tool for building new features.
- Led the development of the early payoff feature, working closely with stakeholders to capture and meet their requirements. This increased retention by 20%.
- Established a shared language between technical and product teams, reducing miscommunication and enhancing collaboration. This alignment contributed to more efficient planning and execution of feature requirements.
- Created and helped to maintain a team playbook to document processes, best practices, and internal workflows. This resource helped reduce onboarding time and served as a quick reference for the team, enhancing productivity. It was also easier to experiment and change those quickly while keeping everyone on board.
- Initiated and led bi-weekly technical syncs aimed at reducing technical debt, improving task prioritization, and fostering alignment on key projects. This approach helped streamline sprint planning, enabling the team to address technical debt effectively and stay focused on the actual high-impact items. It also promoted regular discussions around potential new technologies, ensuring alignment with project requirements and best practices. This helped the team adopt relevant tools while balancing maintenance costs and technical benefits.
- Established a tech debt tracking system within Jira, enabling clear prioritization and visibility. This made it easier to tackle critical issues and ensured that technical debt was systematically addressed as a part of sprint planning.
- Streamlined developer workflows by identifying bottlenecks, such as excessive context-switching, and implementing process improvements that minimized interruptions. This allowed team members to focus on high-priority tasks with less friction. We also cancelled all scheduled meetings on Thursdays, so that even if we are swamped with meetings during the week, we can still take our time to do some focused work on Thursdays.
- Created a central Notion page for company-wide tech talks, and a shared calendar for all backend developers to make it easier to share insights and resources. This initiative increased engagement and provided a consistent space for ongoing technical learning and discussion.
- Organized a workshop on Go’s Garbage Collector, sharing techniques to enhance performance and see the trade-offs between memory and CPU utilization, as well as building the intuition on how to debug GC related problems.
- Organized a workshop on Profile-Guided Optimization (PGO), sharing techniques to enhance performance in CPU-heavy processes.
- Read the Mastering PostgreSQL in the book club to increase understanding of database performance and query optimization. This knowledge-sharing initiative encouraged better database practices across the team, improving developer intuition on the topic.
- Adopted sqlc to streamline SQL operations, which reduced SQL errors and minimized the complexity of database-dependent feature deployments. This change improved code maintainability and decreased the likelihood of query-related issues.
- Secured company-wide support for Mermaid diagrams in Backstage, working closely with the core team to meet this documentation need across teams. This improved understanding of workflows and made system documentation more accessible to all stakeholders.
- Introduced
tbls
for improved database documentation, making data structures easier to navigate and understand. This addition provided greater transparency for the team and reduced time spent on data-dependent tasks. - Pioneered the use of distroless images, collaborating with DevOps team to align on necessary configuration changes to Kubernetes RBAC and common CI/CD pipelines. This approach minimized security risks by reducing the image’s attack surface.
- Researched and implemented a solution to run rootless Docker-in-Docker (DinD) with our GitLab runner configuration, creating a step-by-step guide for DevOps team based on Red Hat and GitLab documentation. This enabled the use of
testcontainers
, expanded test coverage, and improved testing speed. - Collaborated with QA to implement automated e2e testing on GitLab CI, focusing on enhancing test coverage and reliability. This automation enabled more efficient, repeatable testing across the team’s CI pipeline.
- Conducted more than 30 interviews to assist the recruitment team.
Orbisk - Software Engineer
April 2023 - October 2023 | Location: Utrecht, Netherlands
Orbisk is a company that uses computer vision and AI to reduce food waste in hospitality organizations.
- Led the design and migration efforts to transform an old monolithic service into a modern data pipeline architecture.
- Adopted and used ClickHouse as main OLAP storage engine for statistical data.
- Spearhead refactoring initiatives to enhance the current Golang microservices’ efficiency and maintainability.
- Transitioned self-hosted TF state to Terraform Cloud, streamlining developer adoption and minimizing reliance on manual UI changes for resource state management.
- Designed and implemented event-driven pipelines using Apache Beam.
- Implemented system observability using DataDog and OpenTelemetry Collector.
- Made optimizations for the IoT devices’ software, speeding up device booting time by 13%.
Mooncascade - Software Engineer
Feb 2022 - Mar 2023 | Location: Tallinn, Estonia
Mooncascade is an award-winning advisory, design, and software development company that guides businesses through the ever-changing digital landscape.
- Guided a client in migrating authentication to AWS Cognito, implementing SSO and SAML-based auth methods.
- Orchestrated Terraform Cloud setup, integrated Terraform Registry to create microservice-specific modules. Established a modular state management system for streamlined operations.
- Engineered cloud-based emailing solutions using GCP Pub/Sub and Cloud Functions.
- Collaborated with business stakeholders, refining product requirements and delivering efficient authentication and authorization systems.
- Instrumented applications using OpenTelemetry (OTEL) and enabled observability for both technical and non-technical stakeholders.
Sectigo (ex Comodo)
Jul 2021 - Feb 2022 | Location: Remote, United States
Sectigo is a leading provider of cloud-based solutions for issuing and managing digital certificates and keys across the IT ecosystem.
- Worked with an SSL Certificate Management product, designing microservices in Golang and ensuring seamless communication between services.
- Developed and maintained Terraform provider for Sectigo Certificate Manager, enhancing its functionality and usability.
- Used Terraform for creating and managing resources in GCP and CloudFlare.
- Mentored new developers. Created and helped to adopt standards for application and microservice design.
- Developed a DNS zone file management service in Golang and integrated with existing solutions.
- Crafted comprehensive documentation using Asciidoc.
- Collaborated with sales team, conducting client meetings for onboarding and product demonstrations.
- Used Prometheus and Grafana for application observability. Instrumented various services using OpenTelemetry and OpenCensus/OpenTracing adapters.
- Maintained Angular-based web applications.
Voiceloft
May 2019 - Apr 2021 | Location: Baku, Azerbaijan
Voiceloft focuses on audio dataset collection and sales. In contrast to most speech recognition companies focusing on one or several prominent languages, we focus on variety of languages and accents covering large demographics that would have otherwise been neglected.
- Designed and developed event-driven microservices in Golang and Python, transforming monolithic systems to maintainable services with high cohesion. The system included around 30 Golang microservices and 2 Python microservices for serving machine learning models.
- Implemented inter-service communication using gRPC.
- Utilized ClickHouse for statistical service which yielded significant performance enhancements. Old queries from PostgreSQL took about 500 ms and with ClickHouse it was about 20 ms.
- Being a product oriented engineer, helped the business to choose correct technology for the requirements. For example, I suggested a telegram bot as the front-end for the data collection platform, that gave us a great advantage in the MVP stage.
- Having a DevOps mindset, created a framework for deployment and managed deployments with Terraform, Helm Charts, Kubernetes, GitLab CI/CD, and ArgoCD. That way there was no need for a dedicated DevOps person, because each developer could create and manage dependencies for their own service using IaC(Infrastructure as code) principles.
- Created various internal tools using Golang, Python(Django) and VueJS.
- Participated in development of the front-end for the platform using NuxtJS.
- Managed and mentored a team of 5 interns that were working on data parsers.
- Contributed to projects involving audio data processing, telegram bots, public API development, and more.
Nafantano
Sep 2018 - Dec 2019 | Location: Baku, Azerbaijan
Nafantano is a designer and producer of luxury toy fantasy mascots.
- Created automation for for delivery process using Golang and VueJS.
- Integrated Etsy and MeisterTask APIs for getting order data and addresses, printing invoices and labels for post office and managing tasks for the artists team.
- Initialized CI/CD for deployments to GCP.
- Streamlined logistics and process automation, leading to a 3x increase in sales within three months.
- Implemented SEO strategies leading to enhanced online presence and business growth.
Projects
Eco-Movement - Software Engineer
November 2023 - December 2023 | Location: Utrecht, Netherlands
Eco-Movement is the leading provider for data on electric vehicle charging stations.
My main objective in this role was to streamline the processes for service development and lift the bottlenecks that were caused by tech debt and legacy code.
- Established Golang style guide and trained the team to write idiomatic code.
- Refactored several Golang services to make use of clean architecture and dependency injection patterns.
- Pioneered and implemented a Python style guide, encouraging a culture of code uniformity and improving team collaboration.
- Guided and mentored team members in the adoption of the Python style guide, resulting in improved code quality and streamlined development processes.
- Initiated redesigning efforts of a legacy e-Mobility Services provider (eMSP) integration from scratch, implementing proprietary logic to create a modular Open Charge Point Interface (OCPI) compliant service, ensuring scalability and ease of extension for other clients.
San Services
Mar 2021 - May 2021 | Location: Remote - Nassau, The Bahamas
An affiliate of the worldwide representatives of Sandals Resorts.
My main objective in this role was to support the architect and streamline Golang adoption.
- Created a full map for all of the services and their data models using UML diagrams in Visual Paradigm.
- Created an opensource opinionated microservice generator tool using cookiecutter.
- Created an emailing service using Golang, Ghost CMS for templating and Kafka for message streaming.
- Developed a caching system for all of the public-facing endpoints using Redis and Golang.
Replier.ai
May 2021 - Jul 2021 | Location: Remote - Bay Area, USA
Replier takes customer reviews and generates automatically the perfect response in your unique business style, connecting directly to Google My Business using GPT-3.
My main objective in this role was to create a service that would use GPT-3 beta for generating replies for reviews in Google Maps.
- Integrated systems with external APIs, including GPT-3 and Google My Business.
- Maintained Golang microservices, managed infrastructure using Terraform and built CI/CD for deployment to Cloud Run.
- Established deployment and testing framework using Cloud Build.
Professional Skills
- Programming Languages: Go/Golang, Python, TypeScript/JavaScript, Bash, SQL (various flavors).
- Cloud Native Technologies: GCP, Firebase, AWS, Microservices.
- DevOps: Terraform (IaC), Kubernetes, ArgoCD (GitOps), Helm, GitLab (CI), GitHub Actions, Jenkins.
- Databases: PostgreSQL, ClickHouse, MySQL; NoSQL - Elasticsearch, Redis, Memcached, MongoDB etc.
- Observability: OpenTelemetry, OpenCensus, Grafana, Pyroscope, DataDog, GCP observability tools.
- Soft Skills: Integrity, Effective Communication, Teamwork, Critical Thinking, Time Management, Scrum, Agile.
Languages
- English (Fluent)
- Azerbaijani (Fluent)
- Russian (Fluent)
- Turkish (Limited working proficiency)
Recommendations
Please, refer to my LinkedIn profile for more recommendations.