Farzad YZ

Farzad YZ

Follow @farzad_yz on Twitter

SKILLS

Languages: J​avascript, Typescript, Golang, Python, PHP, HTML, CSS

Web Development Technologies: Node.js, Express, AWS, React, Redux, PReact, Gatsby, jQuery, AngularJS, PhantomJS, Cypress, Jest, Enzyme, Babel, Webpack, SCSS, GraphQL, Css in JS (Styled Components, JSS, Css modules, ...), RXjs, Travis, Jenkins, CircleCI, Docker

Mobile Development: React Native (Android and iOS), Cordova (Ionic, Phonegap)

Databases: MySQL, SQLite, MongoDB, DynamoDB

Others: TDD, Heroku, Netlify, Now, Cloud, Git, Git Flow, RabbitMQ, SQS, WebSockets, Continuous Delivery, Continuous Integration, Design Patterns, Pair Programming, Agile

Soft skills: Good at communication, Team player, OSS lover, Blogger, willing to talk at meetups and conferences

Currently looking into ​Distributed Systems, Software Architecture, Functional Programming, Reactive Programming

EDUCATION

BSc in Aerospace Engineering, Sharif University of Technology in Tehran

Python programming, Duke University

PROFESSIONAL EXPERIENCE

Senior Software engineer at Futurice

Nov 2018 - Present

Working mostly with Javascript, Typescript, ReasonML, Node.js, AWS, React and React Native.

Software Engineer at Smarp

May 2018 - Nov 2018

Using AngularJS and React

Maintaining legacy product and Developing the new product

Improving Frontend codebase by::: Migrating legacy code into new codebase (React, Redux, RxJS, Webpack):: Creating API Client abstracted on top of Smarp’s core API to handle API data models, data interfaces, custom data selectors/transformers, Testability:: Refactoring i18n mechanism for web and mobile clients on Smarp product:: Refactoring Smarp notification system into an Event sourcing mechanism:: Implementing Smarp’s new Design Language by working tightly with Design and UX team for better E2E and integration testing coverage, solid design components, documentation and right abstractions.

Scrum, Kanban, Agile values, Teamwork, All nerds tech meetings

Project manager of Engineering blog

A member of hiring process

Senior Frontend Engineer at Talos Digital

Jul 2017 - May 2018

Senior Frontend Engineer at Talos Digital

Code Review / Pair Programming / Agile

[CONTRACT]​ ​Lead Javascript Engineer and Consultant at Beeptunes

​Oct 2017 - May 2018

Tech leading and developing on a shared mobile-web React application (similar to Spotify), meant to play and stream audio tracks, albums, artists.:: Written in React and Redux, uses a core package which shares logic and components - between React and React Native, and probably Electron (in future). Uses modern Javascript development environment.

Teaching React, Redux,Modern Javascript and Testing best practices to the tech team

Lead Javascript Engineer and ScrumMaster at PersianGig

Sep 2016 - Sep 2017

Rewrote multiple cloud services (cloud storage, cloudware) 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).

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

Mentored 3 junior FE developers through a solid program (which I designed) and prepare them for team projects.

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.

A member of hiring process.

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

A member of hiring process.

Contributions

Paypal universal video playerReact power-plug Headless statefull declarative react components to manage side effectsAlveron (old: React woodworm) Elm & Reason inspired state management for ReactCarbon Online code screenshots toolingReact Static A progressive static site generator for ReactGraphPack A minimalistic zero-config GraphQL serverReact native card flip Card flip animation for React NativeTalk: Statechart Driven UI Development A talk about why UI development is hard and how Statecharts can help us with thatTalk: Headless React A talk about Headless React components to boost reusability and composability of UI componentsTalk: React without React A talk about Using React or any other UI library on development and wipe them out on compile time in order to save bundle size and a boost in performance on runtimeTalk on Youtube show SoftwareTalks A talk about TDDTalk on Youtube show SoftwareTalks A talk about State of Frontend developmentTalk on CoderConf A talk about State of The life of a software developer in FinlandCo-created open source Persian technical blog PullRequest.irActive member on Stackoverflow with 1500+ reputation