Showing posts from 2008

This Blog Has Moved!

Right, so yes, five years ago I moved to github pages, and never bothered to redirect any of these pages there. Now I've moved on from there, and... Finally I am using my real domain, . My blog is now at .  See you there!

Why to Start a Startup in a Bad Economy

Why to Start a Startup in a Bad Economy

Gender Stereotyping

I'm very interested in the subject of gender stereotyping, which probably isn't surprising as I'm a girl in a predominantly male industry.  And I like cars, and sports, and get irritated if people assume I'm not "allowed" to be interested in these things. Far from being discriminated against, however, I find many people ask me why there aren't more women in the industry and what can be done to encourage girls into IT.  If these questions were easy to answer, they wouldn't have to be asked. But one of my personal theories is around how we raise our children.  Yes, it's possible that girls are genetically, for some reason, averse to technical types of roles.  Or that the working environments don't appeal to the feminine mindset.  But if you tell kids from an early age that some things are for boys and some are for girls, there just aren't going to be enough girls studying "boys" subjects later in life to get a large proportion of th

Nine Things Developers Want More Than Money

Nine Things Developer Want More Than Money Read if you're a developer and wondering what's missing from your job. Read if you're a manager and you're looking to recruit the right types of developers.  In particular be honest with yourself over whether your organisation is more aligned to "hygiene" or "motivation".  At least one of the poor job decisions I have made is because the role was mis-sold as one and turned out to be the other.

Working Environment

How important to you is your working environment?  - Type of desk  - What's on it  - Position / type of mouse, keyboard, monitor(s)  - Music / background sound (or lack of it)  - Open plan vs team room vs cube vs personal office  - etc... These physical items could be extended to include your virtual environment:  - Eclipse / IntelliJ Idea / Visual Studio (is it still called this?) / other dev enviornment - setup, preferences, window positions  - OS  - Desktop icons - do you care what / how many / positioning  - Which software is always open when you're working, and does it matter what order you open them in (so they're in the correct place on your task bar) (additional: does not having enough RAM cripple you because you have to constantly shut and re-open software?) How anal are you about setting these things up and getting them just right before you can start coding (or whatever it is you do)? This post comes to you courtesy of my irritation with my chair.  I want to cod


Today, I found my own blog useful.  I was configuring Spring validation on my new project, and had to remind myself how to do it .  We configured validation on the new project in less than an hour, which beats the two days it took me to work out how to do it the first time. And I impressed one of my new work collegues.  Apparently I am now the Spring Guru.  Oooops.

Multiple Environment Configuration in Maven

Today, I found this blog post very useful.

On the perils of Front End Design

I'm reading Joel Spolsky 's User Interface Design for Programmers . A thought that's struck me is about architecture. It's easy to get fooled into thinking building software is a bit like being the architect for a building. I'm not even going to go into the differences between engineering practices à la building design and good practice software design. I'm going to start from the easy point, the stuff you can see. There's often a pressure from your designers, from your steering committee, even from your CEO, to make your software look "pretty". I, too, with my DTP background, occasionally fall into that camp. You know, slicker fonts, curvy edges, funky this, fancy that. And you can look at buildings like the Woolworth Building , and think, "I want my software to be the equivalent of the Cathedral of Commerce".  But for all its Gothic detailing, its flying buttresses and gargoyles, you can still find the entrance. You can still find

Job Hunting

I've learnt a lot professionally and personally during my time here in New York, but the time has come to go back "home". I'll be relocating to London in September. I guess it won't hurt to mention on here that I'll be looking for an exciting new job when I get back there. Check out my LinkedIn profile if you are in the market for a Java tech team lead.


I think the statement that struck me the most when I was on the Certified Scrum Master course was:  the start of the project is when you know the least about what you're doing . Which of course is absolutely true. So why do we come up with extensive requirements, detailed design, and fixed plans at this point of time?  We haven't put anything into place yet, we haven't played with the code, the customer hasn't seen anything of what we're promising to deliver. If we think about it this way, suddenly the waterfall method makes even less sense (assuming people do still like to work this way). How many times have you just played with a bit of code, done a prototype, a "hello world", knocked up a basic screen, before you can even give your manager some finger-in-the-air estimates?  I don't know about you but I'm not comfortable unless I have played a bit to get the feel of something before even looking at someone who asks those questions! The empirical


What are our thoughts on putting all the letters after your name in a CV/resume?   Pretentious?  Or the only reasonable time to use all those letters?


This week I acquired some more letters which I can add after my name when I'm feeling pretentious:  - SCWCD  - CSM I'm feeling a bit over-saturated at the moment as you might imagine, especially since Wednesday's exam was a detailed technical one and Thursday and Friday were spent learning about development methodologies - well, one specifically I suppose. What I need now is a real project to apply it all.  It might be time to tackle that favour I was asked for back at Christmas.

Tales from the Other Side: Confessions of an Offshore Resource

After the acquisition of a company with offices in New York, I pestered my company outrageously until they got fed up and finally relented – they agreed to send me to the US. To ease the transition, I chose to move onto a project which would allow me to start working in London and continue on the same team after I had moved to New York. In the extreme over-excitement that followed my relocation, it took me a little while to realise that effectively I was an offshore resource, no different really from any of our Indian test team, and the team needed to manage this appropriately. I learnt a number of lessons whilst playing this game. Some of these points are also valid for teams with remote resources (e.g. people working from home). The Time Zone Difference is the First Problem to Overcome Yes, the geographical separation and remote access is important to consider, but it's the time difference which is the killer. When your working day only (officially) overlaps for 4 hours, you ha

Metrics and Incentives.

This  is a great example of what happens when you try to incentivise intelligent people on very simple metrics. They cheat. This was well described in Freakonomics , and something Mr On Software bangs on about regularly .  It's clear that there isn't really a good answer to the problem - actually that's not true.  The answer to the problem is to have everyone working in a job they are happy in and proud of, one where they are intrinsically motivated, and give them enough information to allow them to make the correct calls when it comes to prioritising work.  But I'm guessing that a large portion of the working world does not fall into this category.


I know there are arguments against certification, and I definitely think that using certifiction to determine whether to interview or recruit people is downright daft, because frankly learning a bunch of answers isn't all that difficult.  But I personally find that completing a certification really helps to round out my knowledge in an area.  I guess my thoughts are that a fairly recent certification combined with the work experience to back it up is something that would make your CV more interesting to recruiters. As someone who has worked more on web apps than "core" Java applications, I found the 1.5 SCJP dead useful for drumming into me the facts about threading etc that I don't usually think too much about.  Plus since I did it very shortly after 1.5 started being used in anger, it was a good way to get familiar with the new features.  Although honestly it could've banged on a bit less about Generics, the stuff that was in the exam I have never used in real

AOP Caching

Today I would like to document my experiences implementing caching with Aspect Oriented Programming (AOP) and annotations.  Background context   Caching may need to be implemented in your application for a number of reasons. OK, actually usually only one: performance. I would like to add my own tuppence-worth to this though - if you can get away without caching (specifically in application that provide the ability to view and change data) then do so, unless you are using a cache implementation that will handle as much of the pain as possible for you. Implementing a home-grown cache from scratch is almost never the correct thing to do in my experience, you spend lots of time debugging and tweaking the cache when you should be working on your day-job, not re-inventing something that someone, somewhere, has already done a perfectly good job of .  The example I'm about to show you is for a web application created to let users read and edit values from a database (not an unusual scenari

Certified Scrum Master

Hmm. I have been so busy trying to think of "good" things to write here, and not having the time to actually write, that I see it's been 6 months since the last post. If anyone is still out there though, I need help. I need a good Certified Scrum Master course in New York or London, preferably in April or May. Any suggestions? The one I wanted to go on was vetoed and now I find it's not running in NY again until Autumn. PS Do you think it would be inappropriate to use the term "Scrum Mistress" on my CV?

Popular posts from this blog

Dissecting the Disruptor: What's so special about a ring buffer?

Dissecting the Disruptor: Writing to the ring buffer

Dissecting the Disruptor: Demystifying Memory Barriers