Tuesday, April 29, 2008

The quality of the code you write today...

... will affect your ability to write quality code for the new features you need tomorrow.

If you haven't been writing quality code, how can you expect to write new code with any degree of quality? I hypothesize that the affect of this isn't linear, but exponential.

Monday, April 28, 2008

No difference between permanent and contracting...

I started out contracting for a long time until eventually moving into a permanent position. At the time, on reflecting on everything, I couldn't see any major difference between the two. I've always maintained there isn't a big difference in the long run.

But there is one thing I've just started to realize that I miss. That's the downtime (when there is some) between jobs. Now I take holidays, and even though I know I'll still have a job when it is done, I don't have the time to learn new technology like I would during downtime.

Holidays are for de-stressing and catching up with family. Downtime was the time to re-skill and explore. Or more likely, I had more free time to develop my professional skills and interests.

Monday, April 14, 2008

Ironic

Seth makes a interesting point about something I've noticed for a long time. The main point that I find of value is:
It's just too long a ramp up time, too frustrating and too uncertain to be the best path to make a living.
But this applies to more than just writing a blog.

I believe (and live by the idea) that only the people truly passionate about what they do seem to be the ones that do the best. The ones that are famous/wealthy/successful are the ones that didn't set out to be famous/wealthy/successful. The passion gets you over the ramp up time, the frustration and the uncertainty. And most importantly, the passion gives you the drive to focus on doing what is best for your passion and not necessarily for you ego.

Personally, I'm passionate about programming to provide value. I'm passionate about quality. I'm passionate about eliminating waste. I'm passionate about flow. I'm passionate about chasing perfection.

And I do love irony at times...

Thursday, April 10, 2008

What to do...

Now that I've got the Google Apps account, I'm struggling a bit about what to do with it. I thought about writing a blog app and blogging to that as well, but someone already beat me to that. I have a few ideas, but they are all incomplete and seem to serve no useful purpose. I'm open to suggestions (hint, hint, comment, hint, hint).

Learning Python

Thanks to the Google Apps account, I'm now learning Python (to some extent). The first important task when learning a new language is learning to read errors. After a few, I think I know what the interpreter is trying to tell me when it's not happy. But the first time is always the funnest.

As a complete Python newbie, I initially missed the difference between:

class MainPage(webapp.RequestHandler):
def get(self):
self
.response.headers['Content-Type'] = 'text/plain'
self
.response.out.write('Hello, webapp World!')

def main():
application
= webapp.WSGIApplication(
[('/', MainPage)],
debug
=True)
wsgiref
.handlers.CGIHandler().run(application)
and
class MainPage(webapp.RequestHandler):
def get(self):
self
.response.headers['Content-Type'] = 'text/plain'
self
.response.out.write('Hello, webapp World!')

def main():
application
= webapp.WSGIApplication(
[('/', MainPage)],
debug
=True)
wsgiref
.handlers.CGIHandler().run(application)

10 minutes into the lexical spec and not only did I get the error here, I got a far better and first hand understand of Python. Now the task is to keep learning...

Wednesday, April 09, 2008

Google Apps

Don't know if I was looking or Google has been generous, but I've got a google apps account. The reaction was, "Quick, grab a new toy." Followed by (ask requesting it), "Um, what am I going to do with this?!?". Apparently, the first thing I'm going to do is learn Python (which doesn't appear to difficult, apart from the lack of semicolons :)).