how to be an awesome developer in 74 seconds

September 19, 2006 under Computers, Programming

eWeek’s article about 10 Programming Languages You Should Learn Right Now, posts like this about the 5 languages that matter, and 5 Easy Ways to be a Better Developer appear to be this week’s trend. Everybody loves a good list; see my list of favourite Firefox extensions in my previous post 😉

When it comes to the world of software development, there are no easy ways to do it right and knowing specific languages isn’t a silver bullet. That’s what I’ve learned based on my experiences. Your mileage may vary. When it comes to programming, I’m no Raymond Chen; not yet anyway 😉 But I don’t think I suck at it, either. In my brief career, I’ve never had a project fail (minus two death marches), so there’s hopefully no smoke-blowin’ on my part.

This, I know of creating software:

  1. It’s hard.It’s not brain surgery, but it’s far from easy. Taking human ideas and thought processes, and mapping that onto a machine that basically sends electrons hither and yon is not a venture to be taken lightly. When you stop to wonder, programming is like teaching a tree to act like your washing machine.
  2. Formal education helps, but isn’t always required.Does my Computer Science degree help me in my day-to-day work? Not really. The degree is just a way to get your foot in the door for an interview, especially if you haven’t done a whole lot yet. It just suggests to a potential employer that I’m probably able to think on my own. A good Computer Science program should be language-agnostic, IMO. If Bram Cohen were looking for a job, would he really need an employment section in his resume? Probably not; he created the BitTorrent protocol, so it should be safe to assume his skills are in check.
  3. Languages/technologies come and go.What’s hot right now? SMP and multithreaded programming. Ruby on Rails. AJAX. Just a few years ago, OOP/OOD was the talk of the town, but its popularity has since waned due to the loosely-coupled contrast of SOA. What’s popular now, might not be in a few years (or months). I’m a firm believer in having a strong background in the fundamentals of programming, since it’ll allow you to be flexible. C++ used to be popular for enterprise development, but it’s not anymore. If you only know how to cook fried eggs, you’ll have a problem when you’re asked to bake a soufflé.
  4. There’s a lot to know. What will you develop; desktop applications, Web-based applications, games, networking protocols, embedded code, operating systems or any of the many kinds of software? If you’re a database developer, focus on that. Sure, it’s fun to dabble with AI and is perfectly cool if it’s a hobby or you have aspirations of joining the video game industry, but it shouldn’t monopolise the time that you could spend on refining your database skills. You don’t have to be an expert on everything, but having general knowledge about a lot of things is useful, especially during brainstorming sessions.
  5. You can’t stop learning for even a second. It’s a fast-moving industry. If you’re caught standing still, you will be left behind. Read industry magazines and websites. Peek at the code of some open-source projects. Write some sample apps using a new framework. Use it or lose it!
  6. Don’t be a dork. For the most part, you’ll work with a team. Don’t be a mute or a weirdo that mumbles Star Trek dialogue to yourself. You’ll have to communicate with your team mates, and that’s a big job requirement nowadays. Gone are times when the nerdy solitary programmer was common. Programmers tend to be introverts (myself included), but we should have no problem communicating with our own kind. Bonus points if you’re able to talk to non-techies in a manner that they’ll understand.

This has been working for me thus far. Actual results may vary. Batteries not included.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)
comments: 1 »

One Response to "how to be an awesome developer in 74 seconds"

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>