I am aware that the following words might not tickle the comedic parts of your brain or kick your imagination over a rainbow. However I hope it might serve some purpose. Maybe you are a student considering a placement / career with Instil or similar software engineering position and want to know what you are getting yourself into. Maybe you don’t know what an internship is or what it’s all about and if it’s the thing for you. Hopefully this will shed some light on the subject.
Who is this guy?
DISCLAIMER: Boring introductory section ahead.
I am 20 years old at the time I begin writing this blog. Who knows when I may finish. Proof reading this just before I publish this, I realise that I am now 21! I studied Music, ICT and Maths at A Level and I’m a third year computer science student at Queen's University Belfast.
Instil is a software development and IT consultancy company based in the heart of Belfast. They were about 20 strong before I joined and were running as a company for about 7 years. It was at the QUB Careers Fair that I first was introduced to them where I got advice on how to spice up my CV.
As I said I am a computer science student so the role I was applying for was one of a software developer. I honestly didn’t really know what to expect. I had many part time and full time jobs before this, such as Domino’s Delivery Driver, Sales Assistant at Next and “Service Engineer / Customer Sales Advisor” (aka. Handy man) at a local agricultural suppliers.
This has been my first ‘real’ IT job and boy did I choose well! My 100% recommendation to any students that come after me, would be to consider a university recognised placement. It is an extremely valuable asset and provides practical insight into the software development lifecycle. It also makes one far more employable due to the broadened exposure to real life projects, and technologies.
My Role as an Intern @ Instil
I have to confess; the only reason I have got this blog started is because I am having serious diffs’ deploying to any of our host environments. It is taking on average 7 minutes to build the project, pack the project into a JAR file and then push and run the project in one of the environments. I thought I might as well do something other than twiddle my thumbs.
And yes, I am working on an actual, real life, proper, non-imaginary, with real clients, project! That’s maybe the most exciting bit of it for me. I get to see the project from start to finish and I’m involved in all elements of the development process. I remember being in somewhat of an anxious state for at least a month until I was able to successfully complete a task without calling for help. Not that doing so was a bad thing, I was encouraged to give a shout and get help if I needed.
On that note let me just give the guys at Instil a big thumbs up for their training and development strategies. After just one month I had learned the basics of two new programming languages (JavaScript and Kotlin) and was applying my new found wizardry to the projects I was working on at the time. A core practice at Instil is Test-Driven Development (TDD) which was an entirely new concept to me. In very simple terms, it’s the practice of writing tests that fail before attempting to write a solution that will make those tests pass. I have been applying this practice throughout my work here at Instil and intend on keeping it even after I leave. I feel that it makes it a lot more natural to produce modular code.
Also see one of Richard’s latest blogs about TDD.
First day thoughts
First thing anyone ever worries about when starting a new job is knowing if they will fit in / be able to perform the tasks that are necessary (at least those are the things I worry about). Of course there was a bit of anxiousness when I first sat down on my first bit of practice at a project. But there was plenty of time to get settled. The first week was mostly training and setting up my machine.
A big part of Instil’s business model is running courses for companies and other groups of people to learn any number of new technologies such as new programming languages, security and testing. We as interns got this treatment for a while to bring us up to speed on different topics such as security and clean code. The topic of clean code was another thing that was quite different from university. My coding style has definitely changed in the past year, and I think it’s for the better!
A Day in the Life of a Software Engineer
I aim to be in work for 09:00 in the morning and will spend the morning refreshing my mind on what I was doing the day before. A good part of this time is spent updating my log, timesheets and hours spent on tasks. This is all valuable information for the workflow of the team as it helps in estimating features based on how quickly previous tasks are being completed.
At 09:30 we have what we call a “Stand Up”. This is a 5 minute long, informal team meeting where we all sit down and take turns to say what we were working on the day before, any issues that we had, and what we plan to do that day. Just kidding, we do actually stand up. I think this is a great routine for a team to get into for a number of reasons:
- You outline what you have achieved the day before which helps pave a way forward for the tasks ahead
- You get a brief explanation of what other team members are working on, which can help if you have questions on a section that they have worked on
- When raising issues to the entire team we can discuss solutions together and form our plan of action
After standup I go back to my computer and continue working. I usually take an hours lunch break and would normally finish work at 5:30. Somewhere in that time I take a break to log some more of my hours.
Sometimes when a difficult task arises, some of the involved team members would have a discussion around a whiteboard to further expand the problem into its components and try to find the best solution.
On one occasion during our big project we played planning poker. This is a way in which all team members estimate how long they think a feature will take to complete. This can be interesting as some member’s estimates can be quite different to that of the rest of the team, which usually starts good discussion.
Conclusion
Looking back on the majority of a year’s worth of work for Instil, one of the things that will stick in my mind as a selling point for working with these guys is the atmosphere of the work place. It is quiet and productive but not intimidating or restrictive. There was never a point when I felt I couldn’t ping anyone in the room for help and they in return never showed any reluctance to give a helping hand.
I am planning to go back to university to finish my Master’s in Computer Science after my contract comes to an end. I feel extremely prepared and motivated after the immense quantity of knowledge and teaching which I have learned while here at Instil. I will continue attending the odd bash event to keep my knowledge refreshed. Bash is a developer event which hosts talks on interesting new technologies.
Hopefully this has been of some help / source of entertainment for you. If you have any more questions about what we do, please don’t hesitate to get in contact.