Category Archives: Software Development

All things related to developing software.

Good Advice

This is an excerpt from Paul Graham’s Rarely-Asked Questions page:

How can I avoid turning into a pointy-haired boss?

The pointy-haired boss is a manager who doesn’t program. So the surest way to avoid becoming him is to stay a programmer. What tempts programmers to become managers are companies with old-fashioned corporate structure, where the only way to advance in salary and prestige is to go into management. So if you want to avoid becoming a PHB, avoid such companies, and work for (or start) startups.

I never had to manage anyone in our startup, even though I was the president. The other hackers were my peers, and would have given me the raspberry if I’d tried to “manage” them. We operated by consensus. And the rest of the company reported to our experienced COO, who was also more of a peer.

Why be a manager when you could be a founder or early employee at a startup?

Good point!

Programming in Scala

Programming in Scala

I’m currently reading Programming in Scala. There’s been a lot of buzz lately about functional programming and I thought I’d spend some time with one of these functional languages. I  originally started looking at Erlang due to the great things I’ve read about how well Erlang scales and its failover capabilities. Then I came across Scala and liked that it is a hybrid imperative/functional language which compiles down to Java bytecode and uses Java libraries. I don’t have time right now to dive into learning a completely new language.

My primary interest is concurrent programming using Actors. I’ve been writing a lot of concurrent applications at work in Java using the concurrent libraries and am seeking an alternative solution. I think Scala provides a concurrency platform that can decrease my development time, increase performance and makes things a lot easier in my applications. Since we are a Java shop the fact that I can call Scala from Java and vice versa is very attractive.

I just started getting into this book but it has been very interesting so far. In a few weeks I expect to start posting some of the interesting tid bits I find about this language on my technical blog. I think it’s imperative to every programmers career to have experience or atleast general knowledge of a functional language. If you’re a Java developer I think Scala is a good fit, F# for the .NET developers and Erlang for the purist. Of course there are others but those are the ones that I have seen get a lot of mention lately.