Amir HassanZadeh

The Engineer

AMIR HASSANZADEH

Software Engineer

call +98 9308764879
alternate_email a.hassanzadeh.h@gmail.com
pin_drop Rasht, Iran

SUMMARY

Senior software engineer with over 5 years of experience in building React Native apps and Angular apps. success in building a high-performance architecture based on Clean Architecture for front-end apps (especially react-native). Exceptional Problem-Solving, Leadership, and Communication skills. Looking for new opportunities to be able to share this valuable knowledge in architecting software with others and build a great team of professionals.

PROFESSIONAL EXPERIENCE

Senior Software Engineer

Nilasoft

calendar_month Apr 2020 - Present pin_drop Rasht, Iran

Nilasoft is a Software Service company that builds customized software for its customer

  • As a team leader help team members of the backend and frontend to write more testable and readable codes which save 10% of debugging time.
  • As a senior software engineer, wrote scripts for dockerizing Angular projects and served them in our local docker registry for sharing ready-to-use instances of each project with internal teams, It saved 20% of the internal team communication time.
  • As a senior software engineer created a new git strategy for our software projects in Nilasoft to have a more manageable code base for plenty of changes and working with a big team on a project. this strategy speeds our development time by 30%
  • As a senior react-native developer, wrote a starter kit to initiate a mobile project based on clean architecture, with Mobx State Tree and react-navigation which decouple the backend layer from the business layer of apps save 20% of maintenance and develop time
  • As an experienced mobile developer, I migrated the infrastructure of our mobile development from Ionic to react-native which gives our customers more native experience
  • Start learning Angular as a junior front-end software developer. delivering the same experience in mobile and website of a project to the end-user was challenging and I learned how to do it
  • Joined Nilasoft as an Ionic developer. Learned best practices for building ionic apps.

Software Developer

Artadoo

calendar_month Mar 2018 - Mar 2020 pin_drop Tehran, Iran

Artadoo is an Odoo partner in Iran which, implements ERP solutions for customers with customized requirements.

  • As an Odoo developer, Migrate our customers' Odoo instance from version 12 to 13
  • As a junior Odoo developer, help the Backend team in writing customized modules for Odoo customers, like submitting old insurance data with the new format, which saves the customer time by 80% in entering data into the new system.
  • As a mobile developer, building mobile apps for Odoo modules requires knowing the business logic of Odoo modules, so I learned the business logic of Odoo applications like Sales, and Inventory, which saves the time of development by 20%
  • Joined Artadoo as a Junior Ionic developer, and started building mobile apps for Odoo modules.

PROJECT

Decentrabnb

link

This project is a rent and booking platform that helps people book places with cryptocurrency. There are two web apps and mobile. the web app is a multi-actor app.

  • Worked as a Senior front-end engineer in the web app of this platform too. I created architecture for the web app to handle this complexity which caused us to save 20% time changing the same feature for different actors. The result of working on this project was mastering RxJs and modular design
  • Started the React Native app of this platform as the main developer, and I put a lot of engineering concept thinking behind it which led to having a maintainable source code. achieved a very good understanding of Redux, Reanimated2, and React Navigation> in this project.

Hamisheh

link

Hamisheh is a workout platform, the time that I worked on this project it had 200 thousand active users. I work as a Junior software developer on both web and mobile apps.

  • learned about the infrastructure of serving a web app on this project. By joining the release team as a junior developer.
  • By working on this project I learned how to collaborate in a Agile and scrum team.
  • Gained a good understanding of the Angular framework by coding on the web app of this project.
  • Developing small features as a junior Ionic developer on this project. learned a lot about writing code on a maintainable project.

React Native Starter Kit

react-native is just a Library so there are no predefined framework rules for developing features on it. This architecture was about writing a starter kit for a react-native project to save time for the starting phase of any react-native app.

  • The biggest issue was dependencies of app domains with backend DTOs, so I defined a client layer that serves the APIs and DTOs of backend service and an adapter layer that converts the app domains to the client layer and vice versa.
  • The business logics should not be dependent on the presentation layer, so created another layer for serving business logic and decoupled from the presentation layer.
  • These two strategies speed the development time by 40% and save marinating and debugging times by 20%. Also, the code base is much more testable.

EDUCATION

Bachelor of Computer Science

Gilan University

calendar_month 2016 - 2022 pin_drop Rasht, Iran

SKILLS

React Native

JavaScript

Python

Docker

Mobx

Redux

Java

Spring Boot

Docker Compose

Git

Scrum

React

Angular

Jira

Ionic

Odoo

React Navigation

Reanimated

Typescript