- I enjoy solving social and business problems with creativity and technology.
- I am constantly learning better ways to get things done.
- I enjoy working with smart, creative people who like what they do and are open to sharing their knowledge and ideas.
I first began programming as an open source contributor to the Simple Machines Forum software, developing a few different plug-ins, which are still being used to this day by hundreds of websites. I have continued to contribute to the open source community in the form of code, technical support, writing documentation, and have been organizing a programming meet-up in Prague since early 2016.
Early professional career
I've had the good fortune to be able to work on a wide variety of different projects with many nice, talented people. My first full-time position as a programmer was at a web agency in Chicago where I worked on a few different projects, one of which in particular was quite fun and challenging. I was tasked with integrating numerous third-party services, migrating existing systems, and developing a robust search solution.
In the spring of 2012, I joined an education start-up with the goal of fixing the broken university-level textbook industry in the United States. There I was tasked with designing, developing, and maintaining a suite of products including an e-reader web application and e-commerce system.
Most recent experience
Since moving to Czech Republic (late 2013) I've been working as a freelance consultant. Some of my recent work:
- Complex web applications using the above open-source digramming library
- A single-sign-on and file sharing solution
- Improving quality and stability of software with automated testing
- Server-side frameworks: Express.js, Laravel, CodeIgniter
- Client-side frameworks: Backbone.js, AngularJS, Vue.js
- Relational databases (RDBS): MySQL, PostgreSQL, SQLite
- Other databases: MongoDB, Redis
- Object Oriented Programming
- API Design, Development, and Consumption
- REST, Versioning, Authentication
- Integrations with third-party APIs and Web Services
- Application Security
- MVC Architecture
- Automated Testing (Mocha, Selenium)
- Version Control (Git)
- Technical Documentation
- Linux (Ubuntu, RedHat)
- Bash Scripting
- Nginx and Apache web servers
Development and Operations
- Simplifying deployment processes
- Automated backup solutions
- Scaling web infrastructure
- Securing infrastructure
- HTML5: Canvas, WebSockets, Audio, Video
- Understanding of HTTP
- Understanding of common XSS and CSRF attack vectors
- Web optimization techniques
- Bitcoin payment system integrations
- Apache Solr (search)
- Hardware: Raspberry Pi
December 2013 to Present
Since I moved to Czech Republic I've been working as a freelance consultant. In addition to consulting, I've been developing a few of my own projects and I organize a programming meetup group in Prague.
Software Developer / February 2015 to Present
At ClientIO, I have been working on several projects including:
- JointJS - an interactive diagramming library
- Rappid - a UI framework on-top of JointJS
- Mindjet Cloud - a web-based single sign-on and file sharing system
Lead Developer, Project Architect / June 2012 to December 2013
At Collegiate Learning my responsibilities included the design, development, and deployment of a suite of products in the education space. I also managed the infrastructure that supports those products. It was a rewarding experience being responsible for the full life cycle of a product; especially when real people use and depend upon the things I've created.
Web Developer / September 2011 to May 2012
At Oncall, my roles included system integration, API development, designing and implementing a custom search solution, client-side application development, and traditional front-end development. It was a wonderfully challenging experience, and allowed me to grow professionally. I had the pleasure of working with some wonderful, talented people; many of whom became good friends.
May 2009 to September 2011
Open Source Contributor
March 2008 to Present
I first started programming by developing plug-ins, used by hundreds of websites, for Simple Machines Forum and provided support to users via its community message boards. I have continued my open source development efforts to the present day.