This is a talk I gave during my time at IBM to University of Western Sydney students who came for a site visit. They were all roughly my age (late teens, early twenties), with many looking for job opportunities such as internships, scholarships and graduate positions.
From what I've seen so far being in the workforce, there are two roles you have in IT – technical like mine or non-technical because not everything in an IT career has to require good knowledge of hardware and software.
The people I work with are all really smart at what they do so listening and paying attention to what they tell you is invaluable. Just know that everyone has boring parts in their job, its inescapable no matter where you work or what you work on.
So I got into IBM because a person doing a group assignment with me told me a bunch of places to apply for internships. I applied to IBM, got a short phone interview and was told to do an online test. A few weeks went by and no reply. By that time I got pretty desperate so I went into the careers fair that Universities generally hold but catered for IT students. A lady from IBM happened to be there so I told her what happened, she wrote my name down and called me back in about two weeks telling me all the internship positions had sadly been taken. A month or two went by and she called me again telling me she had a new position this time and remembered who I was because I added her on LinkedIn right after the careers fair. This time she told me she had a position at St Leonards and here I am.
I think that just goes to show that networking is extremely important in job seeking. Her job is a recruiter so when she gets handed a position to fill, she'll think, ‘I got the perfect person for this job’ because she knows who you are. You've networked with her, connected with her on LinkedIn and talked to her in person. Straight away she'd give everyone she thought of a phone call to save her the time of advertising the job. So network, get a LinkedIn account if you don't have one already.
A good understanding of the basics is enough, that’s what I had but when you start to get into it in the workplace you sorta have to love it and be really interested in it to get the most out of a technical internship.
- Good knowledge of hardware and software: While most of you here have never worked on a server, it does differ from a regular computer just are bunch of management capabilities and failovers. You should know what businesses use, not just what home users use. Terms like fibre channel and RAID should mean something to you and you should know what they are in an enterprise. Of course you're not an expert on everything and pretending you are only makes people think you have a big head. You take an internship to learn too of course, but getting one, especially a technical one, requires good knowledge of hardware and software to begin with.
- System, programming and scripting fundamentals: We love to automate everything and make it repeatable as a batch process wherever possible. Imagine me having to reinstall Windows 7 on all these computers, I’m not going to grab 24 discs into each computer and enter a username and password for each one – we have tools for that and if we don’t we can write scripts for them. Generally everything you have to do, someone else has usually done it before or it only slightly differs from how someone else did it. Wherever possible we aim to use best practices or best methods.
- Experience with different operating systems including virtualisation: Everyone knows Windows, it’s a given – don’t even put it on your resume. Now not a lot of people know Linux – that’s something that makes you stand out a bit over others. If you want to work in an enterprise you’ll encounter Linux distributions and even Windows Server operating systems a lot. They're good to know and if you know your way around one it really helps, like understanding things such as SELinux, Active Directory or a Domain Controller. Linux is definitely booming over the years and it’s mostly free if you want to try it out on your own computer or even as a virtual machine. Also with the push in being ‘green’, ‘energy efficient’ and ‘cloud computing’ you will find that virtualisation being a bigger and bigger thing every year.
- IT Infrastructure fundamentals and essentials: A good understanding of the essentials is of course always important. Things like CPU usage, memory usage and disk usage. However a lot of things you may should also know are things like networking, databases (just SQL is enough) and some methodologies and terms like Agile and Scrum – because either you will be using it or your customers will be.
- The best way to get technical skills is easy – practice. If you really love computers then getting into something new is always exciting. You can set up at home some dummy environments through virtual machines. Although software is expensive for a university student like you and me...you'll probably know how to work around it. Hardware on the other hand is harder to learn because you do have to physically own it, buy it and use it so its harder to get started on that – especially for things like learning networking where you need to go and buy cables, switches, routers, modems and so on. I say go as far as you can on software before the limitation is the hardware.
- Another way I've gained some skills is to do free courses on the Internet. Harvard University provides free courses online for computer science which are full length and full content courses. Udemy is an online website that also has free courses. Most of the content and basics you can find online most of the time. If theres an option to get certified in it like receive a certificate I’d recommend taking it, acing it and then putting it on your resume.
- The biggest challenge so far has been getting out of bed every morning. Not saying I don't like my job, I love it truly. It takes me about one and half hours to get here and one and half hours to get back. Physically it’s challenging especially when you have to juggle Uni as well as work. But in the long haul, in my mind at least, having this experience is vital to kickstart my career. If you think of yourself as an employer, you would rather hire someone with workplace experience than someone without it.
- Uni and work. So as a Uni student doing full-time work you won't have too much time on your hands. Since the start of the year I've done three subjects per semester - both as night classes from 6pm to 9pm after work. I don't think you can do anything around night classes except if your manager and team are laid back unlike mine. I wouldn't say its hard to do if you use your time wisely on the weekends and on a regular weeknight. Even on the train to and from work if you can grab a seat just take out your laptop do some work there as well. I think the saddest thing though is that I usually park my car at the train station in the mornings but I'm probably like one of the first ones there but on the way back my car is the last one there. It can make you wonder if you're overdoing it but if you feel fine and you're determined to do to both Uni and an internship then it will work out for you.
- The job itself can be challenging at times. A good job is challenging after all, if it was really easy you would get bored of it very quickly. Most of the things I do are challenging at first but if I apply the theory I had learnt at Uni into practice it can help out. At Uni you can learn all about non-functional requirements like security, scalability, usability and performance but they never give you a real life example of that. It’s only when you get into the workplace that you're suppose to magically turn everything you've learnt, your knowledge and apply it in the workplace.