Liberty IT’s Freya Craig provides some advice for those starting out in their software engineering careers, from technical knowledge to the importance of asking questions.
When you think of tech jobs, a number of roles instantly come to mind. Web developer, IT analyst and data scientist might be some of the popular roles that you instantly associate with a career in STEM. Another role that has maintained consistent popularity and demand is that of a software engineer.
Similar to a software developer (and sometimes used interchangeably), a software engineer works in the software development process, where duties mainly consist of creating, maintaining and testing software systems with key considerations for the design and resulting impact of the software on end users.
For someone considering a software engineering career or just starting out, this tech role can seem quite daunting. However, as emphasised by software engineer Freya Craig, “you don’t have to know everything when you’re starting out”.
“There are no ‘dumb’ questions. If you don’t know something, ask,” she says.
Craig has been a software engineer at Liberty IT for four years. She describes how she had an early passion for STEM in school, as maths and ICT (information and communication technology) were her favourite topics. In particular, she credits her ICT teacher Mr Carton with nurturing her passion for the area.
When it came to deciding what to do at university, Craig chose to study maths initially, but switched to computer science after her first year. During her final year of university, she successfully applied for an associate software engineer position at Liberty IT.
“I have now been at Liberty IT for four years and I’ve learnt so much, while also passing on so much knowledge; as well as starting an employee resource group focusing on disabilities and neurodiversity, I’m excited to see what I can accomplish next,” she says.
Helpful skills
With four years of experience in the area and a successful promotion, we ask Craig what technical skills and knowledge are essential for someone venturing into software engineering.
First on her list is an understanding of JavaScript, which she describes as being “pivotal” in her career. “Its versatility across front-end and back-end development makes it a desirable skill,” she explains. “Understanding how to read and translate JavaScript code to meet customer needs has significantly aided my daily tasks.
“Additionally, understanding frameworks and libraries like React, Angular and Node.js is highly beneficial.”
According to Craig, knowledge of other languages such as Python and Java, though not essential, may be valuable as they support various enterprise applications.
“Skills in version control systems like Git, knowledge of software architecture, databases and cloud services are equally important,” she adds.
As for developing and improving these skills, Craig advises newcomers to attend tech talks, training courses and conferences, as well as participating in “hands-on projects”.
It’s not all tech
Aside from technical skills, Craig also highlights the importance of soft skills, particularly communication and creative thinking. “Effective communication is crucial for teams, ensuring ideas are shared, requirements understood, and feedback provided,” she says. “It involves listening, sharing ideas and hearing different perspectives.
“Creative thinking enables you to approach problems innovatively, generating multiple solutions and thinking outside the box.”
She says that developing these skills can be as simple as participating in discussions and taking notes, adding that you shouldn’t be afraid of asking questions to clarify information. She also highlights the importance of networking and social events.
“Participating in activities like conferences, workshops and hackathons help to enhance creative thinking,” she says. “Embrace feedback from peers and mentors to improve your skills and when giving feedback ensure it is constructive.
“Regularly practising these soft skills has helped me become more effective in my role.”
Parting advice
For those who are just getting started in software engineering, Craig further emphasises the importance of asking questions when you don’t know something.
“When I started, I was so self-conscious that I’d say something stupid and everyone would think I was a fraud but looking back and talking with others we all felt that way and nobody would ever think that about you.”
As you start to get to grips with the role, Craig says that the key to career advancement consists of going into everything with an open mind and seeking out work that challenges you, as well as sharing knowledge with others. “Teaching someone else helps you remember things better than just learning it yourself.”
And when you’re gearing up for the next level, she has one crucial tip.
“Listen to your teammates and managers, they are full of great advice and will let you know when you’re ready to go for that advancement.”
Don’t miss out on the knowledge you need to succeed. Sign up for the Daily Brief, Silicon Republic’s digest of need-to-know sci-tech news.