A listing of my work experience, from most recent to least recent:
Switched teams to the embedded development group. Wrote firmware to communicate between the motor controller microprocessor and the phone app for IoT smart home blinds. Conducted a security review and fixed design issues in the secure communications protocol, implemented those fixes in the embedded code, and assisted the Android and iOS developers to make the minimal needed changes on their side.
Hired to rewrite PHP accounting and timesheet application in NodeJS without source or spec save some designs. Project changed after a year or so to use deepstream + rethinkdb, then about 8 months later to loopback, then was somewhat canceled/shelved. Worked next on a glue app to bind disparate services to replace the PHP code (using express), and also on a UWP (C#/XAML) kiosk display app. When the Kiosk project died, moved to server software for network communications between an app and embedded systems. Continued to maintain the glue app alongside embedded development and after.
Find clients, implement code per requirements, tracking time used and minimizing client costs. Practice new languages, frameworks, and tools.
I worked mostly on the complicated syncing logic behind the Intuiplan system. I worked well with Yii, new to me at the time, and was able to make improvements to the site architecture. Additionally, I taught myself how and implemented many unit tests across the legacy codebase.
In a team of 5, enhance and support the core product. Beta test new internal framework developing a new product for customers. In a team of 2, develop internal management software. Beta test another new internal framework. I worked on the main Lead Management Platform product for approximately 4 months, then filled a need supporting responseaudit.com for several months, beta testing our internal design framework. I significantly reduced the data entry workload of auditing a company using a bookmarklet, with a significant chunk of domain knowledge to fill in form fields. The bookmarklet was successful enough that the completely automatic web crawler and form filler was shelved, and I was moved over to work with another programmer to pick up our internal management site rewrite. Over 6 months or so we juggled with the code into a fairly readable state, while porting the bulk of the remaining features from the old site over. In the end I was placed in the new R&D department, to help iron out and alpha test the design of another new internal framework.
As a member of the website team, maintain Zagg.com. Interface with external APIs. Write internal and external APIs. Maintain zagg.com, access various external APIs (memorably Best Buy's), introduce and maintain new APIs, all PHP work with some JS (Prototype, jQuery). Wrote and carefully tested a sed script to clean up inconsistent whitespace formatting across our software. Cut one significant file down from 4000 lines to just over 2000 lines of mixed HTML and PHP by careful analysis and understanding, and encapsulating some behavior into a pair of classes. I chose not to exercise the hire option in the contract to hire. I am most proud of the patch I wrote for the PHP interpreter (for bug 49853), which was released in PHP 5.3.11.
Architect and implement custom database driven websites for clients. Complete/rescue projects abandoned by outsource programmers. Architect and build new framework for in house social networking product with extensive plugin support, working with a team. Build several new analytics products to sell to customers. I was hired as a PHP Programmer III to work on client sites, but was moved to a Lead Programmer role for a "do everything" site shortly after joining the company. Mostly PHP, some JS (Mootools, jQuery), XHTML (semantic). Aspect Oriented Programming (AOP) framework (CakePHP based) conception, implementation, and support, with a patent request filed for some of the implementation. Team fluctuated from 4-9 programmers typically. I additionally have partial responsibility in several products including Hit Convert (I think this was the A-B testing tool), Hit Essentials (web traffic analytics), and Hit AdSpace (self hosted ad manager). I was loyal to the company, and went without pay for the last 3 months before the company went out of business.
Keep site online, fixing any bugs which develop due to deprecated code. Manage backups, redundancy, hosting costs, etc. Keep in contact with community, and implement new features.
Develop and support the SkyLords.com website. Convert a collection of similar flat file databases across 5 CDs into a single relational database.