Career Corner: How to be a Software Engineer

Teens D.C.

Career Corner: How to be a Software Engineer

Temitope Johnson interviews Emily Kodl, a software engineer at a shipbuilding company who has done with work with VR and other emerging technologies

by Temitope Johnson, library intern 

Ever wondered what it takes to be a coder? Emily Kodl, a software engineer at Newport News Shipbuilding, shares her favorite part of her job, advice for people interested in coding, and more in this interview.

How did you become interested in this field?
I really grew up with computers and my interest was fostered when I was really young. My father is in IT as well (although an entirely different area), so we always had a computer growing up - even before that was a really common thing. When I was in second grade, I was struggling to learn the multiplication tables. He wrote a simple console program to quiz me on them and I thought that was just the most interesting thing. Later on, when I was in middle school, I really enjoyed playing around with websites - learning HTML and CSS along the way. I then took a programming class in high school and the rest is history!
 

What kind of education, training, or background does your job require? 
I have both a Bachelor's and a Master's of Science in Computer Science, but that's overkill. I'd really recommend the BS in Computer Science or a related field, like Software Engineering.  You get a solid foundation of computer science concepts and are able to apply that, no matter what framework or program you end up using. Some companies are okay if you go to a learn-to-code bootcamp - it depends. But the BS is pretty universal.

What does your average workday look like?
There's always meetings! We follow a Scrum framework for a development process, so there's daily checkins and the sprint ceremonies. The bulk of my time, though, is just head down in the code - and that's exactly how I like it :) Sometimes I'll do pair programming with a teammate, so we hop on a call, share screens, and work together. It's great to be able to work with someone else.

What advice do you have for someone new to the industry?
Have a mindset of continual learning. This is a rapidly changing field: a language I learned 5 years ago is already obsolete. And 5 years ago, I never would be able to picture myself working with the tools and frameworks that I do now. 

Additionally, it's okay to fail. That's how we learn and the consequences are almost never as dire as we make them out to be in our head. "Fail fast" is actually a phrase that gets tossed around as a good thing, because that means that you're quickly learning when something isn't working and pivoting to a different tactic.

What is your favorite part of your job?
My current position involves emerging technologies, so I get to play with some of the latest and greatest toys. I'm currently working on a virtual reality (VR) training application, which we're deploying to the Oculus Quest. It's really neat. But my actual favorite part is getting to work with other people. Having a great development team is such a boon - having people as passionate about development and as excited to do the work every day is absolutely priceless. You learn from each other and make a better and better product. Great software development is all about teamwork.

 What are some of the biggest challenges you face day-to-day? 
Sometimes I get stuck! When programming, you might think you know how something is going to work out in your head, but then that's not how the computer actually interprets it. There's a bunch of great resources out there to help you get unstuck. It's rare to see that no one has encountered it before. But when the internet can't help me, usually a coworker can help me figure it out. Sometimes you just need a fresh pair of eyes and a different perspective.