Developer Spotlight – Andrew Signori
This edition of Developer Spotlight features Andrew Signori, a senior developer at AOT Technologies who’s been hard at work on a modernization project with the BC Ministry of Advanced Education and Skills Training. Andrew talks about agile teamwork and offers some advice to new programmers: It’s more than just code. It’s about people too.
Can you tell me a bit about what you’ve been working on?
Over the past year I’ve been working for the Ministry of Advanced Education and Skills Training on their modernization project. They’re the ministry that assists with the cost of post-secondary education through student loans, grants, and scholarships, as well as offering programs to help with loan repayments. The ministry’s present infrastructure consists of various applications, some of which have been around for the past 30 years. Our project’s mandate is to devise and complete a new solution based on modern technologies and open-source solutions. It aims to simplify processes and create a new baseline from which future projects can be built on.
What does the day-to-day look like, and what do you love about your job?
I’m part of an agile team that’s been working remotely since the beginning of the project. We have our product owner, four experienced developers, one DevOps specialist, a scrum master, and two people who work on user interfaces and the user experience (UI/UX). We have the freedom to be creative, propose solutions, and learn from each other. We interact every day, not just through daily scrum meetings, but also as we move through the steps of each three-week sprint, making our way through our task and troubleshooting lists.
Our developers are fully cross-functional, which means that one day I might work with APIs, another day with the front end, then yet another day on the CI/CD pipeline (for continuous integration, continuous deployment). And then the next day I might deal with all these areas! In this way our developer team shares responsibility for the full stack, front end to back end.
Throughout this project what are some of the obstacles that you faced? How did you handle these challenges, and what did you learn from them?
I’d had more than 15 years of experience with Microsoft technologies such as .NET, C#, and Microsoft SQL Server, but now I was making the shift to NodeJS, Vue, Postgres, OpenShift, and so on. I was apprehensive at first, but I was really motivated to learn these new technologies. Sometimes it was about facing the same challenges but resolving them in a different way using different tools.
I also appreciated how the client was supportive of those learning these new technologies. Meanwhile, the ministry was shifting its development culture to become more agile and involve the business side as much as possible to come up with solutions. Although it’s still a work in progress, I’m sure that in a few years’ time there’ll be no turning back.
And last but not least, after talking about new technologies and shifts in culture we need to talk about trying to define requirements for a new solution to replace a 30-year-old system. In designing a replacement we consult experts to make sure what we create will conform to the latest rules and regulations. People don’t always like change, but hopefully simplifying processes for users and creating a better user experience helps make the shift easier.
And whenever we face obstacles, I’m grateful we have a great team that communicates well. It’s really the key to our success.
Looking back on your time on the project, what are three key takeaways from the experience?
First of all, I realize I got too worried about expanding my technical skills. Both AOT and the client have made this learning process not just possible but also rewarding. Challenges happen every day, but it’s always better facing them when you know you have people around who are supporting you.
Secondly, this project has really helped me to improve my people skills. As I’ve said, there’s a change in culture going on, and different people react in different ways to change. And we’re going through this process remotely. So I really appreciate how important it is to keep interactions positive and take the time to see a situation from the perspectives of all those involved.
And finally, this project has really emphasized how great the open-source model can be. The BC government has helped create a great community around its open-source projects. Sometimes that means we can find a code snippet to reuse here and there, but the deeper benefit is being able to tap into the broader knowledge that the open-source community can offer, sometimes saving us hours of work at a time.
What do you enjoy about working at AOT, and what advice would you give to people starting out in their career as a software developer?
I really appreciate how AOT has given me the opportunity to work on various projects with a wide range of technologies, and they’ve supported me as I expanded my knowledge.
As for new developers, here are some tips that come to mind:
- Writing code is the easy part. We’re developers. We know how to do this. But what really will set you apart is valuing human interactions in a way that can make a difference. Just a few minutes of conversation can save days of wasted coding time.
- Not everyone is an expert programmer, so don’t expect everyone to grasp the technical details of how you took a week to tweak some code to save a minute or two of processing time here and there. Know your audience.
- Keep a positive attitude! “Just work” is not a good-enough attitude. How can we improve yesterday’s code? How can we do better with tomorrow’s code? Doing our best is what gets the job done well.