Monday, 12 October 2009

I do code in my free time

A few days ago I read a blog post by Ted Dziuba: I Don't Code in my Free Time. This post has been reverberating around the blogosphere quite a bit and popped up on a lot of different programming related sites and even on Reddit and I have to say that I disagree.

I'm not a 20-something anymore since this year, but in my opinion age doesn't automatically mean you're right. It's not because you're older that you know better then somebody that's younger. And why couldn't a programmer have a valid opinion about hiring?

My short experience so far tells me that the current hiring procedures for programmers are sadly lacking a lot of oomph. This certainly is the case with a lot of the recruitment companies that wouldn't be able to tell you the difference between an Apache HTTP server and an Apache Tomcat server if their life depended on it. Mostly it's a lot of talk about anything but actual coding skill, but my opinion about how I would hire programmers will be the subject of a future blog post.

While I certainly wouldn't go as far as not hiring someone that doesn't code in his free time, I do think it can be a good additional indicator, especially if it involves a different programming language than is used at your company. It doesn't have to be much and it doesn't have to be coding per se.

Besides coding it could also be reading, going to conferences, posting on forums or maintaining a blog. Everyone of these activities does not only improve your skills, it also gives the interviewer some extra area's to ask questions about that wouldn't come up in an interview otherwise. It is also a way to distinguish yourself from other candidates, be someone unique and show that you care about your craft.

As you can probably tell by now: I do code in my own time. I made and maintain a couple of small websites, I try to blog a bit and I also code some stuff to support one of my other hobbies (I still have time after all the coding, no kids you know): geocaching. Not only do I code for my own, I also code in my own time for work-related stuff, usually when I get some kind of eureka moment at home about how to solve a problem. If I'd waited until I'm back at work the idea would have vanished.

Wednesday, 7 October 2009

Hosting a custom maven archetype in Artifactory

Today we needed to set up a an in-house Maven 2 repository. The product we chose for this task is Artifactory from JFrog. Setting up this product will maybe be a separate blog post sometime, but for now the focus of this post will be on getting Artifactory to serve a custom Maven archetype.

After creating your archetype you'll first need to install it to your new Maven repository. This can easily be done using the Artifactory web interface. Once this is done you'll need to create an archetype-catalog.xml file that describes your new archetype using these rules:




your.group.id
your.artifact.id
1.0
http://your.artifactory.server:8081/artifactory/libs-releases/local



Once this is done you'll need to get Artifactory to serve this file. As there is no direct GUI support for this in the web interface, we'll need to use a workaround for this:

curl -u admin:password -f -T /path/to/archetype-catalog.xml -X PUT "http://your.artifactory.server:8081/artifactory/libs-releases-local/archetype-catalog.xml"

Once this is done you'll be able to define a remote archetype catalog with this URL:

http://your.artifactory.server:8081/artifactory/libs-releases-local

You can also easily use it in combination with the m2eclipse plugin:



Atlassian rules

One of my favorite software companies, Atlassian, has just announced that they're reviving their Starter program and that this time it is here to stay. Under the terms of the starter program you can get licenses for up to six products at 10$ a piece. If that isn't a bargain I don't know what is. And they're not shortchanging the buyers, since you'll get:
  • a full featured product
  • 1 year of support and maintenance
  • you'll be able to renew the support each year for 10$
  • an easy to follow install guide, Here be Dragons, with the promise of getting a unique t-shirt when you complete the quest
  • some freebies to complement the products (although a voluntary 10$ donation to Room to Read is encouraged as the 10$ of the other product are also donated in full to this charity - way to go Atlassian!)
The six products to choose from are:
  • Jira: an excellent issue tracker, that I've been using on and off for the last 7 years
  • Confluence: a great wiki/content sharing product, which I also have been using for about 2 years now
  • GreenHopper: an interesting Jira plugin that supports the agile methodology that the company I work for has tested for some time and is now using in production
  • Bamboo: looks like a full-featured continuous integration server that we could use instead of Hudson
  • FishEye: I think our current company CVS server is in dire need for this product. Maybe I should propose this sometime to our CTO
  • Crowd: this is a SSO/IDM product that we're currently evaluating as a less complicated replacement for Sun IDM when not all the bells and whistles of Sun IDM are needed
So even though these licenses are only for 10 users/plans/committers (50 users in the case of Crowd) they are perfect for small teams or even if you're tinkering on your own at home. Confluence, Jira and Bamboo for 10$ a pop are sounding very interesting to use on my own Skunk works.