Ranjana Sharma, a senior software engineer at Liberty IT, describes what her role entails and the hardest part of her day.
Are you curious about what a career in software engineering would be like? If so, your interest is understandable – professionals in this field are, and will likely continue to be, some of the most in-demand workers in all of STEM.
You have probably heard a lot about the lucrative salaries and endless perks software engineers are often awarded, but do you know anything about the nuts and bolts of the role?
If not, fear not. We caught up with Ranjana Sharma, a senior software engineer at Liberty IT, to hear more about what her job is like.
What is your role within Liberty IT?
I am a full-stack senior software engineer in the risk and security unit at Liberty IT.
If there is such a thing, can you describe a typical day in the job?
I check my emails and any other messages on Slack or Teams, as we are a cross-border team. After that, I usually spend my time on coding and brainstorming ideas regarding how we can make projects better, resolve an issue or mentor team members.
We as a team follow Scrum and Agile methodologies and work in sprints. As we finish stories, we tend to pick the next ones from the backlog based on priority. Apart from that, I believe that in the software industry, communication is important through collaborating with team members in the US and UK.
What types of project do you work on?
I am part of a cross-functional Agile team that is primarily working on replacing an old, not-so-user-friendly application to enable good user experience as well as eliminating the security concerns associated with not using the old application frequently.
We are utilising frameworks like Angular and Node.js for front-end. We use Spring Boot and Spring WebFlux for the back-end. We also constantly reassess and adapt to new technologies, such as serverless ones, eg Amazon Web Services and Azure.
What skills do you use on a daily basis?
I tend to follow test-driven development (TDD) regardless of what part of the application I am working on. I do this because I love to get fast feedback and want to be sure that none of the code is broken while adding new features. I am usually working on the API layer, so I usually work with Spring WebFlux and Redis.
It’s also important for me to not just communicate progress but to involve the team and customers on a feature-to-feature basis as it is beneficial to receive faster feedback and make changes rather than waiting until the end of the project.
What is the hardest part of your working day?
The hardest part of the working day is the part I love most as I get to experiment and try working with new technologies. It can be challenging to find guidance online. However, once you apply the right training courses and resources, it is an amazing experience to learn about new technologies that I am interested in developing further.
Do you have any productivity tips that help you through the working day?
One of the things I learned in previous projects with our amazing Scrum master at Liberty IT was that it’s always good to have someone to talk through things. Sometimes you reach the solution yourself or sometimes they help you. Great ideas come through those duck-head discussions only. Alternatively, if you need to clear your head, go for a walk.
I would really recommend to always interact with the end user. It is best practice to host discovery and framing sessions with them before starting on new projects, as well as keeping them involved in the process.
When you first started this job, what were you most surprised to learn was important in the role?
I now realise I am not just a developer, I am an engineer whose job is complex. It is not just about delivering on customer needs but questioning them at times. Engineers have to understand what customers really need and think of new ideas to fulfil those needs. Then, as an engineer, I have to bring those ideas to life to generate a great end-user experience.
How has this role changed as this sector has grown and evolved?
The software industry constantly changes. As a full-stack software engineer, I continuously think about how we can make the end product the best it can be, not only for end users but also for ourselves as developers.
What do you enjoy most about the job?
I enjoy being able to work on different projects, which brings its own challenges as well as learning opportunities.