Consulting

Python

I’m a Python & big data expert with 14 years experience in open source development. I’m the author of several open source libraries, and a frequent speaker at national and international technical conferences and user groups. Read my résumé, view code on Github or connect on LinkedIn .

Some of my preferred tools:  

  • web frameworks: Django, Flask, Celery
  • NoSQL: Elasticsearch, MongoDB, Redis
  • big data & machine learning: Spark, Hadoop, GraphX
  • databases: MySQL, PostgreSQL
  • devops: AWS, Docker, Ansible, Linux

Case Studies

Big Data Architect

Acting as a fractional CTO for an early stage startup, I worked with the founders to define a minimal viable product and then designed a full technical plan and development timeline. The application included real-time crawling of the Facebook API, a streaming, high-velocity recommendation engine and storage of billions of rows. I then implemented the core storage layer with full test coverage and performance metrics.

High Performance API Server

Working for a security visualization startup, I wrote a high-performance streaming API server using Flask to query Apache Spark. The extensible framework streamed large results sets directly to browser in JSON, reducing load time by half and memory usage by 90% versus a naive approach.

Small Business Workflow

I designed and implemented a grant application & management workflow for a non-profit foundation. The web app allowed users to directly manage grants, and enabled employees to move off a manual email-and-Excel solution, reducing overhead, errors & costs. I collaborated with a user interface designer to deliver a responsive design that worked on mobile and desktop browsers, as well as print-ready PDF generation.

Technical Hiring

I helped the founder of a new NGO to build a technical team. After evaluating the project and timeline, I made recommendations on staffing needs. I reviewed candidate’s resumes, conducted technical interviews and reviewed code samples.

Project Rescue

An advertising metrics company was left hanging after a previous contractor dropped out. I finished a web crawler project written in scrapy &PhantomJS, improved deployment reliability using Ansibile, and wrote high-level documentation in Sphinx.

Team Fill Out

I pitched in at a San Francisco startup to close a staffing & skills gap. I implemented JIRA integration with a bespoke software as a a service platform, using Flask, OAuth2 & Python Requests. The client was able to achieve a key development milestone and acquire new customers as a result of my work.

How I Work

Every project is different and you want to work with someone who’s a good fit for yours. Here are some things you should know about me:

I pride myself on the quality of my code; the software I deliver is well-organized and readable. All code includes full source code documentation, and I strongly prefer to write tests and high-level documentation when timeline & budget permit. You and your technical team will be able to easily continue development – you won’t need to call me months later for support. I want to move on to my next project cleanly, and so do you. 

I respect your resources and your time. I’ll be honest throughout about what tasks are a good use of my skills, and will gladly refer you to someone else if appropriate. For liability & tax reasons, I’m only able to work on a corp-to-corp basis. I bill hourly for all work on existing code bases; project rates are available for new software. As a show of good faith and serious intent, I request a deposit from new clients before starting work.

I’m available for remote projects only. I’ve been telecommuting full-time since 2003, and I’ve found that good communication is essential. I value regular conversations with clients and collaborators, whether through email or voice/video call. Short, iterative feature cycles help me provide better results as a project grows and changes over time.