Fog Creek

Coding Dinosaurs, Newbs, Rockstars, and Those In Between

A key goal of Gomix is to make development more accessible. We’re building Gomix as much for new starters, and those with just a little or rusty programming knowledge, as we are for full-time, professional developers.

We, the 45M

When Stack Overflow started in 2008, it grew pretty quickly. Thanks to the combined blog audiences of co-creators, Joel Spolsky, and Jeff Atwood, viewerships were quickly into the millions. We wanted to know how big the audience might be, so we started asking around others working in the developer community. Some said 8M, others 10M. The folks over at Microsoft said 14M. Yet the audience for Stack Overflow would later eclipse even that.

By 2014, figures from sources like IDC and Evans Data put the number of developers at around 19M. But, recent Stack Overflow audience figures are up at around 45M. Beyond the timeframe with those figures, there are a few reasons for the difference. A big one is that there are simply far more people with some programming knowledge who are trying to solve their coding problems on Stack Overflow, than identify as developers.

“I was more like a 1Xer than the Ninja, Rockstar, 10Xer I wanted to be”

I should know, I’m one of them. Like many developers, I started learning to program as a kid, typing out BASIC programs from the pages of coding books borrowed from the library. Later I taught myself to create websites and did a Games Programming degree. But along the way I came to the sad realization that, when it came to programming, I was more like a 1Xer than the Ninja, Rockstar, 10Xer I wanted to be. Hoping to avoid a working life of mediocrity, I moved away from software development as a day job.

Developing Web Apps Should != Feeling Like an Idiot

I still like to program. I still get ideas for products and tools I want to build. But, I’m frequently frustrated in my attempts to implement them. I’m now something of a Coding Dinosaur. When I was actively learning to program, JavaScript was just something you used for rollover button effects. jQuery didn’t exist, and CSS wasn’t something you had to compile. I’ve tried to keep up, but now whenever I come to create something, I’m overwhelmed by the libraries, frameworks and technology choices. Most of my time is spent feeling like an idiot, struggling to get even the most basic of things up and running.

“Even the most competent developers… lose hours to yak shaving”

I know I’m not alone in feeling like that. From many of the questions on Stack Overflow, it’s clear that a lot of the time when you’re just starting to learn to program (or trying to get back into it), it’s the non-programming things that hold you up. Silly environment issues, or unexpected problems with terminal commands. Things that keep you from gaining a clear understanding of programming concepts and syntax. It’s handy to have a well-rounded understanding in the long-term, but it can be a deflating experience to get stuck on random little issues when you’re just starting out. Hell, even the most competent developers I’ve worked with sometimes lose hours to yak shaving. So in amongst those 45M are other Coding Dinosaurs, Newbs, and even “real” developers, who want to create stuff but who either get stuck just getting started or put it off because it seems like too much effort.

Building a Tool for All

That’s why when we started working on Gomix we deliberately set out with a few product principles. A key one was that you shouldn’t have to learn something new just to get started – we try and build on existing tools and dev processes by refining, simplifying and integrating them. It’s also why adding support for multiple programming languages, beyond just Node, is such a priority for us.

Another principle was that there should be no setup – so no terminal commands, server configuration or the like. However, it’s not about making programming itself easier. This isn’t some dumbed-down GUI programming. You can still leverage all the power of the programming language you’re using, it’s just that all the unnecessary and distracting cruft that goes with it is gone. And by being conservative about adding UI, and not reinventing the wheel, Gomix is easy to pick up, easy to learn, and the skills you gain from using it are transferable.

In launching the Gomix beta we’ve taken the first steps in making developing web apps faster, easier and more accessible. There’s a long way to go, with plenty of other barriers to be broken down and we’d love your feedback to help us tackle them. For now, though, here’s to the millions of Coding Dinosaurs, Newbs, Rockstars, and those in between. With Gomix, may you go forth, code, build and learn.