Staff vs Principal Software EngineersSeptember 1st , 2018
As a follow-up to my last post Designing Engineering Culture @ Shutterstock, I wanted to get a little bit into some of the rationale behind the decisions that were made. As a quick refresher, here’s the general track framework:
Designing Engineering Culture @ ShutterstockAugust 31st , 2018
Clear definition of levels and active enablement of individual career development are cornerstones of healthy, high-performing, highly-engaged engineering organizations. At any given point in time, it is important for engineers and managers of engineers to comprehend where they stand, the possible paths before them, and the specific behaviors and impact expected of them at each level from both performance and career progression perspectives.
Jekyll Blogging Integration for iOSDecember 24th, 2017
Per my last post Blogging on iOS with Pythonista, Gitlab & Dropbox, I pushed the integration to Github. I’m going to publish this post using the plugin. Everything seems to check out during tests and the integration has been pretty seamless with one exception that I’ll fix in the near future, namely:
- committing new posts to the Gitlab repo and subsequently using Dropbox sync to move the new post to the appropriate Jekyll location fails to account for the fact that the local Git repo in Dropbox isn’t aware of the new commits and sees it as new files
- the solution to this is to run a script on the server after successful publishing which performs a hard reset to master using the following:
Blogging on iOS with Pythonista, Gitlab & DropboxDecember 1st , 2017
I’ve been playing around with Pythonista on my iPad Pro trying to figure out how to automate a blogging workflow that begins and ends on this device. My primary objectives were to:
- be able to write new posts from my iOS device
- automatically commit posts to my remote git repo, both draft and final
- automatically sync the file to the correct Dropbox directory (which is synced to a headless Dropbox instance on my server, from which the post is auto-generated and made live)
English to Computer ScienceOctober 2nd , 2017
People are often more surprised than not when they hear that I earned my undergraduate degree in English Literature/Literary Theory—not as a fact in and of itself, but when considered alongside my graduate degree in Computer Science. There is a perception that these disciplines are diametrically opposed, where one is a hard science and the other is something that seems entirely otherwise. Though this was not a course I’d deliberately charted out in undergrad looking forward, in retrospect it is easy for me to see the path that led me between these areas of study and through the course of my career.
Parting Lessons in LeadershipSeptember 30th, 2017
Lessons in Leadership
Etsy's Charter of Mindful CommunicationSeptember 29th, 2017
It’s tough to navigate a chorus of personalities without a common, shared foundation upon which to base communications. This charter was conceived and rolled-out by Etsy’s Culture & Engagement team, embodying the best of its culture and mindfulness in order to achieve optimal benefit. It’s a brilliant articulation of how to ensure a diverse group of people can communicate and work effectively together by following a few basic principles.
Continuing Adventures in Machine LearningSeptember 16th, 2017
In the last post, I wrote about calculating the cost of linear regression learning models combined with using gradient descent to find the minimized cost.
Rediscovering Math Through Machine LearningSeptember 10th, 2017
There are two major, obvious, technology trends of interest to me that are being used to solve business problems today: blockchain and machine learning. The promise of AI has tantalized computer scientists and the general public for a long time, with general human intelligence out of grasp even still, however, modern advances in approaches to implementing machine learning algorithms coupled with a dramatic growth in computational capacity have yielded powerful tools to address discrete problem domains. What machine learning isn’t, is trying to build human-level general intelligence into machines. Instead, as the name connotes, it’s about creating programs that enable computers to use example data or past experience to solve a given, discrete, problem.
How I Came to RunFebruary 20th, 2017
Run or Die
Photos from Japan and KoreaJanuary 11th, 2017
Caroline and I traveled to Japan and Korea over the course of 2 weeks in late 2016. These were taken with my previous Nikon D700.