Archive for the 'Work' Category

Pastures new…

Monday, 14th May, 2007

I am still alive but I’ve not really dedicated much time to blogging this year. Last Friday was my last day at Evolving Media. I enjoyed my time at EM, and they produce some quality work but I really want to move on to using more robust development practices. Namely using a versioning system again, when I first started there it felt a little bit like walking a tight rope without a safety net with no CVS.

I was also in denial about how much of an OO zealot I’ve become, the trouble is I’m not writing enough OO code to progress as quickly as I’d like. Not employing OO was basically a huge road block for starting test driven development, automated testing (continuous integration) and automated deployment. All of which are nice to have but come at the cost no one could afford at EM - time; victims of their own success in that regard.

As I’ve mentioned before, one thing I never really settled with was working on a Mac. It was doing my head in going to work on Mondays and hitting CTRL instead of the Apple key and pressing those retarded page up and down keys that aren’t (they only scroll your screen and not the cursor).

I’d have the reverse situation at home where I’d keep hitting the ALT key instead of CTRL in Windows, ALT + right for End, ALT + left for Home and @@ for “”. As developers we use # symbols more than most and ALT+3 just isn’t convenient dammit. Apple keyboards, pha!

I think a six month run on OSX was long enough for me to decide I’m still a Windows fanboy, there’s some dev tools for Windows I’ve grown up on. I never found a decent replacement for Regex Coach (I even made a long over due donation the other day as a thank you!).

So where am I off to next? On May 21st I start at Alexander Street Press, an academic publisher with US roots who focus on the humanities. I’m looking forward to it; the two guys I’m working with, Paul and John, seem really knowledgeable, I’m sure I’ll learn a lot.

I’ve a week to myself this week to tie up some loose ends (private work namely). I’m hoping to get some more posts up here this week. In an ideal world I wanted to:

  • Push my new blog layout live (3 columns tagged up with microformat goodness)
  • Make a start on Groovy in Action
  • Read more of PHP in Action
  • Ditto for Agile Web Development with Rails
  • Finally get Zend (PHP5) certified

But I can’t see me squeezing that all in…

Experience++; Job satisfaction–?

Monday, 25th December, 2006

A couple of weeks ago I was having an informal discussion at work about another developer’s performance on a project. The developer had strayed from company convention and in his eyes had used many ‘best practices’ to improve things.

However, despite his best interests, the implementation was not only detrimental from a maintenance perspective (having increased the cognitive load for other developers by breaking from ‘the norm’) but also from a technical standpoint it was ‘best practice’ mis-used.

This was an unfortunate predicament but far from unique. A combination of inexperience and programmer’s ego had lead him to re-invent the wheel. Development time had doubled due to re-writing existing code (that worked).

I didn’t write this post to bash this developer as I’ve stood in his shoes on more than one occasion and re-written tried and tested code because I could make it ‘better’. The mentality of good developers is to do things right, not provide short cuts for convenience.

“I could use less code to do the same thing more efficiently and make it more cohesive, great!”

I thought to myself, so I did… it was fun; I was learning, getting to try out all my new found knowledge but it took me twice as long (at least) to fix bugs and implement new features as I re-invented the code base, byte at a time.

Fast forward to the present, when reflecting on this conversation I realised I still shared many of the same ideals as said developer. The key difference experience has taught me is to leave my experimentation at home and try not to bring it to work unless I’m confident that a solution that looks great in theory is also great solution in practice. Don’t make work your play ground.

Not being the developer in question and observing another’s work provided me with a different perspective. It allowed me to see how dissolved we developers can become with the problem and not see the bigger picture - we’re there to help run a business.

I find this both motivating and depressing. Motivating because of the responsibility and opportunity to produce a great product, on the flip side depressing because I’m not sure commercial programming still leaves room for what attracted me to programming in the first place… fun and freedom for creativity on the job.

I think the fun factor that every programmer feels when they first start or learn a new way of doing something will always be on a rocky road of high and lows. Gaining experience means those highs are spaced further apart.

Merry Christmas!

Update: I know it should be satisfaction minus minus but Wordpress thinks otherwise! (dammit, it won’t even let me write it in this post)

My first week as a Mac user

Saturday, 28th October, 2006

This was my first week in my new job and on an iMac. I was looking forward to trying out OSX, I’ve seen OSX grow in popularity over the last year or two in the development community - a lot of the screen casts are done on Macs.

I was told by others in the office that I’d be sold on Mac within the first day or two because “its much better than Windows”. After a week on it though I still find OSX gets in the way. I find myself using the keyboard more on OSX than Windows. My biggest gripes about the platform:

  1. Where have the HOME, END, PAGE UP, PAGE DOWN and INSERT keys gone? What are these useless keys in their place?
  2. I now have MORE keys to press to select a line of code and remove/cut/copy it. Apple + Shift + Left arrow to select (if at the start) and then Apple+C. Windows is just Shift + END and CTRL+C.
  3. Everything in Mac OSX is Apple + this, Apple + that, well not in a Terminal, you wanna kill that process? That’ll be CTRL+C, you wanna use Nano, that’s the CTRL key again.
  4. I miss not having a Taskbar
  5. I like to maximize my windows - this is not the done thing on OSX. The “+” button appears to be random/useless at resizing your app. Double click the app title bar - minimizes to dock :(
  6. I’d like to resize my app window, MORE mouse clicks required, lets move the window left a bit first then go the bottom right corner to resize.
  7. Minimise an app, then try to Apple + TAB to restore it back to the foreground - where is it? Still hiding in the dock.
  8. Close all open windows of an application - ALT+TAB, it’s still in the app list - wtf? Select it, nothing… oh it’s in the top menu - I have to Apple+Q or Exit from the menu.
  9. My mighty mouse might look cool but I keep right clicking in Firefox bring up the popup, or jumping to Dashboard/Expose accidentally when I want to left click.
  10. bbEdit’s comparision isn’t as good as Examdiff
  11. bbEdit’s multi-file search is slow compared to UltraEdit on Windows
  12. No Regex Coach on Mac :(
  13. I prefer Outlook to Apple Mail
  14. Who really needs 16 function keys?

So half of those are about the hardware interface - can I change to a regular USB keyboard and mouse on Mac? Does the Windows key map to the Apple key?

There are some things I like about OSX though:

  1. Expose is useful and is a saving grace for not having a Taskbar
  2. Apple Mail junk filters are good.
  3. It’s nice to be able to jump into a *nix shell at the push of a button, Windows command prompt sucks in comparison.
  4. Dashboard is handy for quickly getting to Calculator
  5. Quicksilver is cool, I’ve got to get into the habit of using it though!
  6. Interface is cleaner - drag and drop is more common place than Windows apps. Mac Office looks very Microsoft, lots of toolbars and buttons which is out of place compared to most other Mac apps.
  7. Interface looks cool - novelty fades quickly though

At the moment for me OSX is just another platform and I’d still take Windows through choice.

Jumping Ship

Saturday, 21st October, 2006

I finished at River Island yesterday. I wasn’t at River Island long (12 weeks) but pretty early on I realised I’d made a mistake.

As the saying goes we’re supposed to learn from our mistakes but on reflection I think I’d make the same mistake again. I don’t think many experiences are truly bad, and in hindsight I think this last job was a worthwhile experience that helped me clarify what I want to do and where I want to be professionally.

The things I know I won’t miss were my 6am alarm (which typically only allowed for 7hrs sleep a night) and commuting 3 hours a day!

The rise of Mac in developer land

Thursday, 28th September, 2006

Is it just me or are all the cool kids using Mac’s these days? I’ve not used a Mac since primary school - we’re talking mid 80’s!

I’m eager to give TextMate a whirl and see if I can produce code at half the rate of those guys in the screencasts. I’ll soon get the opportunity since I recently accepted a job at a Mac shop!

(some who made the switch aren’t entirely happy).

You are currently browsing Mostly PHP MySQL Javascript Linux, some Ruby Java frameworks agile methods but overall web programming and software development in general archives in the Work category.

Categories

My Bookshelf

PHP in Action: Modern software practices for PHP Agile Web Development with Rails
xhtml 1.1 compliant   xhtml 1.1 compliant