Code Poetry
and Text Adventures

by catid posted (>30 days ago) 1:56pm Sat. Feb 9th 2013 PST
Software is a really new thing, and we don't have it all figured out yet, philosophically or practically.  Something that I've believed for a while found the right words in me today, and maybe they gel with the way you see things too:

There are two main camps of software developers:

Engineers and Hackers.  Both noble and respectable approaches to development in general!

Your Hackers are guys who do success path coding, experiment with many technologies, and get shit done as fast as they can.

Your Engineers are guys who do deep dives on one kind of tech and try to understand and architect rock solid systems.

In startups I think we need both.  And maybe we need to be good at being both.  I think that two people is the ideal programming unit, and I think that one of each type of software developer is the ideal pair.  One way to look at this is pairing up someone who is experienced with something with someone who is fresher.

Maybe we can shift between these two modes of development, at an individual level.  Maybe we should try to be both at once, but I think that the behavior of a good hacker is different from an engineer.  Your hacker has a broad range of interests, and your engineer has a narrow range.  We can't study everything in depth.

Maybe we can be engineers in our field of expertise and hackers in another?

This seems like a helpful way to frame things since the terminology is so unclear around software development and it's all in flux.  And maybe this sort of way of thinking of things can help structure the small teams we build to take on tasks later.