
Shafiq Imtiaz started in electrical engineering and knew fairly quickly that software was where he wanted to be. Changing direction meant going back to school, and going back to school meant finding a way to pay for it. For a couple of years Shafiq’s day ran eight hours in part-time jobs, another four at university for his MEng in Software Engineering at Concordia, and whatever was left for building projects.
In 2022 he applied to more than 500 companies. Flexspring saw Shafiq’s commitment to study and his potential, and was the company that gave him his first opportunity. He joined as a co-op student with no professional experience and no idea what HR data integration involved.
“I honestly thought I was joining a pretty simple integration product. Then I started getting tickets, and each one showed me a little more of what was behind it. Every few weeks I’d realise, ‘Oh, this is much bigger than I thought.’”
Three years later Shafiq is a Principal Software Developer, spending less time on the problem in front of him and more on why it happened at all. The interns now bring him the questions he used to bring everyone else.
“The interns are probably my favourite part. I came into Flexspring as a co-op asking everyone questions. Now, three years later, as a Principal Developer, I'm one of the people interns come to with theirs.” — Shafiq Imtiaz, Principal Software Developer
Q & A
What do you do at Flexspring? How would you explain your job at a family dinner?
I'm a Principal Software Developer. I solve problems across Flexspring, but a surprising amount of the job is talking to people. A user often knows something the logs don't, and another developer may have seen a similar problem before.
At a family dinner, I'd say we help different HR systems talk to each other, so payroll, hiring, employee changes, and finance data stay in sync without someone entering the same information over and over.
What part of your job would surprise people who do not do it?
Probably how personal a customer problem can become. If something you built causes trouble for someone, you don't really think, “That's just another ticket.” You want to know what happened and get it fixed. I think that's one reason I've stayed here. We at Flexspring care about what we put out into the world.
What were you doing before this, and what is your background?
I started in electrical engineering, but I knew I wanted to work in software development. Changing direction meant going back to school, and going back to school meant finding a way to pay for it. For a couple of years, a normal day was eight hours working in part-time jobs, another four at university, then whatever time I had left for building projects. I was doing my MEng in Software Engineering at Concordia and trying to break into an industry where I had no professional experience. In 2022, I applied to more than 500 companies. Flexspring was the company that gave me my first opportunity. Special thanks to Alexei and Pierre-Otis for seeing the potential in me. I joined as a co-op student and eventually became a Principal Software Developer.
You started here as a co-op student over three years ago. What did you think you were walking into, and what was it actually like?
I honestly thought I was joining a pretty simple integration product. I had no professional software experience and knew nothing about HR data integration. I'd built school and hobby projects, but nothing people actually depended on. Then I started getting tickets, and each one showed me a little more of what was behind the product. At some point it clicked that we were moving millions of records every hour, and all of that data had to be right. Nobody sat me down and explained the scale. I just kept discovering it as I worked. Every few weeks I'd realise, “Oh, this is much bigger than I thought.”
What do you remember about your very first week? Any moment that still makes you cringe or laugh?
Not knowing Linux, which, in my opinion, is almost the default operating system of the developer world.
I got a small UI issue that I already knew how to fix. The problem was that I had barely used Linux before, so what should have been a 20-minute task took most of the day. I spent more time fighting my computer than fixing the bug. Now every computer I own runs Linux, so I guess it won me over.
What was the first thing that made you think okay, I am going to like this place?
The freedom to figure things out. I had experienced people around me, but nobody gave me a recipe and told me to follow it. I could explore a problem, try something, be wrong, ask for help, and try again. That's still how I learn best.
What was the first thing you owned here that really mattered, where it would have been a problem if you had got it wrong?
Upgrading several core services and parts of the user interface. The hard part wasn't the work itself. It was knowing what happened if I got it wrong. These were systems our clients used every day, and the ideal result was that nobody noticed anything had changed. So I checked everything, then checked it again. That was probably the first time I understood what it meant to be trusted with a live system.
Who here has taught you the most, and what did they teach you?
Evandro França, my team lead since day one. When I was new, the hardest problems were the ones that gave you almost nothing. No useful error message, just something behaving strangely.
Evandro would start with the symptom, work backwards, and rule things out one by one. I spent hours pair programming with him and watching that process. Eventually I realised he wasn't just teaching me how to debug. He was teaching me how to stay patient when I didn't know the answer.
You have just been made Principal Software Developer. What does that change about your day, and what does it change about how you think?
The biggest change is that I think further ahead. Earlier, I was usually solving the problem in front of me. Now I'm more involved in asking why the problem happened and what we can change so the next person never sees it. There are more conversations, more decisions, and definitely more meetings. AI has changed jobs too. If it can take some of the mechanical work away, I get more time to think. That's the part I've always enjoyed most anyway.
What is something about your work you could talk about for an hour?
Getting AI to actually do useful work. I've spent a slightly unreasonable amount of time experimenting with coding agents: how much information to give them, what they should be allowed to do, how to check their work, and when it's faster to just do something yourself. It got far enough that I built an internal library so other developers and interns don't have to start from scratch. I have a lot of opinions about this now. The more capable the tools get, the more interested I become in where they fail.
Which parts of your work do not feel like work?
Probably the things I get too attached to. Once I've spent enough time building something, I stop thinking of it as a ticket and start thinking of it as mine. I still sometimes open the live system just to see something I built running. Thousands of people may be using it without ever knowing who made it. I like that.
Three years in, what do you know now that you wish someone had told you in your first week?
Learn Vim. It's a keyboard-driven editor popular with developers, and once you get used to it, working with code becomes much faster. The problem is that it takes time to learn, which is exactly why I should have started in week one.
What is your favourite thing about working with the people here?
The interns are probably my favourite part. I came into Flexspring as a co-op asking everyone questions. Now, three years later, I'm one of the people interns come to with theirs. I still don't feel that far removed from being the new person myself, which makes that slightly surreal.
What is the last thing that made you properly laugh at work?
The planning poker sessions Evandro runs. Everyone privately estimates how difficult a task will be, then we reveal our numbers at the same time. It's supposed to stop us influencing each other. We're discussing real work, but somehow it's usually the part of the week with the most laughing.
What is the next thing you want to get better at?
Swimming. My father was a ship’s captain, and even my wife can swim. I can’t. I also have a real fear of water, which makes the whole family situation slightly embarrassing. I've kept swimming on the “someday” list for years. I've now been told, fairly firmly, that “someday” needs to become actual classes.
If you were not a developer, what would you be doing instead?
Probably a chef. I'd have tried, anyway. My dad was a ship's captain, so he travelled a lot and came home with stories, foods, and ideas from different cuisines. I think that's where my curiosity about food started. I still love cooking and trying things I've never made before. I'll happily spend hours making something that disappears in twenty minutes. Whether I'd survive a professional kitchen is another question.
What is the best thing you have read, watched or played lately?
Project Hail Mary.
I expected a space adventure, but what I liked most was the curiosity. The main character keeps running into things he doesn't understand, getting them wrong, changing his mind, and trying again. I like stories where people have to figure things out as they go. Movies are also probably my easiest way of shutting my brain off after work.
If someone joined your team tomorrow, what is the first thing you would tell them?
Ask questions. Especially the question you're slightly embarrassed to ask. I spent more time worrying about looking inexperienced when I was new. Eventually you realise everyone has gaps, and asking usually gets you to the answer much faster than pretending otherwise.
What advice would you give someone starting out in software today?
Don't make writing code your whole identity. It's like driving a race car. Going fast is useful, but when something goes wrong, speed isn't what saves you. You need to understand the car. Learn to solve problems, and don't be afraid to ask for help.
____________
Check out our current job openings
Work from home. Flexible hours. Discover career opportunities that let you use your coding and technical consulting skills to solve the biggest challenge with SaaS apps: data integration.
