Bremen, Germany-http://jimjkelly.info
Jim Kelly
I've a varied background in tech - I've worked on the operations side and in development and over
the years I've worked hard to automate as much as possible. Processes should be repeatable and
expressed as code. I think this gives me insight that's valuable on both small teams where people are
expected to be a jack of all trades as well as larger ones where understanding the full application
development and deployment pipeline can make everyone's life a lot easier.
I like working on teams that hold each other to high standards - where continuing improvement of
both staff and product is something strived for every day.
Open to remote positions only. I am a US citizen current living in Germany. I most frequently work
with US companies, and am able to work on Eastern Time, and might be willing to consider Pacific
for the right work.
Technical Skills
Experience
Likes:
linux python amazon-web-services docker reactjs
Dislikes:
windows php
Senior Software Architect and Developer – Configstr
docker, flask, mongodb, amazon-web-services, python, reactjs, redux, amazon-s3, redis
Nov 2016 → Current
Architected and developed a configuration as a service platform. The back-end is Python (Flask) backed by MongoDB and
Redis, and the front-end is static React hosted on Amazon S3.
Senior Software Architect and Developer – Vuse Media Distribution
Nov 2015 → Nov 2016
docker, flask, postgresql, video.js, elasticsearch, amazon-web-services, python, reactjs, redux, amazon-kinesis, amazondynamodb, aws-lambda, boto
Architected and oversaw development for a video distribution platform extensively leveraging AWS technologies, including
Lambda, S3, and Elastic Transcoder. Back-end technology leverages a Python Flask API backed by Postgres and search
using an open source Elasticsearch library that I developed. Front-end development includes a client-side React/Redux
application as well as a player based on Vanilla JS and a VideoJS player. Analytics built up around a series of Kinesis
streams, DynamoDB tables, and Lambdas.
Development and deployment makes use of Docker, and there was a large focus on continuous integration, automated
testing, and an automated release process.
Freelance Software Developer / DevOps Practitioner – Everywhere, Anywhere
linux, python, javascript, amazon-web-services, continuous-integration
Mar 2013 → Nov 2015
Doing freelance work I focused on several areas:
Infrastructure automation, using AWS and Chef for deploying Linux to the cloud.
Release engineering, including developing systems for internet-enabled content delivery, using Python (Cross
platform Windows and OS X), ObjC (OS X), Angular, and S3.
Web development using Python's Flask/Django, Ruby's Sinatra, and jQuery. Working proficiency with
HTML/JS/CSS.
Mobile development on iOS using native Cocoa/Objc and wrapped HTML/JS approaches.
Tools and Release Engineer – Nemetschek North America
python, angularjs, amazon-s3, py2app, py2exe, objective-c
Sep 2007 → Mar 2013
Deployed build and release automation tools, scaling up release duties to include localized release versions for international
distributors from from Japan to Germany.
A large focus on process automation, repeatability, and verification.
Provided recommendations for complete automation and elimination of the release aspect of my position.
Programmer/Consultant – Blue Penguin Labs, Inc.
linux, python, bash, perl
Nov 2006 → Sep 2007
Desktop application programming in Python and Linux systems administration for clients in a variety of industries. Typical
duties would include fixing existing systems at a client site, as well as scripting automation to improve stability in an
environment.
Senior Systems Administrator – PatriotNet, Inc.
linux, bash, apache, perl, bind, sendmail
Aug 2004 → Nov 2006
Managed approximately 15 production Linux servers in an ISP and web hosting environment. Regularized update scheduling,
and move to a more stable Linux distribution. Applied grsecurity to improve system security. Audited custom deployment
scripts to improve security.
Education
B.A. Central European, Russian, and Eurasian Studies – University of Maryland
ms-word
2004 → 2007
Representative for Central European, Russian, and Eurasian Studies on the Advisory Board to the Dean of the College of Arts
and Humanities, Community Advocate for the Student Judiciary.
Stack Overflow – https://stackoverflow.com/users/457715/jimjkelly
Projects & Interests
Sep 2010 → Current
Written 20 answers. Active in python.
Missile Exchange – https://github.com/jimjkelly/missile-defense
reactjs, redux, html, css, mapbox, amazon-s3
Dec 2016 → Current
Under the direction of an area expert, building a site to allow for easy generation of calculations regarding probabilities of
success of a missile strike, given user-specified defenses.
lambda-deploy – https://github.com/jimjkelly/lambda-deploy
python
Apr 2016 → Current
Easily Deploy Code to AWS Lambda
cloudfront-invalidate – https://github.com/jimjkelly/cloudfront-invalidate
javascript
Mar 2016 → Current
Invalidates a CloudFront Distribution, Easily
printen – https://github.com/jimjkelly/printen
python
Feb 2016 → Current
Flexible, minimalist support for Elasticsearch in Python projects.
yaep – https://github.com/jimjkelly/yaep
python
Dec 2015 → Current
YAEP - Yet Another Environment Package
SleuthingFromTheInternet – https://github.com/jimjkelly/SleuthingFromTheInternet
html
Jul 2012 → Current
Aggregating seismic data so you don't have to.
Uploading Client-Side Files Directly to S3 – http://www.vusemedia.com/blog/posts/client-uploads-to-s3.html
Public Artifacts
This article describes the process for generating secure, temporary credentials on your API server to allow client-side JS to
upload to S3 directly. It also describes how to set up the client-side javascript as well.
Readings
Software Estimation: Demystifying the Black Art (Developer Best Practices) – Steve McConnell –
http://www.amazon.com/Software-Estimation-Demystifying-Developer-Practicesebook/dp/B00JDMPOVQ%3FSubscriptionId%3DAKIAIIBINOD46VC3JCLQ%26tag%3Dstackoverfl0820%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB00JDMPOVQ
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) – Frederick P. Brooks Jr.
– http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/-
Essential Scrum: A Practical Guide to the Most Popular Agile Process (Addison-Wesley Signature Series (Cohn)) –
Kenneth S. Rubin – http://www.amazon.com/Essential-Scrum-Practical-Addison-Wesley-Signature/dp/-
JavaScript Patterns – Stoyan Stefanov – http://www.amazon.com/JavaScript-Patterns-Stoyan-Stefanov/dp/-
Python Essential Reference (4th Edition) – David Beazley – http://www.amazon.com/Python-Essential-Reference-DavidBeazley/dp/-
Site Reliability Engineering – Betsey Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy –
http://shop.oreilly.com/product/-.do
This book is a great overview of implementing new operations practices at scale. A lot of really valuable insights, such as the
concept of an error budget, make this book a must-read.
DevOps Handbook – Gene Kim, Jez Humble, Patrick Debois, John Willis
Tools
First Computer:
Tandy 1000 HX
Favorite Editor:
Sublime Text in a GUI, vim on the CLI