Mar 26

I have been meaning to jot down my thoughts on this one for a while, but when I saw this article on First Steps into IT, I figured that there was no better time.

Programming is a tough career to get into. When I was getting into the industry for the first time I was frustrated by what I call the Big Problem. Nobody wants to hire a graduate without any experience, and you can’t get experience without having a job. Catch 22. Or so I thought. So how do you get around this?

You can apply for graduate recruitment. Big companies will do a drive at the end of each school year to get the best graduates. There are two catches,

  • It is the best people that they are after. Most people will not get a job that way. Not because they aren’t any good, but because the very idea of best is so subjective.
  • If you are the best, this probably is not what you really want to do. Smaller companies will give you more experience, of a better quality. I have found that in big companies, you get bogged down into doing one thing. Why would you want to do that when you can work in a place where you get to do a bit of everything? More on this in another blog post.

On alternative mechanisms.

If you read the popular IT press you will read a bunch of stuff on certifications and how they can help you. Most of these are provided by vendors and in my experience, do not help that much. A couple of reasons:

  • Most people don’t know what they are. It’s hard to impress a hiring manager if they have never heard of Brainbench or SCJP. The IT press is a notorious echo chamber. Take everything you read with a pinch of salt.
  • It can be pretty easy to find brain dumps of the test questions on the net, so the value of these tests can be watered down. This is a generalization, but true especially in the case of Microsoft certifications.

I have a number of Sun certifications, but they are an addition to a set of experience, that demonstrate that you know a particular technology. They probably will not get you hired ahead of someone with experience, but they might get you over the line if you are competing with someone on par.

Because of the climate of outsourcing in Australia at the time, and a bit of luck, I somehow managed to get myself onto a practical year program that IBM was running for pre-”final year” Software Engineering students. I did some pretty cool basic work when I was there, but it was enough. When I came out of university after I had finished my course, I now had experience, did not have to go through the graduate programs and ended up in a cool job for a small consultancy. This sort of stuff is great if you can get it, but I stumbled upon it through luck rather than any focused plan.

Those sorts of things are the standard options that everyone talks about. We are in the age of participation. Communities are all the rage, and there is nothing to stop you working within them.

Open source. A friend of mine commented that within one month of working in an open source project, you will learn more about technology than in a year of commercial work. The people that you get to work with and learn from are an awesome resource. You will learn about how to structure real world applications, learn about issues in production as well as best practices. You will also make contacts, which are the single most important thing in any career. These people may be able to recommend you to their colleagues, put you in touch with someone doing similar work commercially near you, or they may have work within their companies. Contributing also demonstrates to a potential employer that you are a self starter, and are willing to learn off your own initiative. Find an area that you would like to work in, check out a corresponding project (check out Apache, OpenSymphony, CodeHaus, and other resources like Ohloh for professional open source projects), and kick the tires, write documentation, report bugs, contribute some fixes and you will be amazed at where it will lead you.

Professional networking is the name of the game. User groups are a favourite of mine, as I am involved with running the Java User Group in Dublin. These bring together groups of professionals working in the industry to talk about new technologies, issues and generally to meet like minded folks. We are generally pretty friendly, and won’t bite your head off if you ask us simple questions. The people around you are an invaluable resource. We are there to help each other. Turn up, while you are still at uni. Aside from learning about some cool stuff, there are often guys looking around to take some help on, and they will contact people that they know before hitting the market. Read What Colour Is Your Parachute if you want to know why. Volunteer to help out with the group, take minutes, run their site, help out with podcasts. Once again, engagement is the name of the game. Rocking up and asking for a job at your first meeting though is not going to help you. Sun and Microsoft have associated user group programs that are well represented, and Meetup.com is a great one for finding other developer groups in your area. If there isn’t a users group around you, start one!

Start a professional blog about your experiences with technology, documenting what you are doing, the things that you are involved in etc. Use it as an example of your work, and the sorts of things that you are involved in. It’s an awesome resource to potential employers in the hiring process in that they can find out who they are dealing with. Start a podcast, do some screencast technology demos. Most of all, get yourself out there. People who are excited in technology and participate are the future. 90%+ of the competition will not be engaged in the same way. Get people to want to hire You, not just a butt to fill a seat.

Alternatively, start your own company. Skip the nonsense, do the research, and do it. There is no better way to get experience.

Jumping through hoops for graduate recruitment drives, sitting certifications and applying for jobs randomly (the shotgun approach) are hard work, demoralizing and generally will not help. However, if you apply yourself and engage in community, you will find the start to your career not only easier and more rewarding, but learn heaps of cool things and meet great people along the way.

Aug 16

I recently purchased a Pimsleur Spanish language course on audio bookchip. I figured, hey, rather than buying CDs and then ripping them to my hard disk through iTunes and then putting them on my iPod or phone’s MP3 player, I’d save some time by getting it all on a chip and copying what I need. Big mistake.

Everything on the chip is saved in a proprietary DRM format. If I want to listen to the stuff on the chip, I have to use the proprietary player that comes on it. If I want to copy the stuff to iPod, it comes with a converter that automatically puts it onto there through iTunes - converting it all first. The process takes ages! Then, to add insult to injury - when I next plug my iPod in, the stuff I copied will be deleted! Umm, did no one think that maybe, just maybe, I might want to put more mp3s on there while I’m going through ALL 16 HOURS of a language course!?

Want to learn a language on your snazzy mp3 mobile. No can do. There’s no way to get the stuff on there.

Want to use it with your girlfriend? One person at a time. If you had the CDs, you could at least break it down by sharing a CD at a time. On this bookchip, you get 16 hours and no granularity.

I am kicking myself that I bought this rubbish! Buying it on a CD would have given me far more flexibility with how I consume it. I hope that the decision of some of the biggest record companies to release DRM free songs heralds a change in how they treat their customers. This sort of stuff does nothing but tick honest consumers like me off.

Aug 15

I’m so glad that someone has finally come up with a robot that does something constructive. Now if only it didn’t keep chatting away in an annoyingly chirpy Japanese voice while it did it. I can also see a few other problems with the design, but hey, who am I to begrudge genius ;)

Now with tounge out of cheek, every time I see something like this, I get really ticked off. Mostly because this stuff has to get disposed of at some stage, and already there are problems with consumer waste such as TVs, computers etc. Whatever about recycling it at the end of its life (I give it about two weeks before the novelty wears off - almost as long as Billy Bass the singing fish), but this stuff has a huge carbon footprint in its manufacture.

How many {dead dinosaurs|trees} does it take to pour a beer?

Stuff is a lot like food. Once we had very little, so having it was something desirable. Now we have far too much. Paul Graham has written a fantastic essay on this topic.

When I moved countries, it was with one large backpack, a suit bag and one piece of hand luggage that contained a camera, an mp3 player, my laptop and travel documents. Free yourself. Avoid stuff.

Jul 20

Most of the spam that hits my mailbox these days is the “Contact us urgently for your $1.5 million” type rubbish. Everything else seems to get caught by my email provider. I guess that the 419 looks like something that may be legitimate, so they let it through. Sending the mails on to email providers to shut down mailboxes is a time consuming affair and is like trying to stamp out little fires that keep spreading - it tries to cure the symptoms rather than the problem.

So what’s the underlying problem with the 419 emails? It is profitable for a guy in some third world country to scam the Unsavvy. Send out a hundred thousand emails, and the people who email you back are ripe for the picking. Now, what if the guy started getting a huge number of fake personal details that he follows up only to find that they’re crap. The cost of doing the 419 automatically goes up.

The idea: a 419 killer service. You forward the email to the killer mailbox. It works out whether it’s dealing with a legitimate 419 email, and if so adds the from and reply-to addresses to a list. It then periodically generates rubbish personal details that it forwards in an authentic looking reply message to those addresses. Now instead of having a few legitimate details, they’re hidden in the hundreds that these guys need to go through to find an actual person. The result: an increased cost of doing 419s, and hopefully getting these people to do something else with their time.

Jul 11

Great tips on how to get the best deal on a new system from Dell:

http://consumerist.com/consumer/insiders/22-confessions-of-a-former-dell-sales-manager-268831.php

Jun 27

Spam filters are pretty good these days. Most of the spam you get gets blocked either by your email provider or by your mail program of choice. But every once in a while scam emails have a tendency of slipping through. You know the type - “WINNING NOTICE - CATEGORY A WINNER”. The great Nigerian 419 scam. Most of us would simply delete it or leave them in our Junk mailbox, but there’s a better option.

What makes them different to standard mailbox crap is that they require someone to reply to them, which means that they can be traced back. The mailboxes in use are normally temporary accounts on a free email provider (AIM/Yahoo/MSN/Google). Most email providers have someone sitting checking for abuse of their systems. This is typically done by scanning the abuse@ mailbox. When you get a scam mail, check which provider is listed in the FROM and REPLY-TO fields of the message (there may be two different ones involved). Then forward the mail to the abuse mailboxes on those services with a message along the lines of “This scam email uses a mailbox on your service. Please take whatever action you feel appropriate.”.

Why bother? Most of these emails are targeted at the Unsavvy. The Unsavvy does actually think they have won a lottery they never entered, or that Nigerian astronauts are stuck on an abandoned space station and need money so the Russians can get them down. It’s not their fault really. Your Grandma could be Unsavvy. We the blog readers of this world, tend to be a bit more clued in, and have an obligation to help the Unsavvy - or at least to screw the Spammers. Forwarding to an abuse email address means the offending mailboxes will be shut down before Grandma or Jim-Bob can send Njembe the Ousted Oil Tycoon who needs to recover his $60 million their bank account details. It’s the right thing to do.

Same applies to banks, paypal etc. The minute you get a phishing site, send it on to the abuse mailbox at the bank in question and they will go after it.

It would be cool to write a Thunderbird plugin that does this automatically. Another pet project to do as soon as I finish the 100 others…

Jun 12

Here's one in case anyone is pulling out their hair trying to work out
why they get the following message in their apache error.log:

PHP Warning: Module 'Zend Optimizer' already loaded in Unknown on line 0
PHP Warning: Zend Optimizer: module registration failed! in Unknown on
line 0

It seems that dbg somehow conflicts with Zend in a XAMPP installation,
and needs to be installed as a Zend extension. Here are the instructions:

http://rilnet.org/en/node/14

Don't believe installation instructions ;)