We sat down with one of our most experienced engineers Brian Jester to find out more about his background, his experience solving problems for PVM clients and how he incorporates PVM’s Challenge Accepted philosophy into his work every day.
How did you discover PVM? Can you tell me about the journey that led to your employment with PVM?
I was in the U.S. Marines for eight years as a Communications Security (COMSEC) Equipment Technician and Micro-Miniature Electronics Repair, so basically a circuit card repairman. I had orders to recruiting school but had already met my future wife, and we were dating at the time, so decided to take my chances and get out and try the job market in San Diego. In about a month, I was working for the Navy as a contractor at Space and Naval Information Warfare Systems Command (SPAWAR), now Naval Information Warfare Systems Command (NAVWAR), as a shipboard software installer. Joining PVM was a bit serendipitous. PVM Senior Director of Technology Bret Frederick often mentioned some work they were doing, but he really didn't sound like they had a full-time position on contract. But one day, Bret was visiting his old lab where I worked and mentioned they had a possible full-time position for a System Administrator with some software development for a state police agency. That news was exciting to hear. I was ready to learn something new, and this opportunity was both commercial and police intelligence, with software development. All the boxes were checked. I think it was a good fit, I had the System Administration background and all the related certs: Cisco, Microsoft, Solaris and Java and was ready for the next step.
What has been your favorite project as a software engineer with PVM?
That's not easy to answer. I think projects are like children in that they are all different, and you love them all. I have especially liked working with Law Enforcement clients. The first law enforcement project I worked on at PVM was everything I was interested in – software, hardware, working for a customer. They had all these data integrations, meaning all these databases from different counties, cities, and organizations like universities and public transportation that needed to be put into their data system. We had a few examples to go off that they completed, and we had 12 or 14 different jurisdictions’ databases to do ourselves. So, we got busy, and that's where I really learned all about the system. Enoch Andersson, who is also a PVM software engineer, Bret and I took all those integrations, teamed up, and learned together. Once we did all that, it was probably a year of building the integrations and testing them with the customer. Then, once the system was running properly, and only minor changes had to be made, we started with all that training and learning then worked to complete their tasks and finally, got to a point where we were maintaining the system. It was very rewarding to see it come full circle. The teamwork between PVM and our partners along with the teamwork internal to PVM was crucial to the project. We all wanted it to be done to the highest quality possible.
On the other hand, the federal clients I’ve worked with have had very different requirements. I'm proud of the Bandera Helper I wrote for one of our clients, the Defense Logistics Agency. I also had my first Java work-related assignments while working with another one of PVM’s federal clients. Additionally, I’ve had the opportunity to work with the Centers for Disease Control and Prevention, specifically writing a Slate application backed with CSS and TypeScript, so that was my first foray into non-Swing front-end development.
The last project I was on, with our financial services client, was kind of like a dream job. I had my first work assignments in Python, Scala and Go, and later our team worked exclusively in Java Springboot to create microservices for credit card processing. I did everything I learned as a developer for two years straight and it was a totally different environment from the law enforcement project which made it a very eye-opening experience. For software development growth, this was my favorite project.
You got a taste of everything and I'm sure that helps when you are applying it to other contracts and clients.
It gives you some perspective and it's helpful to get a survey of the landscape. It also prevents you from jumping in too quickly because you want to see what everyone else’s thoughts are. It taught me to not jump to conclusions and appreciate the folks that are already there and understand what they already know.
What would you say to aspiring software engineers?
- Learn by doing. Solve a small problem for yourself by using a piece of new tech, and in the process, learn about it. Don't wait for someone to tell you to learn something new.
- Gamify your learning with tools like HackerRank. Free sites like this have challenges in multiple languages that start off super simple (print Hello World) and work up to nested data structures and popular CompSci algorithms.
- Invest in yourself. Take the online tutorials and quickstarts that come with most major software packages to get accustomed to new tech.
- Try reading some of the software classics like, "Phoenix Project", "Programming Perls", and "The Mythical Man-Month."
- Check out some of the excellent social media channels like Y-Combinator HackerNews, and Reddits: r/dataisbeautiful r/datascience r/programmerhumor r/softwaregore r/computerscience.
What does “Challenge Accepted” mean to you as a software engineer?
“Challenge Accepted” can be interpreted how you want. On the lowest level it could be “let’s get the job done at all costs”, but honestly for a successful team to work you must have trust and understand each other. If you're all about getting the job done and leaving, you kind of have an empty experience. It means all in, team player, it's going to be exciting/challenging, we're going to learn something new and have some lessons learned, and it's likely not going to be easy. Was anything worth doing ever truly easy? We keep the communication lines open, and when our life-work balance gets out of whack for ourselves or our co-workers we recognize it and encourage one another to take time off and delegate where possible. But it also means we are diverse in origin and opinion. We are kind, we are diplomatic, we find genuine commonality with our peers, and we mentor each other for the long run.
“Challenge Accepted” to me means that we’re going to accept a challenge and we’re going to do a good job—and the path that gets us there is what results in an improved product for our customers, growth in our employees and a stronger PVM.