January 2016 feels like a milestone for me; my first rookie year in the contract/freelance world is over, yet my 10th year in IT has just begun. Here is my journey so far, and how I could not be more glad that I stumbled into a career that is different every day - Software Engineering.
Those who know me well will know my first love was and is Music, it was my best subject at school by far. In 2004 I had 2 years left at school and I really had to start focusing my subject choices on subjects that would allow me to get to University. I really did not have a clue if I wanted to go to University, far less what I wanted to do there. I decided I needed some work experience over the Easter break to ease that decision. Unfortunately there was some bureaucratic block that year on the school arranging any work experience activities (the old Health and Safety police were all over it) so I got out there and found myself some. A career in Music was my logical first place to start so I wrote to every recording studio I could find in Edinburgh offering my free labour over the Easter break. Fortunately a music rental, come talent agency, come instrument rental, come recording studio replied and I had a 2 week placement sorted out. I had a blast there and I used the two weeks to question everyone in sight. Unfortunately I realised soon after this that any “career” in music was going to be difficult, there was no structured career path (apart from teaching that I did not want to do), and opportunities were scarce if not totally non existent. Worse still, most of those that were available did not pay well.
I always seemed to do well in subjects I enjoyed at school, and a close second for me was Computing. On some further research I realised that jobs with computers were a plenty, there was a skill shortage in nearly every area and salaries were excellent. Fortunately for me the entry requirements for university to do computing or music are nearly identical (maths & or physics, English, music/computing) so hedging my bets going into my last 2 years was a little easier knowing this…take the subjects that allowed me to do either and make the choice in two years time.
Two years soon past, it was 2006 and I was finishing up my last year at school with a conditional offer to do Computer Science at Heriot Watt university in Edinburgh, with other backup offers to do Music at Edinburgh. By May/June 2006 I had several months off before I found out my final school grades and if I made the cut for university. I really did not have a clue at this stage what I wanted to do with computers, and really I needed some work experience again to help aid the decision. Some helpless begging paid off again and I secured a job interview for a summer job within the IT Department of my local council.
Don’t be afraid to ask, speak with any contact you have, and if you don’t have a contact write to everyone you can think of anyway - it worked for me. Getting experience before I had to was the best thing I ever did.
My first year in IT
Turns out I got the summer job for the short 6-8 weeks before I started university helping with general admin activities (paper was king back in 2006 and lots of paper needed filing but I was extremely grateful just to get my foot in the door to do anything). I was 16/17 at this point, the youngest person on the full floor, if not the building of several hundred people… I was way out my depth in a professional environment at this age. To say I was wet behind the ears was an understatement; but I never have been shy at asking questions, and by interrogating those around me I learned quickly. I think it was some point during this time that I realised people skills are as, if not more, important than what you can do technically. With the right attitude you will always learn the technical aspects. Those few short weeks passed quickly and I knew by this stage I had been accepted into University and computing was most definitely the correct choice. Despite this, wanting to become a software engineer wasn't even on my radar at this stage.
That summer job turned into something else over the next few years; I went from helping with paperwork to doing 1st line support, to 2nd line support, 3rd line, on into software development and even automating a few processes and digitising some of those forms along the way (all while working a 2nd job in a shop some nights and the weekend). I left “for good” more than once to go back to uni (big thanks for all the whisky guys ) only to end up back there between university semesters and even working part-time during term time. I can’t thank Bob, Wendy, Jennifer, Ann and so many others enough for the chance they gave me in their teams, my experience over those 4 years leapfrogged my career much more than just the technical skills I learned there. Being in a professional environment so young made me grow up fast, it gave me my thirst to know more, and being able to experience the full breadth of IT still to this day benefits me over others.
After university myself and a few uni mates tried to start a software company, mobile apps were all the range in 2009/10 and we were buzzing with ideas. Once again those big ears of mine were a little wet, and we were all a little naive in estimating how much we all needed to earn to actually make a living from doing it; far less how much money it takes to actually launch a product. Some of our ideas in those days have since proven absolutely valid, someone else had the same ideas and some of those ideas are now part of the Silicon Value Unicorn club (a company valued over $1 Billion).
After we gave up on this I ended up working for a music streaming company (think Spotify like company), the fit could not have been better for me with my 1st and 2nd favourite topics together at last. Yet again I was the youngest in the office, but to me this has always been a benefit. Being the underdog and feeling slightly out your depth makes you pull up the socks, learn quick, absorb everything from those around you and just get on with it. Never be afraid to ask for help from others, and don’t forget to return the favour when others ask you.
Two and a half years later I was ready for the next challenge; stagnating your technical or professional skills in this industry really is not an option and fortunately there is no shortage of great jobs for software engineers. If you don’t believe me take a look at the job boards yourself,or this article a friend of mine posted today on the jobs companies will be hiring for in 4 years time.
Next I took up a position with one of the UK’s largest automotive retailers on a multi million pound redevelopment and modernisation of their Point Of Sale system. I was joint first in the door, and the team grew, and grew over the next 18months. Eventually I fell into the position of leading a team of 12 extremely experienced guys and yet again my learning curve was exponential – trying to coordinate/manage people that are decades older than you is not easy and neither is dealing with half the cutting edge technology that was being used. Due to the incredible pace of change in software, every day is a school day. Unlike few others, in the software industry career progressions does not necessarily mean you have to go into management. It was for this reason that 2 and a half years after joining my time here had to come to an end, leading a team was great experience but I still enjoy the technical aspects too much at the present time to give up on that. I considered accepting a job offer I was made with another organisation as a technical architect (basically the job I was already doing minus the day to day man management), but added to this it had been a few years since I had attempted any of my own ideas.
My first year Contracting – a little rocky but extremely satisfying
In Sept 2014 I verbally accepted a contract offer and was in the process of getting the required paperwork in place days before I left for a holiday to Australia. I received a call from the agency while I was in the departure lounge to say the clients project had been cancelled with their client, and the offer was being withdrawn. Fortunately I had not handed my notice in for my permanent job at this point.
In Dec 2014 I accepted a 7 month contract/freelance position with one of the big financial services firms in Edinburgh. My road was a little bumpy again; the first day on site I found out there was some mix-up between the client and the agency I was contracting through…my 7 month contract was now 5 months. Despite my attempt to renegotiate terms the client were having none of it, I was the small fish and just had to take the hit. After this there was yet more problems with legal clauses in the contract that again I had to take the hit with. A little more water evaporated from behind my ears. Despite this the contract actually went well, the work was not quite as interesting as I was used to, but to me contracting offered a new freedom.
My next contract was with another financial services company much smaller than the first. They were extremely forward thinking for a FS institution and extremely proud of the “culture” they had about their offices, so much so I went through a total of 4 interviews to make sure I was the correct fit for the organisation. I was fortunate enough to work yet again with some incredibly talented people, getting new perspectives is always enlightening. The application the client was developing was attempting to use the latest in cloud computing technology – an area of software moving at light speed just now. So much so articles written only months prior were now out of date in most of the research I helped with. It was round about then I asked myself if anyone in this industry is an expert? The answer in most situations in a cloud first world is no. Attitude to learning, embracing change, managing risk and not forgetting the product needs shipped are all more important qualities to have as a software engineer today.
Unfortunately despite this contract being great technically, and culturally, the business application we were developing was scrapped. Only 1 month after negotiating contract extensions for another few months I was told the project was ending in 4 weeks time, a week before Christmas, and yet again hours before I was due to finish up for a scheduled 2 week holiday.
Contracting has many benefits:
- No “Career” pressure making you feel obliged to do more than your paid for. I am happy to say 35 hour weeks have now become my norm so far (goodbye to those occasional 70 hour weeks I had seen in the past).
- Taking holidays, all be it unpaid, whenever I like and for how long I like is a nice perk. The flexibility is great.
- The chance to run a Ltd company as a stepping stone hopefully into my own products. The shorter work weeks have allowed me the chance to work on my own ideas again.
- This is all proportionate to the risk but financially contracting is several orders of magnitude better than permanent work. Although not everything, this allowed me to take another programmer on for a few hours each week to help in getting my ideas into products.
Contracting is not for everyone, the risk associated with it has played on my mind several times in the last year. For anyone thinking about a leap into the contract market here is my advice:
- Make sure your outgoings personally are absolutely as low as you can.
- Make sure you have both a personal and business “buffer fund”; money you can forget you have for situations like the ones I have described above.
- Get used to going for interviews, you will be doing a lot of them. Practice here is key, you should already have rehearsed the answer to every possible question they may ask you before you go in.
- Make time for dealing with recruiters, going for lunch, have a chat about the market. Have your eyes open though, there are some good and some bad agencies, I can tell a few horror stories myself.
- Make an investment in learning tools. Being a contractor means you should be up and going in days, ready to hit the ground running with best practice and speed. Unless you take time to read blogs, industry news and watch tutorials your not going to be able to do this.
1 Mod 10
Well for those into Maths 1 % 10 = 1, and really that's how I feel every day in this industry. I may be 1 year into contracting, and 10 years into the IT/Software industry but every day is like my first day; this industry is moving at a phenomenal pace and anything I did 3 years ago is no longer valid or there is a new better way of doing it. There has never been a better time to be a software engineer, if you love learning new things and can embrace change software engineering probably has a job for you.