- Architecture ConsultantZoomsphere2015 - PRESENT
Technologies: Angular 2, NodeJS, Koa, TypeScript
- Executed a broad review of available front-end and back-end technologies to support business decisions about a 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 ArchitectKasra2015 - PRESENT
Technologies: MongoDB, React, Flux, Node.js, Koa
- Set up deployment and continuous integration workflows with GitHub, Heroku, Codeship, Compose.io, and and AWS, allowing us to deploy features many times a day with confidence.
- Frontend ArchitectExigy2016 - 2016
Technologies: AngularJS, TypeScript, Component Router
- 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 opensource libraries.
- Integrated Formly framework with OData definitions to allow for sharing validation rules between front-end and back-end.
- Set up continuous delivery with Github and Heroku.
- Achieved the same core functionality, but with fraction of required code. The application is now much faster, and easier to extend.
- 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 EvangelistSocialbakers2014 - 2014
Technologies: Node.js, React.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 DeveloperIBM2012 - 2013
Technologies: Adobe Flex, ActionScript
- 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 DeveloperSimpleway2011 - 2012
Technologies: Adobe Flex, ActionScript, Java, Android, iOS, Ruby
- 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.
- LecturerUnicorn College2008 - 2012
- 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 DeveloperiQuest2006 - 2008
Technologies: Ruby on Rails, MySQL
- 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 AdministratorVirtualmaster2005 - 2006
Technologies: Linux, PHP, Bash, Iptables
- 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.