March 14, 2008 will

Career ponderings

I have a new job. I wasn't even looking a new position, I was actually quite settled doing contract work for chessclub.com (working on a wxPython client for their Internet chess service). My new job is working for a startup, based in London, that is creating a big site with Django. I'm not sure if I can tell you much about the site itself yet, but I do think they have found a niche on the internet that isn't fully catered for.

Starting a new job has made me consider, what I laughingly call, my career. I started out in games, writing really low level code in assembler and eventually moved in to 3D graphics. Working in games can be a lot of fun, but I found that I was solving the same kind of problems over and over again. Partially because even cutting edge games must perform the same kind of tasks as ancient (> 10 years old) games, and partially because C++ doesn't deliver what it promises in terms of re-use of code. I also found I disliked working on massive projects because its hard to feel any sense of ownership in the project when you know you are a small cog in a big machine. Fortunately I manged to change the direction of my career by getting in to Python.

What I've realised recently is that my hobby projects drive my career. I got my first job in games by writing a 3D graphics demo,  subsequent games jobs were off the back of an AI life demo I wrote, and I'm sure that one of the reasons I got a job with chessclub.com was that I had already written a chess game in my spare time. Even this new job was probably helped by my most recent hobby project. So I would encourage anyone to take up some hobby projects or work on open source. I would also encourage programmers to go in to some niche technology area, rather than whatever technology is the most commercial at the time. Sooner or later any skill will become mainstream and the job market will be saturated. Better to have less common skills so that you will always be in demand. Seems to have worked for me so far.

That my self-indulgent post for this year. Back to the usual geeky stuff next post.

Use Markdown for formatting
*Italic* **Bold** `inline code` Links to [Google](http://www.google.com) > This is a quote > ```python import this ```
your comment will be previewed here
gravatar
Paul Hummer

Will-

I'm in the same situation. I was quite happy doing freelance work for all manner of .coms, and then along comes someone interested in hiring me full time, completely based on work I had done in my free time. I hadn't ever reflected on that fact that I too have had my career COMPLETELY influenced by my personal projects. You aren't the only one!

Paul

gravatar
a newbie

I am a newbie.
Please tell me a advice or a way to learn and program better.
i don't know exactly where i should program. i don't know, i should program in network or game or web or ...
how can i choose between these cases?
thanx...

gravatar
Steven D

I created a python vs java thread on beContrary:

http://www.becontrary.com/debates/python_vs_java

I hope python wins.

gravatar
Steven D

Hey can I get your source code for xenotopia just to see how it works?

gravatar
Laureano Arcanio

Good blog you have. I like very much you Carrier Pondering post, it's really motivating for someone that it's just starting. I've programming for quiet a long time in the "wrong" place, let's say micro* technology, until I found involve in Linux and open source. I get on to python by a Friend who told me about Plone.. just a coincidence in fact.
Since then, i really enjoy making OS and i definitely like to have personals projects.
Well, my first steps on programming where in QBasic on a Hard Disk Less 486DLC... really old times..

I'll post some of that ugly code some day..

Bye ! keep posting !

gravatar
Sween

Hey Will,

It's quite encouraging for me to see what you've written about something you do as a hobby driving what you do as a career. Since I'm in the middle of a huge transition, I question my employability. I hobby program (now in VB.NET and C in addition to python) and love it. I'm taking Electronic engineering and I am up in the air about what specifically to pursue.

I'm hoping things work out for me in the same principle as they have with you.

-Sween

gravatar
SoftJunkie

where has c++ reuse fallen short for you? that topic is important to my coding projects and it always helps me to know what others have encountered.