As I write this it’s the evening of January 23, 2022. A little over two weeks ago I gave notice at my now-former employer, and as of two days ago I am officially on the job market.
If you already know me and are interested in talking about an opportunity, please get in touch. Or if you want to know a bit more first, read on…
Who I am
It’s a bit tricky to pin down when my “career” as a programmer began. I first got paid to build a website sometime around 2000-2001, first started seriously accepting contract work as a programmer in late 2004, landed my first full-time job as a programmer in 2006, and have been employed by various companies, with occasional breaks in between, ever since.
Most people who follow this blog know me because of my involvement with Django. That first job back in 2006 was at the Lawrence Journal-World, the newspaper company in Kansas where Django was originally developed. I liked Django pretty much immediately when I saw it — at the time, web development in Python could be rather cumbersome — and getting to go join the team that developed it seemed like a dream job.
I spent five years there, and began a deeper involvement with the Django open-source project that far outlived my employment at the Journal-World. Afterward, I spent around four years at Mozilla, working on the software platform that (at the time) powered Mozilla Developer Network, and since then I’ve been at a couple of startups trying to improve health care.
In the meantime I wrote two editions of a book on Django, held a lot of leadership positions in both the Django open-source project and its supporting non-profit foundation, helped rewrite its technical governance, and gave quite a lot of conference talks and tutorials, not just on Django and Python but also on a variety of other adjacent topics, from security to documentation.
I do not have a “degree in Computer Science or equivalent field”, and generally I am skeptical of their necessity for day-to-day working programmers. Nor am I someone who began programming in the womb, and I also don’t think you have to start as a young child to be productive. On a related note, I also believe typical tech interviewing/hiring processes are badly broken. I’ve put in work at multiple employers to try to improve their processes, and written/presented various things on this blog and elsewhere about what’s wrong and how to fix it. I also have been known to blow off steam by putting together odd solutions to common tech screen questions.
I do have many years of practical experience at scales both large and small, doing both new/greenfield projects and maintenance of existing ones, working with both technical and non-technical people, in teams of various shapes and sizes. When it comes to building backend web apps I know at least a bit about a lot of relevant things (security, text processing, Docker/infra, etc.) and a lot about a few specific relevant things (Python, Django, core design patterns).
What I’m looking for
Django, and my involvement with it, has opened a lot of doors for me. And now, coming up on 17 years since its initial release, I’m still very much a fan of it, and of the Python programming language. And, of course, I have quite a bit of experience with both of them.
So ideally I’m looking for someplace where I can put my Django and Python experience to work. But not someplace where being “the Django guy” is the entirety of the role. I’m not and don’t want to be one-dimensional, and in my last couple of job searches I’ve actively prioritized finding roles where I can do some Django stuff and be a resource for the rest of the team, but where I can also branch out and learn/work on other things, and I’ve found that far more interesting and rewarding.
For example, I spent a lot of the last year working on improvements to my employer’s developer tooling and experience, making it easier for people to start and work locally with Python-backed services and helping to standardize the way they were built. Along the way I didn’t write all that much Python, but did get to learn a fair bit about Docker and some other tools (and that there’s still a lot more to learn about them). A little while before that I was working on a performance and load-testing tool. And at both that job and the previous two I was involved at various points in security processes. I still did plenty of things with and related to Django — everything from building apps to answering questions and writing internal docs/presentations — but being able to continually take on and learn new things was much more fun and much better for me than just spending all day every day banging out Django apps.
So that’s a very high priority for me.
I also want to work someplace where I can feel my work is useful. My last two jobs have been at health-care companies, and at the most recent one I was not only an employee but a multi-time user of the company’s services. I got to see both from my own experience and from reviews how the things we built there were actively helping people, and that’s a very good feeling.
Some other things I look for:
- A company culture where saying “I don’t know” is OK, and there’s no need to act like you were born knowing everything about everything. My ideal is a culture which recognizes that everybody has things to learn and things to teach.
- A commitment to real work/life balance. Nobody should have to deal with crunch-time-all-the-time and nobody has the stamina to do it long-term and remain healthy. If your company believes that you have to hustle all the time, then I will hustle your company’s offer right into my computer’s trash folder.
- A willingness to support open source. The Journal-World famously released Django to the public and set up a foundation to support it, but other companies I’ve worked for have done their bit, too: everything from donating to projects and sponsoring conferences to supporting employees putting in their time. Companies which benefit from open-source software have a responsibility to pay it forward, and I’ll give priority to those who actually do it.
I’m currently located in the SF Bay area, and though I’ve moved cross-country for jobs a couple times I would prefer not to do so again. I have quite a lot of experience working remotely, dating to well before the current pandemic, and a strong preference for continuing to do so.
I’m much more interested in finding the right thing than in just finding a thing, so I’ve got some things to keep me busy for a bit — some writing I want to do, some software projects in need of updating, some reading to catch up on and some other hobbies I’ve been neglecting — but if you’re hiring and what I’ve written above sounds like a good fit for you, please do get in touch.