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?
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.
Studies have shown that half of the time spent modifying existing software is expended trying to figure out what is going on in the code.
via Top Five Causes of Poor Software Quality.
I decided that I have enough thoughts rattling around my head about Java development to dedicate an entire blog to the subject. I’ve created a new blog at http://javablog.franksalinas.net. Check it out.
Stumbled across this today and thought I should bookmark it.
Download Advanced Linux Programming