- Code MonkeySynergy Sky2015 - PRESENT
Technologies: Python, Java, C++, C#, XMPP
- Added test support to the C# and Java portions of the project.
- Set up effective build and test environments using tools such as Docker, Vagrant, and Gradle.
- Programmer, Scrum Master at TMS TeamCisco2011 - 2014
Technologies: JRuby, Java, Spring, Sinatra
- Introduced characterization testing with simulators for managing volatile third-party dependencies.
- Booted up the Cisco Cloud fusion project using Docker, Rails, and AngularJS.
- Created back-end software for video conference scheduling using Java and Spring/Jersey. Used JRuby and Cucumber for testing.
- Created back-end software for managing Virtual Video Conferencing Rooms using JRuby and Sinatra.
- Coached and facilitated the realization of a continuous improvement process, TDD, test coverage, and reliable testing.
- Lead programmer - Endpoint Web InterfaceTandberg/Cisco2010 - 2011
Technologies: Python, WSGI, C/C++
- Ported the existing web interface from C to Python. Created platform support for Python on the embedded system in the process.
- Created tools to realize continuous integration of the web application including e2e target testing using Git, Python Fabric, and unittest.
- Created a framework for web application development in Python using WSGI micro-framework components.
- Created integration with endpoint authorization layer C-code with ctypes/ctypesgen that made it easy to move appropriate functionality between C and Python.
- Created a web-based call application with long-polling for server push.
- Embedded Systems Developer, Protocol and ApplicationsTandberg2007 - 2010
Technologies: C++, C, Python, Embedded Linux
- Created frameworks and integration solutions to make effective unit testing possible. C++, Valgrind, Python, GDB.
- Created tools and solutions for e2e testing by writing an alternative deterministic runtime system for the endpoint application, later used to revolutionize the way features are developed and tested.
- Realized the media control for the different types of conferences by integrating with video and audio subsystems.
- Created support for multipoint conferencing.
- Ported various features from the preceding MXP series into the C-series code base.
- Partner, ProgrammerFatguy2006 - 2007
Technologies: Ruby On Rails
- Created an internal blog solution for the a customer.
- Created a platform for rich media publishing for the customer.
- Created a SaaS for creating your own online store, with support for extensive customization by the customer.
- Created a full-stack solution for lightweight website creation and updating.
- Created lightweight Rake-based continuous integration tooling.
- Created a catalog application for the art gallery.
- Solo Programmer - Production SystemsIn/Out ASA2003 - 2006
Technologies: Python, ZODB, Twisted
- Created a web based production system for recycling IT equipment.
- Created a web based sales system using the inventory created from the production system.
- Created bar-code printer integration for identifying equipment and supporting production-phase tracking.
- Integrated the sales system with a third-party CRM solution.
- Created a migration solution for object databases, making schema evolution simple.
- ProgrammerCyberwatcher1999 - 2001
Technologies: MSVC, .NET, Python, COM/DCOM
- Created a COM-based IE plugin for registering points of interest in web pages.
- Created an ASP WAP application with Python for reporting changes in points of interest in web pages.
- Created a solution for analyzing (guessing) the semantic structure of a news page, for use in a news watching service.
- Created unit testing solutions for the Python project.
- ProgrammerOsiris Data1997 - 1999
Technologies: C++, MFC, COM, SQL
- Created a tool to synchronize source code between multiple sites using SMTP.
- Created a test station tool to specify tests for chips from an electronics manufacturer.
- Created a tool to help debug machine code generation issues in an application for programming distributed fire alarm systems.