Recent Computing Graduate... Advice?Watch
So I've just graduated from my course, Computing and Networking, with a 2:1 and I'm buzzing about it. But now it comes to thinking of a career...
I see a lot of jobs going for software engineering, but throughout uni I was always really **** at programing. I'm wondering though, if I applied to job, and got accepted would I be trained better than uni, so that i might actually be good at it and come to enjoy it? I feel put off by the jobs because I know I'm bad but the hands-on experience of learning code for a living would be massively beneficial im sure.
Another option I have is to work for PWC, which would look great on a CV. However I'm concerned that PWC will not provide me the experience I need to secure a technical role down the road and to me appears more 'business' focused.
If anyone is a software engineer, or even worked at PWC that would be great to chat to you.
You could look out for jobs such as
- 2nd/3rd line support
- Infrastructure Engineer / Systems Engineer
- 'DevOps' Engineer
Admittedly, infrastructure engineering roles tend to be more senior positions due to the 'critical' nature of routers and servers in most organisations. DevOps roles often overlap between systems engineering and software development, albeit with far less emphasis on code and more emphasis on installation, deployment, tooling and automation scripting (DevOps is a really vague, fuzzy term which means a lot of different things in different companies). Desktop support jobs despite being 'junior' positions sometimes cross over to some infrastructure support however.
If Software Engineering is the direction you'd like to take then realistically it sounds like you'd need to spend some time improving your core programming skills. Remember that you'll be competing for jobs against other graduates who probably had more success in programming at university, and may have been on a 12-month placement too.
The interview process for graduate software engineers often involves answering programming questions that graduates are expected to have learned at universty - for example, explaining OO concepts, or being given some code on paper and asked to read/explain what it does, or maybe being given a problem to solve with a laptop and a code editor and asked to write a solution, or if the Final Year Project involved software development, then that might be included too. Employers hiring into graduate software engineering roles usually prefer graduates who are comfortable writing code, although of course that shouldn't stop you from applying and seeking feedback.
As far as training goes - graduates are usually put into some kind of project work or maybe into an existing team soon after starting, although will usually be given some time and space in the first 6-12 months, so while you'd probably not be given any critical client work with tight deadlines, you'd need to learn on the job and take time to read and research along the way, ask questions and maybe get some time from some of the senior engineers if that's available (depends how busy they are). In some cases the employer might help with access to resources (e.g. MSDN, books, Pluralsight), although most of your time would probably be spent digging through Google and StackOverflow.