Homayoun Behzadian
Senior Software Engineer
Summary
Enthusiastic, learner, searcher, abstract thinker, sharp, communicative, decision-maker, creative, get-things-done, self-motivated developer and T-shaped team-player software engineer with strong problem-solving abilities, and scalability, durability, security, monitorability, maintainability, usability, and extensibility mindset focused on analyzing, architecting, designing, developing, and delivering robust, optimized, and automated enterprise IT solutions on time and within budget by collaboration with all stakeholders including managers, clients, other teams and departments staffs, using Java, Kotlin, C#, .NET, and cutting-edge powerful tech stacks. Curious and interested in different aspects of computer science such as AI and ML in addition to the non-tech fields specifically about people, projects and business management. Team player with mentorship and cross-functional team experience. Passionate about creating high-quality and clean codebase.
Professional Experiences
Full-Stack Developer, Freelance. Tehran. 01/23 - Present
Tech Stack and tools: Java, Kotlin, React, TS, Spring-boot, microservices, and AWS
“Behesht” is a famous well-known catering in Mashhad, serving thousands of customers daily, asked me to provide brand new web, android, and iOS apps with real-time backend services to receive orders online, process, and deliver them.
- Due to the required high availability, scalability, fail-over, and future growth plan, I decided to use the microservice pattern for backend architecture. I created several microservices for
USER
, MENU
, PAYMENT
and PROMOTION
as well as GATEWAY
, service-registry
and cloud-config
. All with spring boot
, Java
, and Kotlin
with very useful and common SAGA
and CQRS
patterns. Messaging has been done using Kafka
and gRPC
over Protobuf
.
- Created a responsive
PWA
with ReactJS
as the client application. For developing this app, I used NPM
and WebPack
as well as Jest
tests and other common frontend stuff.
- All parts of the system have been made with the automation mindset through GitHub CI/CD workflows integrated with
Docker
.
PostgreSQL
, Redis
, and MongoDB
databases have been used for storing and retrieving users' and apps' data.
- Achieved a 25% income increase for “Behesht” due to the specialized ordering application with special discount and referral promotion plans while also increasing customers' loyalty.
“GRTZC”, a web-based application (PWA) and related serverless lambda functions for time zone converter.
- Due to the nature of the application, I developed an
AWS Lambda
to fetch the latest zone data frequently and store them in a DynamoDB
instance, another AWS lambda for querying requested dates and zones.
- For the frontend side, I used
ReactJs
to develop the client app that communicates with backend lambdas to meet the user's requests.
- All parts of the application will be integrated and deployed continuously using AWS CI/CD pipelines.
Learned: Time Management, AWS, Upgrading Microservices and Kotlin knowledge
Senior Software Engineer, Segam, Tehran [Hybrid] • 2021→2022
Tech Stack: C#, “.NET5”, “.NET6”, EFCore, Mediator, Microservices, SQLServer, CI/CD
“Segam” is a high-volume, real-time transactional performant service for students that uses machine learning to advise them in choosing the best suitable university fields based on their exam results, plan for their study, propose resources, and book consultancy sessions with the best counselors. Segam serves services for millions of users daily which is available at https://3gaam.com/
Tasks and Achievements
- Huge increased service reliability, scalability, and maintainability by upgrading the large monolithic application into the microservice-based architecture by strangler pattern.
- Improved performance, response time, development time, and cleanliness of code by applying
CQRS
and Mediator
design patterns as a base structure for new microservices.
- Secured applications & services by equipping them with
JWT
authentication, fine-grained RBAC
authorization and intelligent CORS
, HSTS
, and CSRF
configurations.
- Provided facilities and eased upgrading, updating and managing client applications and APIs by proposing, implementing and publishing a standard & efficient versioning system so clients are capable to be informed about new versions, upgrade mode (optional or mandatory), and how to upgrade.
- Increased user engagement by implementing
Notification
services including Google Firebase
and WebSocket
.
- Decreased bugs, eased and increased speed of bug-detection and releasing bugfixes, by providing a standard way to handle any backend and frontend errors and bugs including logging, persisting, reviewing, and deciding whether to resolve, postpone or ignore them.
- Accelerated frontend applications development and easing tests by employing
OpenAPI 3.0
and Swagger
which automatically integrate documentation and manuals, generate inputs, outputs, samples, client codes, security requirements, possible errors and status codes, HTTP verbs and methods, required validations, online tests, and mocks for every endpoint.
- Decreased deployment time and intervals from days to only a few seconds and increased confidence by changing the app-review phase from manual tests to
automated unit and integration tests
by sharing TDD, CI/CD and deployment experiences with the team.
- Increased code quality, safety, and test coverage from 0% to 85% by developing 1300+ tests.
- Increased system overall performance by employing client-side rendering (CSR) for parts that do not need to be accessible through search engines like Google which led to decreasing server response time and length while caching results whenever possible.
- Standardized, speeded up, and increased the clarity of SDLC by setting up the development methodology to
Agile
and Kanban
and the management system to Jira
in conjunction with Git
(migrated from TFS
).
- Decreased bugs in production by increasing bug detection in development, testing and staging environments.
Learned: Teamwork, Agile, Kanban, Microservice, Mediator, SAGA, CQRS
Other Professional Experiences
- Backend Developer, Yalda, Tehran • 2018→2021
- Technical Product Manager, Mehan, Tehran • 2017→2018
- Software Engineer, Payvaran, Tehran • 2015→2017
- Developer and Test Manager, ASHS, Mashhad • 2011→2015
- Full-Stack Developer, Farayan, Mashhad • 2005→2011
Skills and Qualifications
- Proficient in Java and Kotlin.
- Expert in C# and “.NET”.
- Advanced in Microservices, Containerization, Docker and related patterns (CQRS, SAGA) alongside Kubernetes familiarity.
- Experienced Cloud Native Development with AWS.
- Worked with NoSQL Databases. (MongoDB, Neo4J, Redis, DynamoDB)
- Magnificent Experience with Relational Databases. (SQLServer, MySQL, PostgreSQL)
- Pioneer in Testing. (Unit, Integration, end2end, Mockito, Junit, etc.)
- Skillful in using Spring-boot.
- Familiar with ReactJS, Angular, NPM, Node.js, TypeScript, and JavaScript.
- Understanding DevOps and CI/CD Mindset. (You build it, you run it)
- Strong Hands-On Coding using common design patterns and principles including SOLID.
- Excellent Team Working.
- Agile, Scrum and Kanban.
- Familiar with Common Programming Languages. (C, C++, Go, PHP, Python, Rust)
- Good insight on OOP and FP paradigms.
Certificates
- Amazon Web Services (AWS) (Coursera)
- Redis & Redis Streams (Redis University)
- Containers, Docker, Kubernetes & OpenShift (Coursera)
Education
- BSc from FUM (Ferdowsi University of Mashhad).
Spoken Languages
- English (Fluent)
- Persian (Native)