FlowCV Logo
Profile

I’m a software engineer with 9 years of experience building enterprise applications, infrastructure, and leading technical teams. I am proficient in Python, C#, and C++ for backend and standalone applications (GUI and CLI) and have experience with cloud providers, primarily AWS. Working in startups has also given me hands-on experience in frontend technologies like HTML/CSS/JS, Bootstrap, and jQuery.

I hold a Master’s in Artificial Intelligence and a Bachelor’s in Software Engineering. Alongside my academic knowledge of AI, I have professional experience with LLMs, prompt engineering, and RAG techniques to enhance contextual understanding and code generation.

I’m passionate about clean code, software design, testing, architecture, and CI/CD, focusing on delivering high-quality products that meet customer and stakeholder needs. My colleagues often describe me as responsible, kind, and diligent. For more on my professional focus and teaching approach, check out my course on Continuous Delivery.

Skills
Programming and Markup Languages

Python (7y), C# (7y), JavaScript (3y), HTML (3y), CSS (3y), SQL (5y), UML (4y), C++ (2y)

Tools and Applications

Docker (4y), AWS (1y), Protobuf (5y), gRPC (5y), ELK Stack (1y), tox (3y), ANTLR (3y), Neo4J (2y), LLMs (2y), Pinecone (1y), Jenkins (5y), GitLab (2y), Redash (1y), Jira (3y), Redis (1y), DynamoDB (1y), SQL Server (4y)

Libraries and Frameworks

ASP.NET MVC (5y), pytest (5y), FastAPI (5y), Entity Framework (5y), Flask (2y), Django (2y), Bootstrap (3y), jQuery (3y), Xamarin (4y), SphinX (4y), Keras (2y), Tensorflow (2y), NUnit (4y), OpenCV (1y)

Key Techniques and Principles

Object-oriented design, Unit testing, Data structures, Algorithms, Software architectures, CI/CD, Computer networks, Acceptance testing, Machine learning, Concurrent programming, Dome-driven design, LLMs, RAG

Work Experience
2023 – presentRemote, Australia
Software Engineer | Backend and AI Engine (Python), BIMLOGIQ

As a Software Engineer on the "Copilot" product team—an AI assistant plugin for Autodesk Revit—I play a key role in both development and operations:

  • Design and implementation of full-cycle CI/CD pipelines using GitLab CI, including unit testing, code style checks, type checking, acceptance testing, model training, benchmarking, publishing and deployment, artifact management, and reporting stages.
  • Conducting technical interviews to assess the software engineering skills of candidates, as well as mentoring and onboarding them.
  • Developing the AI engine, including connecting REST services to the engine layer, managing data testing pipelines, prompts engineering, and developing AI and RAG techniques using the Langchain library.
  • Working with and benchmarking various LLMs and chat models, including OpenAI GPT series, Vertex AI (Gemini, others), Anthropic models, and Groq models (LLaMA3, Gemma, Mixtral, etc.).
  • Collaborating with the frontend team to develop and maintain APIs using FastAPI on AWS Lambda, ensuring efficient communication protocols and seamless integration.
  • Handling the database architecture and data management using Amazon DynamoDB, focusing on performance scalability and data integrity.
  • Managing and monitoring the entire backend infrastructure using AWS services such as Lambda, DynamoDB, CloudWatch, Load Balancer, EC2, ECS, S3, SNS, IAM, API Gateway, and more, ensuring system reliability and security.
  • Setting up caching mechanisms for faster retrieval and chat model responses by configuring Redis on AWS NLB/EC2/ECS.
  • Producing BI reports using Redash to inform strategic decisions and operational improvements.
  • 2019 – 2023Hybrid, Iran
    Software Engineer and Team Leader | Infra (Primarily Python), Mahsan

    I led the company's QA team, responsible for developing services, frameworks, infrastructures, rules, and metrics to enhance the quality of department products. I held both management and technical development responsibilities, including:

  • Managing a team of seven developers and DevOps engineers, organizing tasks, and providing guidance.
  • Conducting 100+ tech interviews, leading to 10+ high-value hires.
  • Teaching courses on CI/CD, DevOps, testing, clean code, object-oriented design, mono repo, and living documents.
  • Developing a requirement engineering and acceptance testing framework for company products with a vast requirements state space, utilizing libraries like Jinja2, lxml, Click, GoJS, Rivets.js, and Lark.
  • Creating an infrastructure management application to set up the products' environments at various stages. It cooperates with Docker and Terraform, manages resources with Neo4j, and offers REST (using FastAPI) and gRPC APIs.
  • Building an automatic network traffic generation application that is utilized by other products. The application generates traffic for 3000 different scenarios and tens of applications simultaneously (using Selenium and Appium).
  • Establishing department's Python standards: repository management (using Pantsbuild and tox), documentation (using SphinX), code style (using flake8, isort, Pylint, Black), typing (using Mypy), and testing (using pytest).
  • Defining and measuring quality metrics/levels for other projects.
  • Supplying Jenkins CI/CD and JFrog Artifactory support to teams.
  • 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.
  • Presenting unit testing practices (test doubles, fixtures, parameterized testing, etc.) to other teams resulted in full test coverage for all new features and 2000+ regression tests to the department's main product over time.
  • 2015 – 2019Hybrid, Iran
    Software Engineer | Web and Mobile (C#), Resaa

    Given the startup nature of the project, as a full-stack developer, I contributed to various projects, including the website (visit https://resaa.net), admin panel, telegram bots, and internal/external services, plus the doctor-side mobile app. My activities included:

  • Developing websites and services, encompassing solution projects and layers (using Visual Studio and MSBuild concepts), backends (using ASP.NET MVC and ASP.NET WebAPI), and frontends (using HTML, Bootstrap, CSS, JS, and jQuery). I also worked on bot state machines, caching mechanisms (using Redis), databases (using Microsoft SQL Server), and ORM (the Entity Framework) setups. Additionally, I was involved in logging processes (using NLog and Sentry) and unit testing (using NUnit).
  • Developing the doctor-side mobile application (using Xamarin) for Android, iOS, and UWP platforms. This involved managing data persistence (using SQLite) and architectural design (using Prism and MVVM pattern).
  • Actively participating in business meetings and engaging directly with doctors.
  • Initially, the project involved around 10 doctors and 100 patients, but by the end of my tenure, the system had expanded to approximately 500 doctors and 10,000 actively using patients.
  • Education
    2018 – 2020Iran
  • Implementing thesis and course projects in Python.
  • 2014 – 2018Iran
    B.Sc. in Computer Software Engineering, University of Tehran
  • GPA: 3.88/4
  • Advanced programming, Compiler design, and Computer network courses TA
  • ACM magazine editor
  • Awards
    First place in the M.Sc. program among all AI field students

    Maintaining the first rank for two years with a total score of 3.97.

    First place in the B.Sc. program among all engineering fields students

    Maintaining the first rank for four years with a total score of 3.88.

    Third place in the 15th National Khwarizmi Youth Festival

    Third place in the 15th Khwarizmi Youth Festival for software application with the title of "Authentication System Based on Behavioral Patterns".

    Publications