About Me

A multidisciplinary and solution-driven Software Engineer, passionate about helping businesses create scalable and maintainable software in a collaborative atmosphere. Self-motivated, dedicated, disciplined and lifelong learner.
Highly skilled in builiding back-end APIs in NodeJS and Python-Flask. Skilled with builiding ReactJS front-end and React-Native iOS and Android clients.

Experience

Software Engineer
Rescale
Mar. 2022 - Present
  • Developing backend microservices (Python, Django, Java, Kubernetes, Docker, AWS, GPC, Azure)
Software Engineer / Software Architect
Briq
Jul. 2021 - Mar. 2022
As a software architect my responsibilities include:
  • Redesigning the CI/CD pipeline to improve code quality, encourage automated testing, and helm charts integrations.
  • Defining sets of best practices and guidelines for engineering teams to standardize the development process with industry standard.
  • Introducing layered architecture for the microservices to ensure they are kept maintainable across teams.
  • Integrating Tyk API Gateway as a reverse proxy ingress controller to proxy the requests to our Kubernetes clusters, and manage authentication and authorization at the gateway edge.
  • Actively participating in brainstorming sessions with other engineers to introduce new designs, architecture, database migration etc.
  • Actively mentoring and helping other developers and team leads to ensure knowledge transfer from architecture team to other teams.
  • Developing backend microservices (Python, Flask, Kubernetes, Docker)
  • Implementing best software design practices in rearchitecting and refactoring existing microservices
  • Mentoring and helping junior developers
  • Actively helping with data analysis and implementation of ML into financial datasets to forecast revenue and costs
  • Extensively improving the testing suite and helping to increase the test coverage for the existing microservices by adding many unit tests and test doubles
  • Actively helping with the development of fronted (Vue.js)
  • Running book clubs to help pass the knowledge and keeping developers updated with the industry best practices
  • Helping with DevOps (Docker, GitLab CI/CD, Kubernetes)
  • Integrating code analytics into the pipeline to guarantee all merge increasing the code test coverages
  • Implemented big data caching microservices to cache bigger datasets that are more commonly are requested by the users (Redis, Redis-Cluster)
  • Implemented an in-house job queueing library with an integrated UI (Redis-Queue, Google Cloud Tasks)
Software Engineer
Broadridge
Jul. 2019 - Jul. 2021
  • Developing web and desktop application in Progress OpenEdge and Javascript
  • Onboarding a new client by developing and implementing their business requirements into Broadridge web application
  • Collaborated in employing design patterns such as Adapters, Facade, Factory, Decorators to redesign the existing legacy procedural codebase
  • Implemented MVC Design pattern into the redesigned codebase
  • Mentor and train new developers on Broadridge stack
  • Adopted Agile methodologies to deliver customized solutions for financial businesses
  • Created an MS Excel Add-In for both web and desktop versions (Winner of internal hackathon across Canada) - NodeJS, Typescript, ReactJS, MS Office JS Library
Graduate Research Assistant
University of British Columbia, Vancouver, BC
Spet. 2016 - Dec. 2018
  • Developed a novel approach to overcome germanium transistors reliability issues through Molecular Dynamics simulations
  • Programmed and created an application in MATLAB to analyze the structural proper- ties for the system of interest, with the ability to analyze other types of MOSFETS
  • Co-authored technical reports including one journal paper and one conference paper
Graduate Teaching Assistant
University of British Columbia, Vancouver, BC
Spet. 2017 - Dec. 2018
  • Provided ongoing support and teaching assistant to classes of over 250 students of Electrical and Mechanical Engineering courses
  • Supervising students to complete their course projects
  • Assisting professors in marking assignments, quizzes, lab reports, midterm and final exams
  • Lecturing tutorials and foundations of experiments

Skills

Languages and Technologies:
Python, JavaScript, Typescript, Ruby, SQL, HTML5, CSS3
Frameworks and Libraries:
Flask, NodeJS, Express.js, ReactJS, VueJS, Redux, React-Native, jQuery
DevOps & Cloud Services:
Google Cloud Services, AWS, Heroku, Docker, Kubernetes
Databases
PostgreSQL, MongoDB, Redis
Concepts
RESTful API, Software Design Patterns, Object-Oriented Programming, Agile/Scrum methodology, Test Driven Software Development

Projects

  • Created a platform for home cooks to sell their home-cooked meals
  • Created a ReactJS and React-Native client for front-end and mobile apps, and Rails API for backend
  • Implemented Stripe API to process payments, and Twilio API to send confirmation message for placed orders
  • Implemented Google Maps API to geocode and show kitchens locations on the map, and find the closest kitchens
  • Implemented ActiveStorage to serve file attachments on Amazon S3
  • Technologies used: Ruby on Rails, ReactJS, React-Native, AWS S3 Storage, PostgreSQL, Google Maps API, Twilio API, Stripe API, Semantic UI
Telegram Event Listener
  • Developed a backend server to watch a personal Telegram account for new group message events
  • Implemented filtering messages based on a regex pattern and forward that message to another channel
  • Integrated logs with third-party LogDNA to benefit from getting notifications on server errors
  • Implemented notifying a Telegram account with the error logs on top of email notifications
  • Implemented ActiveStorage to serve file attachments on Amazon S3
  • Technologies used: Python, LogDNA, Notifier, Telethon, Heroku
QuizzOff - Group Project
  • Technical Lead of a group of six members
  • An open source web app to create multiple-choice quizzes as an instructor, and attempt the quizzes as a student
  • Integrated with a pointing rule to show a leaderboard of test takers
  • Implemented the MVC for creating tests, attempting tests, updating users’ profile
  • Directed members to finish their assigned tasks and helped them to debug their codes
  • Built over the course of a weekend, using Ruby on Rails, HTML, jQuery, Bootstrap, PostgreSQL
Team Picker Express App
  • Created an application to store cohorts information, randomizing teams and assigning members randomly
  • Technologies used: NodeJS, ExpressJS, PostgreSQL, Bootstrap, Knex.js

Amirsalar Sojoudi

Software Engineer/Team Lead
mail@amirsalar.ca
LinkedIn
GitHub
Google Scholar
Research Gate