Entries Tagged 'Tech industry' ↓

You can’t always git what you want

I’m hoping some of us remember when subversion was first released. Those of us CVS users knew immediately that subversion’s changeset-based tracking was a big improvement.

Some of us held off a little while until the tool support had matured, but after a few months there was no great benefit to sticking with CVS, and subversion spread quickly. In a short time, it became the free source control system of choice.

Switching to subversion fixed a problem that with CVS, but it didn’t fundamentally change how we’d used source control as a team. That’s important.

The rationale for switching a team from subversion to git is less clear-cut and, I’m going to argue, you could end up affecting how your team works together for the worse.

Git is a more complex tool, but that’s not necessarily a bad thing, and I have no doubt it will get simpler tooling with time. Its speed is a huge improvement over svn and for some I’m sure sufficient reason to change. And, of course, it doesn’t drop pesky .svn folders all over the place. All improvements, straightforwardly.

But, if subversion is a team-based tool, git is designed around individual developers, loosely-connected in social groups. This distinction is what makes git an excellent social tool – an excellent choice for software developed by a diverse group of individuals as open-source projects often are. Just for the record, github rocks.

However, git’s group-development virtues are team-development vices.

Branching is an evil for small teams. Single-trunk development with continuous, often, easy integration leads to fewer bugs, better communication between team members, sharper code. I’d go further than most agile proponents here: if your team is small enough to handle it, this is what you should do; if it isn’t, it’s time to split the team.

On the softer side, the commitment that a team-member makes to keeping the trunk clean is important in itself. It’s these norms and commitments, personal promises and bindings that make the difference between a team and a group of individuals. And, our chosen tools are a part of that team structure.

Git is a gift for those people on your team who are not team players, but not necessarily a boon for the team. I’ve seen this play out a couple of times now, surely others have too?

So, what I think most teams would do better with is a subversion that’s faster and doesn’t leave .svn folders around, one that’s easy to set up and doesn’t have 200+ commands to play with. Perhaps if subversion were up on github we could all have a go at making it.

Who are your best coders?

Kevin Marks “In the end, this means that really great coders will keep getting paid less than they are worth and average ones will keep getting paid more, so the economic benefits of great skill will go primarily to the companies with the best employees and not to the employees themselves.”

I read this post a little while ago and was reminded of it today. I’ve found that sometimes good developers don’t get paid the amount they deserve because the management don’t know who they are.

A while ago I visited a company that was jammed to the rafters with below average programmers being paid wages that the management thought should justify a certain skill-level.

I sat with one of the programmers for the afternoon, and before long it became very clear that most of the development in the 20-person team was being done by two of the other developers, and from what I saw their stuff was pretty good. Which is more than can be said for the chap I was sitting with…

That afternoon, I think I prevented a dozen bugs being put into the codebase by this poor chap who was completely out of his depth, but also amazingly arrogant with it. It was something less than a pleasure.

I reported this back to the MD only to find that I’d been sat next to their highest-paid programmer. I was a little bit taken aback. The chap had the most certifications and qualifications and therefore commanded a higher salary. Hmm.

The two developers that wrote most of the good code? One was an older chap who was seen by the management as ‘not having a sense of urgency about him’ and the other had recently been given a written warning about not commenting his code.

Did you know that these guys are doing the same amount of development as the other eighteen together, I asked? The MD was completely shocked. So what should I do? he asked. Well, I said, I’d ask them.

I received an email from the MD today – four years on they’ve shrunk their team to six people, the two great programmers are still there, and as a company they’re much more productive.

I suspect, though, that as Kevin suggests they haven’t shared out the other 14 developers’ salaries…

Open-source economics

Back in November the EU looked at the economic impact of open-source software. It’s a mammoth report, but it’s also an extremely important one – FLOSS software doesn’t have the lobbying power of the monopolists who peddle proprietary software.

It’s uncompromisingly positive about the benefits of FLOSS, going as far to suggest that they’re so great that FLOSS developers should be able to write off their code contributions as charitable donations.

I wonder how many people know that the UK government has a policy on open-source software. It’s a brief document with little or no commitment to FLOSS. According to the policy, open-source software is considered alongside commercial software with a final decision made on the basis of value-for-money.

I notice though that according to the EU report, some 72% of firms report that open-source software has provided them with “total cost of ownership” savings over commercial software. If you do decide to read through the report, the case study of Beaumont Hospital is enlightening – an enormous saving through the migration to FLOSS. Case closed?

Not at all, and certainly not while government departments are ludicrously suggesting that propriety software allows the Department to benefit from industry standards and trends. Thanks go to Conservative MP David Gauke for asking those questions; the extract is from the Department for Work and Pensions’ answer.

It’s about time that the government revised their 2004 report, to take into account the benefits of FLOSS pointed to in the EU report.

They must also commit to releasing as open source a much higher percentage of the software that they commission. But that’s the topic of a future post…

Developer salaries on the rise… again.

The guardian reports today that average web developer’s salaries have risen by a whopping 23% in the last year.

Definitely a sign that we’re in the midst of a tech boom. Interestingly, the article claims that the retail sector is driving the demand.

I hope this signals the end of companies seeing development as something to be out-sourced or off-shored. It would be good to see more companies build core technical capability in-house and stop taking the advice of the snake-oil consultancies that seem to profit most from out-sourcing deals.

UK retail in particular has been very poorly served by the delivery of truly awful website technology from expensive and well-known consultancies.

All this while their board was wondering how Amazon and eBay were eating their online lunch.

As a side note, I wonder how those consultancies had any time to do anything at all. Surely they were busy taking government money to deliver mis-sold and poorly thought out public IT fiascos.

Anyway, good news that in-house development is starting to be recognised, financially at least, as a strategic differentiator after nearly a decade of being undervalued and underpaid.

Anyone looking to recruit right now should be warned though. With so many developers now opting again for contracting over full-time employment, I’m sure salaries haven’t yet reached anything like a peak.