Senior Flutter Developer2019 - 2021Supernova Studio
Technologies: Flutter, TypeScript, GatsbyJS, JAMstack, GraphQL
- Participated in a complete rewrite of the core product in Flutter. This was officially the biggest Flutter Web project at that time, we started when the technology was still early alpha. We had an official Google partner status.
- Was in charge of the company website, which I rewrote from plain React to JAMstack using Gatsby and a headless CMS. The website was a fully custom design and yet allowed the marketing team to make the most changes themselves.
- Participated in setting up a front-end tech stack, evaluating libraries, and refactoring when we switched state management from BLOC to MobX.
Flutter Developer2019 - 2020zeeroo.me
Technologies: Flutter, Firebase
- Developed a production Flutter application from scratch according to design. Developed footprint calculator, offsetting projects store and connected a payment gateway.
- Designed and implemented mobile application backend using Google Firebase.
- Published the app to both Apple AppStore and Google Play.
Front-end Tech Lead2016 - 2018StartMonday
Technologies: TypeScript, React, Node.js, MobX
- Was responsible for setting up the React-based front-end stack as well as leading the development efforts.
- Prototyped and developed the core functionality of both employer and seeker-facing web applications.
- Evolved both front end and back end through multiple refactorings to keep technical debt at bay.
Front-end Architect2016 - 2016Exigy
Technologies: TypeScript, AngularJS
- Reviewed architecture of an Angular application that had multiple maintainability and performance problems. Identified key issues, mostly with using wrong components and an outdated build system.
- Created a prototype using Angular 1.5, Component Router, and some other suitable open-source libraries.
- Integrated Formly framework with OData definitions to allow for sharing validation rules between the front end and back end.
- Set up continuous delivery with GitHub and Heroku.
- Achieved the same core functionality, but with a fraction of the required code. The application is now much faster, and easier to extend.
Architecture Consultant2015 - 2016ZoomSphere
Technologies: TypeScript, Koa, Node.js, Angular
- Executed a broad review of available front-end and back-end technologies to support business decisions about technology for a new product.
- Chose Angular 2 as the most suitable technology. At the time, it was still in beta, but stable enough to start working with and have an official release done before the time of product release.
- Set up continuous delivery and Scrum workflow. Helped with developer interviews and supported the team to get off the ground.
- Did code reviews and consults for tough developer problems to unblock whoever is stuck.
- Maintained high-level control over the architecture and made sure that it evolved in the right direction when new challenges appeared.
Software Architect2015 - 2015Kasra
Technologies: Koa, Node.js, Flux, React, MongoDB
- Devised and implemented the basic structure of an isomorphic (universal) React single-page application. The site now serves as a major publishing platform in Arabic with more than 100k regular users.
- Set up deployment and continuous integration workflows with GitHub, Heroku, Codeship, Compose.io, and AWS, allowing us to deploy features many times a day with confidence.
- Created an online WYSIWYG editor for designing Balfour publishing school Yearbooks. Written in AngularJS and a lot of SVG.
- Worked with SmartBear's AlertSite UXM team to create a unified platform for developing rich web applications. Features configurable widgets, dashboards and colorful charts. AngularJS and Python.
- Created a back-end for BeachApp, an iOS application and social network for sharing travel-related articles. Included a sophisticated MongoDB schema with geospatial index and Node.js server. Integration with Facebook and Evernote.
- Proposed to switch to MongoDB immediately after realizing that the current project suffered from some awful architectural decisions (namely, CouchDB). Created a prototype in 1 week, and rewrote the rest of the codebase in another 2 weeks. This code is still used in production.
- Presented my findings about CouchDB's shortcomings after the rewrite debacle in a "funny and engaging" presentation to the rest of the company. The presentation included was CAP theorem, approaches to indexing, and map reduction. After this presentation, we switched to MongoDB and never looked back.
Developer Evangelist2014 - 2014Socialbakers
Technologies: React, Node.js
- Held presentations at developer conferences.
- Wrote technology articles for the company blog.
- Participated in designing materials for hiring.
- Prepared workshops for employees.
- Worked on application prototypes.
Flex Developer2012 - 2013IBM
Technologies: ActionScript, Adobe Flex
- Created a prototype of the UNO project intended to manage Czech Savings Bank's internal requests.
- Built an innovative screen that used progressive elimination of sources to search for desired request.
- Extracted front-end components from the Brazil project for reuse.
- Worked with architects to provide a well-suited data model and SOAP interface.
- Integrated the front-end application to business process modeling systems.
Flex Developer2011 - 2012Simpleway
Technologies: Ruby, iOS, Android, Java, ActionScript, Adobe Flex
- Designed and developed the front-end for the BaggageUI airport announcement application.
- Rewrote the front-end for the GateUI announcement application with intuitive features for text composition on the touchscreen.
- Designed a domain-specific language for constructing voice annoucnements from pre-recorded segments and rewrote the string templating based on a flexible Java-based builder pattern solution.
- Wrote a Ruby daemon designed to run the UPIS system on an ARM-based single-board computer.
- Ported the GateUI flex application to iOS. It uses stripped-down audio data samples and serves as a showcase application in the App Store.
Lecturer2008 - 2012Unicorn College
- Taught the basics of programming and web development with Ruby and Rails.
- Designed the course materials for both Ruby and Rails courses.
- Wrote a few sample applications showing the best practices with the Rails framework.
- Taped Rails programming screencasts.
- Created an application for random written test PDF generation from pre-defined question pools. This was then adapted for student self-testing as well.
Rails Developer2006 - 2008iQuest
Technologies: MySQL, Ruby on Rails (RoR)
- Advocated a move from PHP to Ruby on Rails.
- Added price reporting functionality to the existing reporting system (StoreData). It used some custom MySQL add-ons.
- Designed a B2B sytem for car parts with configurable user interface for different part types.
- Connected the B2B system to the proprietary TecDoc SQL database of most cars and parts ever made. It had 100+ tables, with no documentation and German naming conventions.
- Wrote a prototype of the mobile web application for taxi drivers on a Windows CE phone with GPS.
Linux Administrator2005 - 2006Virtualmaster
Technologies: Iptables, Bash, PHP, Linux
- Installed, configured, and supported various Linux servers.
- Created a server providing basic functionality for a small company's mail server (Postfix), router and firewall (Iptables), file sharing (Samba), and web server (Apache).
- Designed, implemented, and deployed simple web pages using PHP, MySQL, and Apache.
- Created a configurable traffic shaper using PHP, iptables, and HTB (hierarchical token bucket).
- Configured an IP subnet for a small internet service provider.