How to be a tech super hero

###TL;DR:

A list of some ways to break through to the next level of your tech life.


If you talk to me about programming, you’ve heard me plug Uncle Bob’s talk on clean code and professionalism. To paraphrase: For the rest of the world, software is a black-box, and programmers are sorcerers that make things go, when clicked. This is awesome! But it implies some negatives: if something goes terribly wrong, the rest of the world will grab their torches and start up the witch-hunt. Something terrible will happen, and what will we have to say for ourselves?

Clean code and best-practices are pretty important. But how do we figure them out?

I’ve been programming full-time for a year and a half. Intro-to-JavaScript sites like Codecademy and CodeSchool are less and less valuable as you gain more experience. What I need now isn’t syntax or puzzles. I need big-picture architecture help. I need more experience with testing and documentation. I need advice around security issues. I need help with problems that need some back-and-forth to figure out. Where do I get that?

First of all, here’s a great talk I saw a while back about moving from intermediate towards expert in this field.

Below is a list of places I look for those answers now.

###Get a mentor

By far the most effective and efficient solution (as well as the most elusive). Working side by side with another developer is the best way to climb that initial learning curve (which, by the way, is a big one). The trouble, of course, is finding one. This could warrant a full post, but for now: go to Meetups and Coffeeshops and Hackathons and check out the rest of this list if you’re on the hunt. Once you’ve got a mentor, sink your teeth in and camp out under that learning tree.

###Be a mentor

You don’t have to be a so called “expert” in anything to pair-program through a new feature or bug. Engineering is just problem-solving. If you’re having trouble getting help on something, find someone working on a related task and help them out.

By the way, the best debugging advice I know is just learning to read error messages and the console output in general. It’s obtuse, but is a powerful, time-saving skill.

###Find a hacking buddy

At least once a week, work with someone in person, even if it’s on different projects. This blog is called Techsposure because it’s all about exposure to Tech; I believe exposure is the most important part of learning - understanding can come later, but you never get there without the first exposure.

###Meetups and Hackathons

If you’re lucky enough to be in a city with lots of tech Meetups, this is as easy as signing up and showing up. If not, you are completely free to start one!

Hackathons are a bit rarer. A little bit of googling can reveal the darndest things.

###Lightning Speeches!

I’m terrified of these and have never done one, but I KNOW it will be good for me and that it’s a great way to break into giving larger talks. Speaking of which…

###Give some talks!

Like blogging about something you just learned, but with higher stakes: more pressure and fear to get over, and a much greater reward.

###Networking!

It’s easy enough to trade twitter handles with people you meet. A strong network is very valuable, especially when there is so much demand for quality code. Remember, recruiting is very hard for both sides, and it’s always better to hire the right people at the wrong time than to be scrambling when you need lots of code in a hurry.

###Ask why and be opinionated

Forming an opinion about different parts of a system, language, or framework is crucial. Stay open-minded, but bringing your own ideas to the table (whatever level of experience) is the point. Anyone can write that code once the architecture is designed.

###Open-Source Contributing!

You don’t have to be in a big tech city to work with great people or on great projects. Dive into open-source everything! Check out this post I wrote for more on open-source stuff. Since writing that post, I found this, a great post on using documentation as an entry point to some awesome open-source projects.

###Write about it

StackOverflow is a believer in asking the rubber duck before asking anyone else for help. Defining or explaining your problem organizes your brain, and leads you to the answer.

Blogging or writing about something works the same magic. Go write a little something about a new piece of tech you just discovered, especially one you don’t fully understand. You’ll end up defining for yourself exactly what you know and don’t know, and deepen your understanding of the big picture.

Forget publishing and feedback and what the world thinks - this is for you. You are essentially mentoring yourself (and other lucky readers, if you publish it), and reaping the benefits of teaching that new material.

###Guest Blogging!

Same benefits as writing, with a larger audience. Most blogs are literally asking for it.

###Pro Tips!

Twitter, CoderWall, GeekList, etc. There are lots of places for very helpful little tid-bits.

###Book reading?

Some people like to read books on code - I haven’t had a ton of success with it yet. The exception to this for me will likely be an entrance to functional programming via Learn you a Haskell for Great Good.

###Online reading!

I love my email subscriptions and Pocket for reading offline. My reading workflow is basically filtering headlines via email and adding them to pocket, then reading as I have time. What blogs/email subscriptions, you ask? That warrants another post, but I’ve subscribed to most of the lists mentioned here.

Other people like RSS, which I’m told is awesome, but wouldn’t know.

###Keep that knife sharp!

As always, keep your workflow and your problem-solving skills sharp. Codewars, Project Euler, and CoderByte should be enough to get you started. Or, you can go for app-sized katas too, like this guy did with tic-tac-toe.


There you are, a list of plenty of online and offline ways to get that exposure. I should probably have mentioned Conferences too… and some of these deserve more specific examples… Anyway, you get the idea. No more excuses! Do it to it!

Comments