A Semi-Charmed Life: Mike's Journey

Learning things from scratch ...

Thursday, October 12, 2006

5 Ways to be a Better Developer

5 Easy Ways to be a Better Developer :)

Posted by Steve 14 days ago (got this from some forum , i like some of his ideas!)

Don’t know why I’ve felt more like writing about ‘soft’ things like this, but given events at work for the past few months (office closing, high attrition rate, acquisition, end of product development cycle…) I guess I’ve just been more contemplative than usual (then again, with just 3 articles I’m not sure what ‘usual’ is :)

1) Learn Ruby and Ruby on Rails. Why? It’s not because you’re going to need it at your current or next job, I don’t think it reached that level of penetration yet. It’s because Ruby and RoR are fantastic examples of how to write clean, easy to maintain, functional code. Ruby itself is an incredibly interesting and expressive language, and RoR takes advantage of it to its fullest. It’s also a great example of two principals that really should be followed more in software development - DRY (Don’t Repeat Yourself) and YAGNI (You Ain’t Gonna Need It!). Yes, there is a bit of a learning curve with both and documentation can be a little lacking in places, but it’s well worth the effort of learning them, even if you never have to write an app with them as you can apply many of the same principals and idioms in other languages, even if they’re not quite as expressive as Ruby.

2) Read The Daily WTF? Besides entertainment value, think of it as a little quiz each day and if you don’t understand why these little gems are ‘curious perversions’, as the site describes them, then…well…

3) Learn something new every week. Take a few hours out of your week and read some blogs, learn about new products, technologies, APIs, or whatever. It doesn’t have to be something you’re going to use any time soon or ever. Not only will you end up with more tools in your tool-belt, but you’ll also learn the important skill of how to find diamonds in a pile of shit. Ok, strange analogy, I know. The point is that the more new ideas and technologies you expose yourself to and learn about, the more you’ll recongize that not everything shiny and new is actually worth something. To the contrary, there’s a lot of crap out there. But as you learn things, you can incorporate new ideas when you find something useful or reaffirm old ones when you find that they’re still the best way.

4) Understand customer wants != customer needs. Maybe this should be on the list of ‘5 easy ways to be a better product manager’ but it’s important for developers to understand it as well. Just because somebody asks for a feature doesn’t mean you should go and implement it, otherwise you can end up with a big mess of a product that’s just a collection of random features and doesn’t really solve the problem the customer has. But if you can extract out a story, a real honest-to-god problem the customer has, then you can find the best solution without having to add unnecessary complexity to the product. In the end it may not be what they asked for, but if you do it right they’ll appreciate it anyway!

5) Find some passion! Really, if you can’t say that developing software is fun and intersting and
you look forward to taking on new challenges and solving interesting problems, then perhaps it’s not the right choice of careers. A little harsh, perhaps, but life’s too short to do things that you’re not passionate about and you’ll just get in the way of those who are passionate about what they do. There’s a reason why there is a trend in hiring where companies aren’t necessarily interviewing for skills, but for personalities. Skills can be learned, but desire and passion come from within and it’s really hard to fake it.


Post a Comment

Subscribe to Post Comments [Atom]

Links to this post:

Create a Link

<< Home