Heading Into A Technical Software Role From The Military

**Editors Note: This is a piece written by a USMA 2012 graduate who went into a software role at Deloitte

A little background to start things off: I am a USMA 2012 graduate with a degree in Mechanical Engineering, a subsequent seven-and-a-half-year term of service as a Field Artillery Officer, including two tours in Afghanistan, and a passion for software.  I’ll begin my story from my decision to get out.  Coming out of Captain’s Career Course, I was prepared to give the Army one more chance with my last year in service.  Unfortunately, I didn’t read the fine print when the Army decided to PCS me to Hawaii resulting in my incurring the three-year OCONUS ADSO (let this be a warning to all of you following the same path).  Thus, I managed to leave the Army with just about the entire GI Bill and a TS/SCI from deployment number two. 

            Upon finally making my glorious exit from the Army, I decided to put all of my eggs into the Alliance Careers transition basket.  This proved to be one of the best mistakes of my entire life.  From the Alliance conference, I ended up with the overtly awful experience of being a Manufacturing Supervisor at a plant in rural Wisconsin.  After about two months of twelve-hour swing shifts, I decided that enough was enough.  I had been studying rudimentary programming on my own since my 2014 deployment off and on and once again found myself gravitating towards spending the dull hours of my shift work on websites like Codecademy, Udemy, Udacity, Coursera, and others.  I stuck out the supervisor job to the six-month mark to save enough cash to be able to withstand a little bit of unemployment and moved to Austin, Texas, where my parents live, to look for work.

            After making the move, I spent the next three months studying six days per week, ten hours per day in an attempt to polish the skills that I wanted to use professionally.  Courses that I took that I found instrumental to my overall success have been:

1.     Codecademy Pro career paths (Data Science, Computer Science, and Web Developer paths are all extremely useful for developing a true understanding of the fundamentals of software engineering)

2.     Coursera: Machine Learning with Andrew Ng and Deep Learning Specialization to gain an understanding of Neural Networks and how to use them for Data Science

3.     Udemy: Gamedev.tv Complete C# Unity Game Developer 3D and Unreal Engine C++ Developer give a very useful insight to both C# and C++ as well as a very useful understanding of Software Design workflow

4.     Udacity: C++ Developer Course (notes on this: the course itself is great, however, it is very expensive.  I got lucky in Udacity running a free month’s worth of access to the course and having the free time needed to complete the course in that time).  This course is great for a foundational understanding of programming paradigms and C++

These courses were all useful in gaining a technical foundation necessary to break into the field, but one common thread through all of them is this: each course had me building things that I cared about and enjoyed.  This deepened my passion and understanding of software engineering substantially and reinforced the notion that I was making the right choice.  Many of these courses could be swapped out for others from the listed sources, but these were the particular courses that built my foundation for success. Other potential areas of focus for modern software development would be:

1.     Kubernetes/Docker- these are skills I’ve developed on the job but would be useful to have going into the interview with.

2.     Familiarity with cloud computing- pick your preferred flavor (AWS, GCP, or Azure), all are extremely useful for modern software deployment.

3.     Databases and Query Languages- examples of powerful technologies here are GraphQL, PostgreSQL, and MongoDB

In addition to all of this, doing daily practice with websites like codewars.com, hackerrank, or leetcode help build programming competency.  Ultimately, I never personally passed a coding challenge for a technical interview but being able to is a huge plus.

While completing the above courses, I began leveraging my network through LinkedIn and Facebook.  In particular, I found the most success by using the USMA AOG transition assistance program.  This really boiled down to restructuring my work experience in both my resume and on my LinkedIn to highlight my technical skillsets, attempting to quantify my self-taught knowledge base by advertising competency with technologies, languages, and advertising my clearance.  If you have a clearance, ABSOLUTELY advertise it.  After reaching out during this time on LinkedIn and Facebook groups, exercising my social networks, I finally struck gold as Deloitte has been actively recruiting technical talent in the Austin area to populate its Artificial Intelligence Exploration laboratory.  In my interviews, I communicated my absolute passion for software engineering and data science and demonstrated my ability to learn quickly.  In doing so, I landed the job.

One important thing that I have been sure to communicate to the people I work with: I am a technical problem solver, not a manager.  My specialty is in building solutions myself, not orchestrating a team to do so.  You can still do this as someone whose primary professional experience is being a leader by accentuating your ability to be a team player and emphasizing your passion for building things.  A lot of where you end up comes down to personal branding and how you define yourself.  If you introduce yourself as a software engineer, you’ll be told to build software, if you introduce yourself as an engineering manager, you’ll be in charge of coordinating the efforts of the people doing the building.  Both are important roles, but it’s extremely important to know which one you want to be.

            Since coming on board with Deloitte, I have found myself working hand-in-hand with software startups developing software that will help bring the Department of Defense into the 21st century, technologically speaking (a little worrying that it’s taken 20 years to start this endeavor).  I make a low six figure base salary (enough to healthily support my young family) given that I am somewhat inexperienced, but my first year’s evaluation ensures that I will be receiving a performance bonus as well as a raise.  I work entirely from home and find that the lack of commute generally means that I spend more time working than I otherwise would.  When all of your deliverables are just being committed to a git repository anyways, all you really need is a VPN.  The day-to-day schedule does tend to fluctuate based on what stage a project is in, I could be working 12-hour days or 8-hour days (note: this is also why truly enjoying programming makes a big difference in how successful you will be in this field).  From this experience, what I’d like more than anything else is for transitioning veterans to understand a few things that I certainly didn’t when I began my transition process:

1.     You absolutely can transition to a technical profession if you have a passion for it.

2.     You do not need to relegate yourself to management if it’s not what you want to do.

3.     You don’t need a fancy technical degree to get into tech, what matters much more is your skillset and ability to produce results.

To any and all veterans that find themselves wondering how to make this transition and jump to software engineering from military service (even if it’s entirely unrelated to what you did in the military), I am always happy to help however I can.

Donate and Help Keep This Site Free!