Know this Nerd? Meet Zach Johnson



Zach JohnsonThank you to The Nerdery for underwriting the Know this Nerd? series.

Minneapolis’ Zach Johnson is a “Creative developer merging human-centered apps and games on web and mobile,” or, part computer scientist, part artist. He’s regular with groups like JavaScriptMN and IGDA-TC, also a volunteer with MinneWebCon and CoderDojo.
Zach is a 8-16 bit kind of guy.

How and when did you originally become interested in technology?

I think like many others, my path in life was set by video games as a kid and the desire to make my own or figure out how they work. I have intense curiosity and desire to create things, and technology has always seemed like the best way to fulfill that. My dad isn’t in the computer industry, but he was an early adopter of computers and video game consoles. I’ve also got an older brother and sister, and I remember watching them play Coleco and NES even before I picked up the controller myself.

At what age did you write your first computer program? What did it do?

There was always an old PC for me to hack on at home, and unlike with game consoles, you could look under the hood on a computer. When I was 11, I was opening up EXE files in text editors but inside I found a scrambled mess of characters. Then I opened a BAT file, where the code was in plain english. I made this fake BBS-like login system, and then I made a kind of choose-your-own-adventure style maze game/story. I actually still have it! Then I found QBasic. Remember GORILLA and NIBBLES? Kids are now growing up primarily using locked down mobile devices that don’t have dev environments. I do wonder what impact that is having.

What do you do now? What languages are you proficient in?

In a word, JavaScript. There is tremendous demand for JavaScript work from my clients, and it is also a major part of my various personal projects and collaborations. All my experience with HTML5 and CSS3 enables me to accomplish a lot with JavaScript on the visual/UI side of things. However, these days JavaScript is a full application development language, not just a front-end visual tool. I’m using JavaScript to make web applications, native mobile applications, responsive websites, real-time node.js and websockets stuff, and video games. There’s also still plenty of front-end web UI work with jQuery. I have also been a PHP/MySQL and C/C++ developer in former lives. I still do some WordPress work.

The Nerdery

How have you increased your skillset over the years, formally or otherwise?

Practice makes perfect. I think the best way to get better at something is by doing it a lot. For me this means playing with technology. I love playing with new browser features, like new CSS or HTML stuff, right when they hit the browser nightly builds. I work on many side projects, visual experiments, and games just because they seem like they’d be fun or maybe they’ll answer some what-if question. That experimentation and play invariably pays off on future projects. It is also important to share these experiences and seek out other people who share their experience. I love to attend and speak at things like MinneWebCon, the JavaScriptMN meetup, and IGDA-TC.

Which do you prefer in programming, the struggle or the achievement?

I prefer programming to be a tight loop of struggle and achievement. There’s this balance of learning or doing something new, but biting it off in chunks that can be challenging without being discouraging. I like to see progress. I really enjoy visual and interactive coding because there’s so much instant feedback.

What people, groups, projects, or resources were most influential in your development as programmer?

In the late 90s, a tech entrepreneur in Green Bay named David Troup gave a 16 year old kid an opportunity to be a web developer. That was huge for me. He had employees who would answer this curious kid’s endless supply of questions. Thanks Bryan and Mark! Also, the early web had this outstanding culture of sharing and openness that was very beneficial. In college I had a great time working on the University of Minnesota’s student unions web team. I met many designers and developers while working there who continue to influence and inspire me. Also, there are a great many contributors to the web standards community, like Eric Meyer, who have been key influences to my career.

What do you enjoy about it? Is there anything you dislike?

I love creating things and playing with technology. I feel extremely fortunate to be a part of this industry, and to have a job where the work is something I enjoy doing. I love that the web community is mostly very open and giving. I dislike the silly fights about The One True Technology that some people get into. I dislike the lingering misogyny in the industry, and I’m thrilled to see that there’s been a lot of active discussion about this lately. There are other areas where we need to work on being more inclusive as well.

If you were to be doing anything else, what would that be?

Is there a way to get paid to swim in the ocean every day? Other than that, I’ve always wanted to be a game developer, and that’s slowly becoming a bit of a reality for me.

What does agile software development mean to you?

Agile means iteration to me. I honestly haven’t seen that dramatic of a process change over the course of 15 years in different tech jobs. You might even say the changes have been iterative. I think “agile” has always been somewhat intuitive to the web development sector well before it was a buzz word. Every company trying to be agile has their own spin on it, and I think that’s fine. Agile isn’t an endpoint you get to. Development processes are constantly evolving as we learn what works and what doesn’t.

Where do you spend most of your time online?

I really love Dribbble. The signal to noise ratio there is incredible. It’s the one social feed that I can keep up with and always has good content. Add in Twitter, Facebook, and Boing Boing and I’ve got more links than I can read. I also spend quite a bit of time reading the online documentation from Apple and Mozilla.

What concerns you most about where technology is headed?

I think the internet is very clearly under direct threat. We’re seeing an assault on our online privacy. Internet access is now as essential as heat, water, and electricity, but it is not regulated like a utility. There are many groups and governments who are threatened by the openness of the web. I’m extremely concerned with web / HTML5 DRM and Chrome’s closed “Native Client.” Even the ubiquitousness of code minification is a problem. I learned a lot as a kid being able to view source. If you are only minifying for performance reasons, put a link to the unminified originals in a comment!!

What excites you most about where technology is headed?

I’m interested in the long term prospects of Augmented Reality. We’ll go through this awkward short term phase with things like Google Glasses, but we’ll be seeing much more sophisticated technology in this space. Contact lenses and devices that project onto the retina are in the research stage. Novelty and gimmicks will be replaced by killer apps. Twenty years from now most of us will be living the majority of our day in augmentation. Virtual Reality and immersive 3D is making a comeback as well. Of course touch technology continues to be exciting, and if you look at how kids are responding to touch devices you will realize that we’re destined to see touch technology continue to conquer school and office tasks that right now are still dominated by the keyboard and mouse.

Is there anything else you would like to add?

Thanks for interviewing me, this was fun. If you’ve read all my responses you can probably see my slant towards the social and political issues in the web community. One way I’m trying to create positive change is through my involvement with Coder Dojo TC. Coder Dojo is a volunteer group with a mission to support kids’ interest and exploration of technology. I hope this is just the beginning of a much bigger effort in Minnesota to get kids into tech. I really think every school should be teaching some programming.


  • kamranayub

    I’ve worked with Zach. He is amazing. That is all.

  • Christopher Deutsch

    Zach’s a great guy an awesome coder. Really enjoyed collaborating with him on a Javascript project!