I joined Scott Logic through its Graduate Programme and benefited from a fantastic induction, support from a mentor, and the opportunity to work on challenging projects that stretched me and gave me hands-on experience.
Looking back on the questions I had when I was just starting out, I wanted to share my thoughts and advice to anyone interested in getting into software development.
What got me interested in software development
In school, I always really enjoyed the creative subjects like Art and Music, but I found I really thrived in the more academic subjects such as Maths. Learning programming in my computing classes seemed like the perfect mix of the two. I could use my logical mindset to solve problems while also using my creativity to think about ways in which a problem could be approached. This led me to study Computer Science at university and ultimately into my job as a software developer today.
What my typical day looks like
Most of my time is spent writing code to implement new features or fix defects. That being said, every day is different and some days I’ll have more meetings or I’ll be working closely with members of my team to figure out the best approach to a problem.
I have a stand-up in the morning where we talk about the progress of our work and any blockers we may have. We run two-week sprints so every second Monday is quite full with meetings - with a demo, planning session and retrospective all taking place as well as the usual stand-up.
I like to go to the gym at lunchtime as I find it reinvigorates me both mentally and physically. It helps with the dreaded ‘afternoon slump’ and it’s really nice to move after sitting for most of the morning.
I also perform code reviews to help ensure quality and consistency in the code, and they help more junior team members to learn good coding principles. They are an important part of contributing to my team so I try to do at least one a day, but often I will do more.
The most challenging part of my job
Prioritising my time to learn as much as I can while also delivering my work in an acceptable timeframe can be challenging. I have an ever-growing list of things that I would like to look deeper into.
This requires me to be adaptable in order to meet clients’ needs while also learning as much as I can while on client engagements. Being adaptable involves the ability to know when my work is good enough given the context I am working in. If I am developing a larger feature, I will have more time to look deeper into the tech stack I am using. On the other hand, if I am doing something like a hotfix, which requires a more urgent change to be released, I will need to save any further reading for later in order to meet the immediate requirements of the situation.
What I like most about my role
I love learning and I’m in a great environment to do that here. Being in a consultancy means that I won’t be working on the same project and tech all the time. After one project comes to an end, I’m able to move on to a fresh challenge and a new set of interesting problems to solve. It also gives me the opportunity to tackle a new tech stack if I really want to challenge myself. It’s also great being able to learn from the people around me and everyone is very willing to share knowledge across the business.
My stakeholders and how I manage their needs
My stakeholders are clients, my team and my line manager. They all have very different needs but for each one I identify what they need from me, how I am going to provide this to them and how I might manage any blockers that may prevent me from providing for them. If I encounter any potential blockers, I am able to discuss them with members of my team in order to find the best solution.
The most exciting thing about my current project
Right now I am working on a React/Typescript project with our current graduates. Being able to pass on the knowledge I have acquired over the past two years is not only a fulfilling task – as it allows me help the future talents of Scott Logic – but it also demonstrates to me just how far I have come in my own right as a developer. As someone who joined Scott Logic with no front-end experience, I now find myself excited at the prospect of helping others with their front-end problems and I truly enjoy doing so.
My advice if you’re looking to become a software developer
Coding skills are essential of course, but there are many overlooked soft skills which are equally important. You should be able to demonstrate both of these skill sets in order to be successful in any job, but particularly at a consultancy such as Scott Logic.
Good communication skills are vital. Being able to discuss and challenge different ideas in a non-confrontational, positive way will ultimately lead to the best decisions being made for your project’s particular requirements and priorities.
Knowing when to ask questions is crucial. As satisfying as it is to work something out yourself you can save a lot of time just by asking someone who already knows the answer or who can point you in the right direction. It is not expected that everyone knows everything and there is no such thing as a silly question. On the contrary, it is actually very important to ask lots of questions as it is not only beneficial for your own learning, it also helps others to reinforce their own knowledge.
If there is one thing I think is the most important quality for a software developer to have, it is a passion for learning. Technology is constantly evolving and requires you to evolve your skills with it in order to build great software. As long as you have this passion, you will be able to develop all of the technical and soft skills that are required for you to become an excellent software developer.