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
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
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