Skip to main content

You are here

A day in the life of an NNSA programmer

Today is Programmer’s Appreciation Day. Here is some insight on how these talented professionals help NNSA develop innovative software.

Erika Foster

Name: Erika Foster
Title:    Senior Software Engineer
Location: NNSA Albuquerque Complex

What is your favorite thing about being a programmer?

Taking a complex or time-intensive business process and creating an efficient workflow that provides value to the application end users. The application becomes a work of art with continuous improvements as the end users get more familiar with what information technology can provide. To put it succinctly: I enjoy solving problems.

What does a programmer do day-to-day?

In our organization, a programmer starts his or her day with a 15-minute daily team meeting called a “scrum.” Each team member discusses what they did yesterday, what they plan to do today and address any obstacles to meeting the project objective. After that, the programming work begins. Many times throughout the day a programmer might gather a small group together to discuss ideas or help with a complex problem. Programming can either be an individual or a team activity. In our organization, it is very much a team sport.

What does a person need to be a good programmer?

The best programmers have impeccable critical thinking skills. The language is easy to learn, and switching between programming languages is simply semantics. A good programmer is also an architect and an engineer with the ability to design an application from cradle to grave: extrapolating business processes as requirements and developing a solution that is modular, scalable, and maintainable.

Joe Klesert

Name: Joe Klesert
Title:  Senior Software Engineer
Location: NNSA Albuquerque Complex

What exactly is a programmer?

Typically, people think of programmers as people who write code – instructions for a computer to follow, i.e., software. But being a programmer is largely about talking with diverse groups of people across various domains to determine what sort of software needs to be built. It also involves aesthetics and an eye for elegance in code, so that the end product is easy to maintain, high-performing, and pleasant to use.

What does a programmer do day-to-day?

Programming largely amounts to critical thinking and problem solving. I sometimes compare my day-to-day to doing Sudoku puzzles, or to detective work on the days when I’m troubleshooting.

When you have free time, what are your hobbies?

In my free time, I enjoy playing Magic: The Gathering and a resurgent sport called Guts Frisbee. I also like to cook, and recently bought a Nintendo Switch for my five children that’s secretly a gift for myself! Perhaps the hobby I’m most passionate about it having long philosophical and political discussions with friends.

Mike HerouxName: Mike Heroux
Title:  Senior Scientist
Location: Sandia National Laboratories, New Mexico

What is your favorite thing about being a programmer?

I love solving problems and providing software that helps other people succeed. I love the elegance and artistry that can be expressed through programming; writing a program that does what it is supposed to do with a design and structure that fits the problem it is intended to solve.

What does a programmer do day-to-day?

Not as much programming as you might think. Producing high-quality software requires a lot more than just programming. Understanding what your users need and translating those needs into a plan and design are just some of the other activities required for developing good programs.

What advice would you give to someone who wants to become a programmer?

Be sure you enjoy solving problems; good programmers need this skill and need to cultivate it. Study code written by good programmers; you will learn much. Read books by thought leaders in the programming field. Start programming now; doing is learning. Don’t be satisfied with your first design or the first version of your program; look for ways to make it simpler and more elegant. Be prepared to learn throughout your career; half of what you need to know in a few years will be learned between now and then.

Terrence HatfieldName: Terrence Hatfield
Title: Facility Management Enterprise System Technical Lead
Location: Y-12 National Security Complex

What is your favorite thing about being a programmer?

Taking thoughts and ideas and solidifying those into data structures, written algorithms, and user interfaces is the most enjoyable part of being a programmer. Put simply: creation. Creating software amazes me with its limitless possibilities. Each programmer can take distinctly different paths to achieve similar results. Not only can you be a part of this creation, you also can marvel at the engineering intricacies within the creations of others.

What does a person need to be a good programmer?

Many times a programmer is creating new software that doesn’t exist. With limitless paths to the desired outcome, some of those paths will lead to failure. Failure is an excellent learning tool - helping reveal those paths that will work, accept and learn from your failures and persevere. Accepting failure coincides with accepting criticism. When a programmer is developing software, time disappears and software becomes an extension of the programmer imbued with their protection and ego. This makes accepting criticism difficult. Remember to be humble and understand others have taken their own journeys and have different perspectives. While perseverance and humility will help you grow as a person and a programmer, the landscape of computer science changes at a rapid pace. A part of being a good programmer is accepting that learning is a lifelong adventure.

When you have free time, what are your hobbies?

The one people would most associate with me is my toy collecting. The majority of my toy collecting has occurred in the past 15 years. I’ve amassed a collection of thousands of items, both open and mint-in-the-box, consisting of toys inspired by my childhood in the 1980s. I remember telling my mother when I was a child that I would never outgrow toys and that has held true. Hopefully, I’ll always be a kid at heart.


If you would like to pursue a programming career within the Nuclear Security Enterprise, check out out the jobs available at this link.