Alireza Roshanzamir

Technical Team Lead and Python Developer

Tehran, Iran, Islamic Republic of

Summary

Highly accomplished software engineer with 7 years of experience in developing enterprise and system-level applications, managing technical teams, and implementing software best practices. Proficient in Python, C++, C#, and backend development, with a strong educational background in artificial intelligence. Passionate about clean code, software design, testing, architecture, requirement engineering, and methodology with a proven track record of leading projects to successful completion. Committed to delivering high-quality products and processes that meet customer and stakeholder needs. My colleagues and friends have consistently described me as responsible, kind, and diligent in my work.

Languages:

English, Persian

Favorite Python Packages:

jinja2 fastapi lark click rich dash plotly numpy sphinx mypy, black, isort, flake8, pylint

Experience

Team Lead and Python Developer

As a Team Lead and Python Developer, I led the company QA team and implemented tools, infrastructure, rules, and metrics to improve products and process quality. Some key achievements include:

  • Managing a team of seven developers and DevOps engineers, organizing tasks, and providing guidance and support.
  • Developing a model-based requirement engineering and testing framework in Python for DLP and automatic network traffic generation applications characterized by a vast requirements state space. This framework traces requirements and provides detailed reports on requirements and their corresponding tests. It utilizes popular libraries such as Jinja2, lxml, Click, and Lark.
  • Creating an infrastructure management application to set up the organization’s products’ environments at different stages. This tool serves as a protocol for outlining the environment's structure, configuration, resources, and services. It cooperates with Docker and Terraform, manages resources using Neo4j, and provides REST API (using FastAPI) and Protobuf gRPC services.
  • Building an automatic network traffic generation application that other products within the organization can use. The application generates traffic for 3000 different scenarios and is designed to track thousands of scenarios.
  • Defining a single standard for the organization's Python projects, including repository management (using Pantsbuild and tox), documentation (using SphinX), code style (using flake8, isort, Pylint, Black), typing (using Mypy), and testing (using pytest).
  • Defining quality metrics and practices to ensure consistent and high-quality results.
  • Providing Jenkins CI/CD and JFrog artifactory infrastructure and best practices for most of the organization's products.

Overall, my leadership and technical skills ensured high-quality product delivery that met customer and stakeholder needs.

 

C++ Developer

As a C++ Developer for the "Data Leakage Prevention" library and application, my achievements include:

  • Deeply understanding C++ concepts, compilers (GCC and Clang/LLVM), tools (e.g. CMake, Ninja, Doxygen, Protobuf, cpplint), and libraries (e.g. Boost). Also, developing unit tests (using Google Test and gMock) and testable C++ applications.
  • Considering my background and interest, I presented the concepts and practices of unit testing (test doubles, testable design, fixtures, parameterized testing, etc.) to my colleagues and other teams. After the mentioned course, all the codes were tested with full coverage, and after a while, several thousand tests were added to the main product of the department.
  • Complete familiarity with network protocols, especially VoIP and RTP, and producing tools using C++ on them.
  • Utilizing Agile software development practices for system-level and high-performance products.
  • Making informed design decisions for high-performance and high-quality software. Due to my interest in design issues, we held several meetings with other people and teams in line with the best design using software design patterns and C++ facilities.

 

Web and Mobile Developer

I worked as a web developer on various products, including a website, administrative panel, telegram bots, and internal and external services. I utilized C# and ASP.NET MVC and ASP.NET WebAPI to develop these products. Additionally, I worked as a mobile developer on a doctor-side application using Xamarin.

  • My activities included designing and developing solution projects and packages (using Visual Studio), architectural layers, website backend and frontend, REST API entry points, bot state machines, caching mechanisms (using Redis), database (the Microsoft SQL Server and SQLite) and ORM (the Entity Framework) configurations, logging processes (using NLog and Sentry), unit-testing (using NUnit Framework), participating in business meetings and decisions, familiarizing and developing the domain language, and directly interacting with doctors.
  • The project initially had approximately 10 doctors and 100 patients, but by the end of my tenure, the system had grown to have about 350 doctors and 4,000 actively using patients.

Skills

Artificial Intelligence, Backend Development, DevOps, Docker, FastAPI, Flask, GraphQL, Linux, PyQt, REST, RabbitMQ, SQL, Test-Driven Development

Joined: June 2023