Roundup: Being a better developer, manager, and designer

1. Joel Spolsky on his thoughts on why we might think twice on being Steve Jobs #2.

And yes, you’re right, Steve Jobs didn’t manage this way. He was a dictatorial, autocratic asshole who ruled by fiat and fear. Maybe he made great products this way. But you? You are not Steve Jobs. You are not better at design than everyone in your company. You are not better at programming than every engineer in your company. You are not better at sales than every salesperson in the company.

It is not, as it turns out, necessary to be a micromanaging psychopath with narcissistic personality disorder (or even to pretend to be one) if you just hire smart people and give them real authority. The saddest thing about the Steve Jobs hagiography is all the young “incubator twerps” strutting around Mountain View deliberately cultivating their worst personality traits because they imagine that’s what made Steve Jobs a design genius. Cum hoc ergo propter hoc, young twerp. Maybe try wearing a black turtleneck too.

2.  Orange and Bronze Software Labs — Manila’s version of Fog Creek Software. Various talks on Java and Android. {More Here}

3.  All about understanding your users.

Things Every Programmer MUST Know. {Java Code Geeks}

 Ask “What Would the User Do?” (You Are not the User) by Giles Colborne

We all tend to assume that other people think like us. But they don’t. Psychologists call this the false consensus bias. When people think or act differently to us, we’re quite likely to label them (subconsciously) as defective in some way.

This bias explains why programmers have such a hard time putting themselves in the users’ position. Users don’t think like programmers. For a start, they spend much less time using computers. They neither know nor care how a computer works. This means they can’t draw on any of the battery of problem-solving techniques so familiar to programmers. They don’t recognize the patterns and cues programmers use to work with, through, and around an interface

76 Powerful Thoughts from Paul Graham, author of Hackers and Painters {}

 Empathy is probably the single most important difference between a good hacker and a great one. Some hackers are quite smart, but practically solipsists when it comes to empathy. It’s hard for such people to design great software, because they can’t see things from the user’s point of view.

Executive Summary: The Inmates are Running The Asylum {}

Personas are the hypothetical people for whom the application or product is being designed for. They represent actual users. Design of software should be geared towards one persona, not many.

Design for people! Create personas for your intended users (and also for the user you don’t want your app to cater to).

4. The 7 Habits of Highly Productive Developers. {Dzone} A golden nugget:

Interactions with other people have different possible, paradigms, depending on who is earning value from them; a win-win situation is the only one sustainable in the long run.

The Agile movement prescribes a search for win-win scenarios between software developers and customers. It’s about building the best software for the user, as fast as possible, instead of just what the written contract specifies. Arguing over the clauses and the changes is a win-lose situation, where one of the parties may win now but ruin the relationship in the future.

And with that thought, head on over to An Introduction to Lean Software Development and Kanban Systems that will NOT make you hit the snooze button. Also, it starts a whole series that explores the topic in greater depth — in a very visually appealing way, I might add.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s