Do you know what it’s like working as a software engineer? Allow Liberty IT’s Aaron Cotter to shed some light on his day job.
There are plenty of options available to you if you want to become a software engineer – there are so many programming languages to learn, so many systems to work off and so many different kinds of problems to solve.
But, while you might know what it’s like to code and develop software, you might not be familiar with what a typical day looks like working as a software engineer.
Aaron Cotter is a senior software engineer at Liberty IT, and he talked to Siliconrepublic.com about his job.
What is your role within this company?
I’m a senior software engineer. I develop features, fix defects and test use cases in Liberty’s customer website.
If there is such a thing, can you describe a typical day in the job?
1. First, sit down at my desk and check my calendar for the day. This is to plan blocks of time for focus during the day. Then, read and reply to any emails I have.
2. Get some water or coffee, and usually begin my first slot of focus time. This could be paired up with someone on my team locally, or just on my own. If I’m on my own, I line up a couple of albums to listen to.
3. Open Jira [issue tracking software] and grab what I was working on the night before, or whatever is next on the board. The item on Jira will usually cover a single piece of work from inception to demo. So, until lunch, I’ll be doing a combination of reproducing, troubleshooting, debugging, testing, Googling, coding and unit testing.
4. Eat a delicious healthy lunch.
5. When I’m back at the desk, I’ll reply to any emails I have that need a reply, reply to anyone on Skype that has been instant messaging me, and check all my Slack channels for anything pertinent to our team, or for anything I could help with, or answers to any question I have broadcast.
6. More water, more coffee. Standup is in the afternoon, so I’ll have to organise my second focus slot around that. I usually have some extracurricular tasks for stuff outside my team I can do before standup.
7. Have standup followed by second focus time if I have no meetings in the afternoon. More of the same then: Chrome dev tools, WebSphere Integration Developer, Rational Application Developer, Splunk, Drools, DbVisualizer, Grunt, Intern and RTC.
8. Quick game of Mario Kart, or pool. Maybe some prep for the following day. If there is anything in particular I will need in advance, I might send requests or emails for that.
What types of project do you work on?
I work on the policy change offering Liberty Mutual has for customers in the United States. So, customers can make different changes to their policies online without talking to a Liberty Mutual rep. But they can make hugely differing changes depending on what state they live in.
The project I have worked on provides those options to the user and determines which options are valid, depending on their location and variables in their policies.
What skills do you use on a daily basis?
In Liberty IT, mostly problem-solving. I find I am working on something new to me quite frequently, and it is the same for some others, so an important skill is the ability to pick up a new tool, domain, language or code base and to familiarise yourself with it quickly.
Besides that, communication skills. It is a social company and you’re face-to-face with and helping people, getting help, and just discussing work all the time.
So, you’re regularly conveying information or trying to extract information from others.
What is the hardest part of your working day?
The back-breaking labour!
Seriously, though, it can be challenging to stay committed during focus time. It is a new paradigm, so it can be hard to stop your mind from straying to another issue you may have been working on recently, or to spending a lot of time providing help to another colleague. This is stuff that can usually wait until after your focus time slot, though, and it’s definitely getting easier to focus as time goes on.
Do you have any productivity tips that help you through the working day?
In general, try to work on one thing. Have one thing on your mind and progress it as far as possible during a block of time. Don’t spend a morning switching between three different tasks, just stay on one as long as you can.
Also, ask for help when you need it. There’s only so much you can find online or in a company’s internal wiki, so a good productivity tip is to spend no time blocked. If you’re blocked and you don’t know how to unblock yourself, start asking people for help right away.
When you first started this job, what were you most surprised to learn was important in the role?
Nothing shocking! The mindset and types of skill needed are as you’d expect for an engineering role.
How has this role changed as this sector has grown and evolved?
Software engineering becomes less inward and more outward as time goes on. Engineers have gone from the stereotype of being locked in to coding for 10 hours straight, to almost the exact opposite.
Now, companies increasingly have engineers literally on one computer together for the entire day. The line between business and IT personnel blurs more and more, as engineers are asked more and more to weigh in and help refine requirements of features and stories.
Offices are open plan, and regular, open communication is encouraged. I almost never see management pushing deadlines, or pressuring engineers to complete work in a certain timeframe. Engineers here and now seem more self-motivated than anything. Pressure and deadlines are something an engineer sort of self imposes.
What do you enjoy most about the job?
I like figuring stuff out. I’ve always enjoyed work since I finished college, and I have worked in some less than interesting projects with outdated stacks (although not at Liberty IT), but no matter where you are, you’re generally figuring something out and then fixing it. That’s fun to me, and one of the reasons I feel very lucky to have elected to study software when I was 17.