As with any profession, hobby, or endeavor, being a developer can leave one with existential questions — what type of developer are you, you might ask yourself. Are you a 10x developer, a 1x developer, or are you even one at all? Maybe you’re more of a script kiddie, tinkerer, or perhaps you feel yourself to be a secret imposter.
Personally, when I’m asked if I’m a developer, programmer, coder, what have you, the answer usually comes in a jumbled word salad of explanation and qualification that finally ends with me offering an assurance that I can somehow get computers to do what I need if I put my mind to it… but I’m no programmer, really.
This week, a couple of articles crossed my feeds that have again spurred me to these ideas, though rather than offering more questions, they provide some solutions. First, an article here on The New Stack helps to tear down the assumption that there even exists such a thing as a 10x programmer. A 10x programmer, in case you were unaware, is said to be a programmer who is 10 times more productive than their peers, through some assumption of sheer intellect, talent, devotion, and passion. Much like the once-fabled “code ninja” or “rockstar engineer”, the 10x programmer outshines and stands shoulders above all others.
If you were trying to define yourself in terms of this superlative being, fret not, because the study finds instead that “when we consider the entire body of work, not just the outliers, the evidence for super programmers looks weak” and “while some programmers are better or faster than others, the scale and usefulness of this difference has been greatly exaggerated.”
Now, for me, I never even questioned whether or not I was that good of a programmer, but I did wonder instead if I were rather something close to a 0x programmer — after all, I don’t even have much in the way of keywords or syntax of any particular language hardwired into my brain these days, so what am I other than a hobbyist, at best? I’m a guy who, when called upon by the non-profit group I volunteer with, I can make the website work again. I can handle code changes and even add new functionality. I can do things to WordPress that blow their minds with relative ease.
This went by randomly on an imageboard I was watching. The guy in the glasses is my friend Jason Skiles, who worked on NFL Blitz and WWF Wrestlemania (for which this was shot for some reason). Jason says he wrote the line, too pic.twitter.com/cAqW5F0XLf
— Jason Scott (@textfiles) February 19, 2020
The second article that crossed my feed this week posed another possibility for what it is people like me are, with the comparison of an app and a home-cooked meal by author and “enthusiast-level programmer” Robin Sloan. In the post, Sloan talks about an app he put together over a week’s time using “an AWS S3 bucket to hold the photos and videos, a couple of AWS Lambda functions to do things” and distributed to the user base — his family — over TestFlight, where “it shall remain forever: a cozy, eternal beta.”
His family had been using a different app to talk to each other for years, he explains, until it recently shut down. Rather than “settling for a corporate messaging app”, he built a replacement that he says is “inseparable from the spirit in which it was made” — piecing together bits of open source code and using the managed tools of the trade. “In the 21st century, as long as you’re operating within the bounds of the state of the art, programming can feel delightfully Lego-like. All you have to do is rake your fingers through the bin,” he writes. It’s Sloan’s description of his resulting identity crisis, however, that sounds all too familiar and really struck a chord:
For a long time, I have struggled to articulate what kind of programmer I am. I’ve been writing code for most of my life, never with any real discipline, but/and I can, at this point, make the things happen on computers that I want to make happen. At the same time, I would not last a day as a professional software engineer. Leave me in charge of a critical database and you will return to a smoldering crater.
Making this app, I figured it out:
I am the programming equivalent of a home cook.
Programming for yourself, he says, is much like cooking for yourself, and differs as much from programming for a living as does being a professional chef. Now, at the very least, I think I have a new way to answer that age-old question “do you know how to code?”
Move slow and don't break a goddamned thing oh god do you not know just how difficult it is to build a functioning application please stop breaking it
— Joël Perras (@jperras) February 20, 2020
This Week in Programming
- Android 11 Developer Preview: Google has released the first Developer Preview of Android 11 this week, giving you Android devs a headstart on testing your apps and kicking the tires on some new features, including “enhancements for foldables and 5G, call-screening APIs, new media and camera capabilities, machine learning, and more.” For a summary of Google’s lengthy announcement, head on over to TechCrunch for the basics or check out ProgrammableWeb for details on the range of new and updated APIs. To get started, you’ll need a compatible Pixel device or an Android Emulator, so visit the Android 11 developer site, download a system image and get started. Google wants to know what you think.
- GitHub’s Transparency Report: For the sixth time, following 2018, 2017, 2016, 2015, and 2014, GitHub has issued its transparency report, this time for 2019. During 2019, GitHub processed 218 requests to disclose user information, more than three times more than in 2018, with 109 subpoenas (100 criminal and nine civil), 92 court orders, and 30 search warrants. Of note, GitHub says that “increases in both court orders and search warrants were disproportionately higher this year — each more than four times the number we received last year.”
The politics around Istio and Knative within Google are fascinating. AFAICT from the outside, they are primarily driven by a few execs who believe that Google "gave away the farm" when they moved K8s into a foundation. A few of my thoughts on this subject: 🧵
— Matt Klein (@mattklein123) February 17, 2020
- Is Samsung Screwing Up Linux Security? Apparently Samsung is making unnecessary changes to Linux kernel code, according to Google, which it says is exposing Linux to more security bugs. Citing Google Google Project Zero researcher Jann Horn, they write that “Samsung is creating more vulnerabilities by adding downstream custom drivers for direct hardware access to Android’s Linux kernel. These changes are implemented without being reviewed by upstream kernel developers.” Read on for a quick lesson in how not to do open source contribution.
- StackOverflow Needs Your Input: Sticking with this week’s theme, the site behind much of the home cooking going on these days — not Google, StackOverflow — has a survey they hope you might take. C’mon folks, answer the questions so we have something to talk about in a few months when the results come out! For example, there’s a survey out this week that says COBOL is still going strong — who knew?
- Improvements Come to VSC Python Extension: We know how much y’all love Visual Studio Code and Python, so we thought we’d share the latest features added to Python in Visual Studio Code this month. They include solutions to a total of 66 issues, “including a much faster startup of Jupyter Notebook editor and scaling back of configuration notifications.” Not only do Jupyter Notebooks start-up two to three times faster, but you should also be bugged less by notifications, and in case you missed it, the announcement points out the new “jump to cursor” feature released last time around.
Cat OSI model. Knocking over your traffic at every level. Because cats. 🐱😂 https://t.co/r3c21o8fTH
— Amy Renee (@amyengineer) February 20, 2020