Web Developer
2018 - PRESENTToptal Projects- Developed, from scratch, an ERC-20 crypto token wallet SPA with Laravel/Vue.
- Created chart.js charts for a hospital patient survey data aggregation SPA.
- Generated styled Excel spreadsheets for a physician practice management service.
- Integrated a brokerage web application with Zoho CRM.
- Documented API with Swagger.
- Moved project from a legacy server to DigitalOcean, configuring LetsEncrypt for HTTPS.
- Automated QA with Cypress.
Technologies: Cypress, DigitalOcean, Swagger, Microsoft Excel, Zoho CRM, Chart.js, Microsoft SQL Server, Laravel, Jest, VueSenior Back-end PHP developer
2015 - 2017LifeWorks Ltd.- Coded the API and several related backend projects in PHP 7, ZF2, npm, webpack, and ReactJS.
- Wrote unit and end-to-end tests to aid development and avoid bugs.
- Made large refactors, clearing up large amounts of technical debt.
- Gave code reviews to enforce good practices and agreed code style. Proposed new mandatory and optional development practices during team meetings.
- Collaborated with iOS/Android/front-end developers, PMs, POs, and QA.
- Created API back-end for a multi-page spreadsheet uploader wizard for uploading users, accepting CSV, XLS, and XLSX.
- Migrated large API project from PHP 5 to PHP 7; migrated other project using Bower and Gulp to use NPM and webpack instead.
- Refactored deep MongoDB DBRefs to use plain objects instead to be able to use $lookup.
- Created queue simulator to test asynchronous tasks triggered by API calls in end-to-end tests.
Technologies: Vagrant, MongoDB, React, PHPUnit, Zend Framework, PHPFull-stack PHP Developer
2012 - 2014Net Efficiency Ltd.- Coded interactive window repair wizard used by countries around the globe.
- Consumed SOAP APIs of various countries for determining cars' models based on license plate numbers.
- Created debug mode for web application to greatly reduce QA time.
- Rewrote from scratch legacy code for appointment booking into an SPA with AngularJS.
- Refactored all legacy codebase's database calls to secure software from SQL injection.
- Reverse-engineered third-party obfuscated JavaScript and changed it to fit our needs.
- Managed Debian back-end servers.
- Taught entire team to use Git and had it enforced for use in lieu of SVN.
- Made all static text on website translatable, and integrated a third party translation service.
- Spoke directly with clients over the phone.
Technologies: Debian, Subversion (SVN), Git, SOAP, MySQL, AngularJS, jQuery, Zend Framework, PHPFull-stack PHP Developer
2011 - 2012Stylers Ltd.- Built many websites for different companies with our own company's CMS.
- Coded HTML and CSS from PSDs, ensuring IE7+ compatibility.
- Taught entire team to use Git via a presentation, and had it enforced in place of SVN.
- Communicated directly with clients over the issue tracker and email.
- Helped improve other team's JavaScript knowledge based on past employment's experienced via presentations.
Technologies: JavaScript, Subversion (SVN), Git, HTML, CSS, jQuery, PHPExtJS Developer
2010 - 2011PPT Consulting Ltd.- Coded a heavyweight UI single page application in ExtJS 3 all alone with only beginner JavaScript knowledge initially.
- Integrated an XML-based API.
- Implemented modular JS with loader code, replicating RequireJS that didn't yet exist at the time.
- Created a JS Promise class before it existed in jQuery or people knew the pattern.
- Dug through source code of ExtJS frequently to see how it worked and debugged the web application.
Technologies: XML, CSS, JavaScript, Ext JSPHP Contract Developer
2010 - 2010PCTrade Ltd.- Developed lightweight alternative to Google Analytics all by myself.
- Performed quality assurance testing and spent weeks eliminating all bugs.
- Created placeholder data generator for the application for demonstration purposes.
- Designed a script to turn older data to weekly or monthly aggregations to save space.
- Defined script tag format meant to be integrated into other websites.
Technologies: MySQL, JavaScript, PHPJunior PHP Developer
2009 - 2009Realio Ltd.- Worked on large pre-existing real estate web platform.
- Created algorithms for new code, tested with PHPUnit.
- Learned to use Vim, Linux and Git which were all enforced by the company.
- Regression tested a large QA wiki documentation.
Technologies: Linux, Vim Text Editor, Git, PHPUnit, CSS, PHP