[lug] Career advice

Rob Nagler nagler at bivio.biz
Fri Jan 1 18:43:31 MST 2010


On 1/1/10, Steve Rogers wrote:
> One who never codes is likely to lose touch with the realities.

If by "reality", you mean that "coding" is reality, I would definitely agree
with you. :)

On 1/1/10, Michael J. Hammel wrote:
> Coding is as much a career as "Albertson's bag boy".

I'm trying to figure out how to respond to this.  I just admitted being
a coder.  Not taking this personally, I guess you are saying that I
either don't have a career (which I do) or that I'm as well-paid as
a bag boy (which I'm not).

On 1/1/10, David Morris wrote:
>  A good software architect is critical to the success of a large
>  project, but many software projects don't have anyone with the
>  appropriate skill set to architect a large software system.  Every
>  successful software project has such a person, though the managers
>  don't always realize it.

Fascinating.  Either my company has no successful software projects,
or your statement is false.  Since there are quite a few companies
which rely on our software, and we have been in business for 10+
years, your statement is false.

If you don't like Joel, you might try Paul Graham.   He's a pretty
smart guy whom people respect, and he's made a boatload of money
hacking.  Here's an article which he turned into the title of a book:

http://www.paulgraham.com/hp.html

If you'd like to learn how to program, you'd do well studying Paul
Graham's book On Lisp:

http://www.paulgraham.com/onlisptext.html

One complaint I have about Paul Graham is that he and Robert Morris
are so smart they don't talk about automated tests.  You don't need
tests if you are that smart.  I need tests.  There's no way I could do
what I do without them.  I think most coders need tests, but few
coders realize this.  That's why I emphasize it as often as possible.
It's all too easy to write code.  It's much harder to write code which
actually works over a period of 10 years or more.  I tend to think
in decades so I expect bivio's code to be working for the next few
decades.  After all, I love what I do, and I don't want to do anything
else. The best way to ensure my future is to write tests which assert
what it is I did 10 or 20 years ago so I don't end up redoing what I
did 10 or 20 years ago.

But then again, I think most software people are afraid of thinking
in terms of decades.  It's popular to believe there's a new framework
or programming language which is the silver bullet or at least helps
us solve problems better than before.  Unfortunately, the fact is
that all those frameworks and languages are Turing Complete, and
we're proven so many decades ago.  Therefore, all this programming
language rearranging and software architecting actually is more
about job security (viz the word "career") and less about actually
solving problems for customers.

Rob



More information about the LUG mailing list