Web Development: Node.js, jQuery, AngularJS, React, Redux, HighCharts, PhantomJS/Jasmine/Enzyme, Babel, Gulp/Grunt/Webpack, SCSS
Mobile Development: Cordova, React Native, Ionic
Databases: MySQL, SQLite
Other: TDD, Heroku, Git, Git Flow, RabbitMQ, WebSockets, Continuous Delivery, Continuous Integration, Design Patterns, Pair Programming, Agile
Currently looking into Microservices, Architectures, Performance
Unfinished BSc in Aerospace Engineering, the Sharif University of Technology in Tehran
- [ CONTRACT] Senior Frontend Engineer at Talos Digital, Colombia / 18 Jul 2017 - Present
- Developing and maintaining USA Real Estate company (NVC) online service, with support for multiple roles such as: appraisers, asset managers,… using AngularJS
- Code Review / Pair Programming / Agile
- Lead Frontend Engineer, ScrumMaster at PersianGig / 6 Sep 2016 - 7 Sep 2017
- Rewrote multiple cloud services from Dojo Toolkit to React/Redux.because of better UX, being responsive for mobile users and increase in performance, our customers grew up to 1 million and 450 thousand. (45% growth)
- Upgraded a direct HTTP upload service to a Node.js, concurrent, chunk enabled uploader. Since the service is more reliable and supports link resumes, drag and drop and folder upload, our upload instances grew up to almost 20,000 instances per day and decreased the number of tickets complaining about failed uploads, hence caused a better situation for our customer support team. (logs indicate a 60% growth in upload usage).
- Wrote unit tests for FE projects and 80% code coverage to increase consistency and avoid common mistakes. Before that, the codebase didn’t have any.
- Brought Git Flow to the dev team that decreased the number conflicts and increased development speed on FE codebase.
- Gathered a small team of developers to run daily workshops on tech topics such as CI, DevOps, … to make sure everybody learns as a team.
- Added up a tiny script to Jenkins build flow to cache none-updated assets that decreased FE build duration up to 50%.
- Integrated upload interface with Android/iOS camera to increase UX.
- Reverse-engineered youtube’s embedding system to reuse it for our services, before that, the service didn’t have such a feature.
- Introduced the FE team to Flow for static typing.
- Came up with an ACL system on projects that helped the company to reuse code base and extend its business model from B2C to B2B that eventually led to a 200,000 Euros contract with the main telecommunication service in Iran called Irancell.
- Rewrote file preview/download service to Node.js server side rendered pages.
- Web Developer at Bertina Co / 31 Dec 2014 - 6 Sep 2016
- Developed Employees Portal with AngularJS, a service to manage employees, monitor their activities, request for vacations, etc
- Developed Minisite, a service to provide minimal, responsive personal portals with many themes and live management service using AngularJS, jQuery, SCSS
- Developed Chia, an Android application with a gamification approach to learning the English Language, including different levels, payments, live competitions using jQuery, Cordova, Socket.io and Node.js
- Developed Hamkalam, an IM application for Android devices providing an anonymous chat service to public using AngularJS, Node.jS, and MySQL
- Developed CartoonLand, an Android application providing cartoons for kids, streaming online videos with multiple qualities, download manager to cache downloaded videos, user management, IAB for payments using jQuery, Cordova, PHP, MySQL
- Developed multiple enterprises and personal responsive websites using Wordpress, jQuery, AngularJS
Contribute to Open Source Projects like:
- PayPal (Universal React video player)
- Ant Design (React based component framework)
- Todo-Meter (Professional task manager for personal users)
Writing fun and functional open source libraries:
- InstaGrid , a library to divide an image into different number of images for using on Instagram . Enhance HTML5 video player , increase accessibility of HTML5 built-in video element
- Dynamic TicTacToe, a game with support for dynamic number of matrix cells
- Active member on StackOverflow.com with 1000+ reputation.