Career Advice for Job Seekers

Interview with a Software Engineer

William Frierson AvatarWilliam Frierson
February 9, 2012


I am a senior software engineer at a large software company. This job is my second in the industry and I have 24 years experience as a computer programmer and software engineer.

Being a software engineer is more than just writing code all day. I work with a variety of people from multiple disciplines helping to define and understand our requirements, design and prototype solutions, then work with our junior programmers to develop and test the software to meet those requirements. It turns out that we do a lot of work with our customers to make sure that we’re building the software that they can use.

If I were to rate my job satisfaction on a 1-10 scale, I think an “8” would be about right for me. The drawback I have in my position is that I don’t always get to focus on one project at a time. I’m usually happiest when I can focus on a single project for an extended period, and that’s rare in the industry today.

I do feel like I’m in the right position and I’m doing the right kind of work. I have always loved technology, and we are immersed in it on a daily basis.

I do not consider myself unique, however I do feel fortunate that even at this stage in my life (middle-age, mid-career) there is still an opportunity at my company for me to contribute and grow in my career. That is not necessarily the case in the computing industry as a whole.

When I chose a college major, I chose Computer Science because of my experiences with computers in my high school. It was during my first two years at Virginia Tech in the cooperative extension program, where I was able to work as a computer programmer, that I discovered how much I enjoyed working in the industry. The co-op program was key to my interest and eventual success.

In my first few years as a computer programmer, I worked for a manager who was very demanding and his primary means of motivating hard work was to ask for more and more work to be done. I wanted to prove myself so I poured my heart into the job. Soon I was working 60-80 hour weeks on a regular basis and I found myself burning out. I realized then that it was important to pace myself and to allow myself to have some weekends and evenings to allow myself to recharge. Fortunately, a change in management allowed me to reset and find more of a balance between work and the rest of my life.

The single most important thing that I’ve learned outside of school about work is that the “assignment” is not always what should be done. When we receive requirements from customers, they can often seem vague and obtuse. Early in my career, I remember a situation where we got a requirements document and created software based on that document. In the end, the customer was disappointed with what we did. If we had asked questions about the requirements before we started, instead of making guesses, we wouldn’t have gotten off on the wrong track. We wasted six months creating software that ended up having to be scrapped and redone. Today, we are much more likely to actively collaborate with customers all the way through our development process, so there are no surprises at the end.

These days, I’m excited about going into work when I know that I’m going to have an opportunity to interact with a customer. I might be clarifying requirements, demoing the latest iteration of our software, or training them on new features that we’ve added to the product. It’s satisfying to know that the work we put into our software results in someone actually getting some use out of what we’ve done.

I’m good at handling most conflicts, and since many of my fellow engineers have strong opinions, we certainly have a few of them. What really drives me crazy is when we’ve spent a good amount of time reaching an agreement among various engineers, and then another engineer or manager enters the group and effectively “blows things up” with their own position or argument. Typically this situation happens when someone who has been too busy working on other issues pays attention to the situation we are working to resolve. I hate going back to “square one” in those situations, but that just has to accommodated.

The job can be stressful, especially as deadlines are looming, but overall, I’ve learned to maintain a healthy work-life balance. I think that’s something that comes with years of experience, and a realization of personal priorities.

For someone starting as an entry level software engineer, the average salary is around $60,000 with an average overall salary around $90,000. For myself, I feel like I’m well compensated and the pay allows me to live a comfortable life.

This is a true story as told to LatPro Learn, where you can find helpful career interviews with a Media Buyer and an IT Teamer Leader, among others.  Visit to find a career interview in your desired field.

New Job Postings

Advanced Search

Related Articles

No Related Posts.
View More Articles