Ask A Developer: Matt Friede
Our Ask A Developer Series dives into the lives of local developers to gain an understanding of their scopes of practice, pathways to the field and advice for future developers. Today we sat down with software engineer Matt Friede to learn more about how he contributes to the team at Arista. Matt serves as a volunteer mentor with SC Codes.
Tell us how you became interested in a career in software development?
I remember seeing everything I was able to do on our computer growing up: flash games, online chat, and eventually video calls. It seemed like the computer could do anything, but it could only do things that I could find a program for. I wanted to learn how I could control that and get the computer to do anything that I wanted it to. Then when I had my first programming course in college, and it was the only class where I actually enjoyed doing the homework, I knew this was the field I wanted to work in.
How has the industry shifted since your entry into the field?
There have been a few major shifts that I’ve noticed over the past few years. I think there has been a major shift in security consciousness. There have been quite a number of high profile hacks and more and more it is becoming the responsibility of everyone working on a project to ensure that security is something planned for from the start and can no longer be an afterthought. Secondly I would mention the rise of cloud computing, it seems like every product now is reliant on a cloud platform for at least a portion of their infrastructure. This can greatly simplify managing your resources, but it also means one more technology that every developer needs to be familiar with. The last obvious shift has been the explosion of remote work opportunities. I work remotely for a company based in California, and not a single person on my team actually lives in California. Remote work has really highlighted the need for asynchronous communication skills.
What is your typical day as a developer?
I usually start my day by checking my GitHub notification for any PRs that need to be reviewed. I always try and review any code by members of my team, but I’ll also try and review, or at least browse, PRs from other teams just to keep up with what other development efforts are going on. After some reviews, I’ll start working on whatever the primary feature I am currently focused on. This usually means first writing a design document, sharing it with the team for feedback, then coding it up. Some days I might just spend the entire rest of the day coding on this feature. Sometimes I’ll set up a pair-programming session with a team member if I need help or sometimes it’s just nice to work with someone else for a change of pace. I keep my calendar pretty open, concentrating all my meetings on Wednesdays so the other days are clear for focused work. Occasionally QA will report a new bug or issue and I’ll pause what I’m working on to investigate.
What advice would you give to folks in South Carolina looking to get into a career in development?
My biggest piece of advice would be to always keep learning. Technology stacks keep getting bigger and more complex. You will never know everything about every tool you need to use, but the more familiar you are with all the pieces of the puzzle, the better your solution will be. Get comfortable picking up a new platform or tool on the fly and learning as you go.
Our favorite question: What do you love about what you do?
Currently I love the freedom I have in my role. I have my couple top-priority tasks, but we are also encouraged to make improvements anywhere we see the opportunity. So, if I wanted to try and integrate some new library feature that I think may simplify our code base, I’ll just go do it. Also, I have the opportunity to work with some of the smartest people in the industry, and the chance to learn from just watching everything being built around me is invaluable.
Love this series and looking for more? Check our previous installments on our YouTube Page and stay tuned to our Events page for more.