Oxide Terminal / blog
Blog /

How did I get here

If you are interested in software development, whether you are already a developer, in school to become one professionally, or are transitioning from a different career, you might be interested in this post. This blog post is not really going to be about the terminal I created, but I how I ended up in a position to make it.

No place to start but at the beginning

Believe it or not, I did not go to school to be come a software developer.

Back in 2009 when I started college, my major was architecture. I also went to a military school called Norwich University on a Reserve Officers' Training Corps (ROTC) scholarship, meaning at time of graduation in 2013, I was to become an Active Duty Second Lieutenant (2LT) in the United States Army. As you can imagine, software development was nowhere in my line of site.

My architecture major was short-lived. After the first semester, I pivoted and changed majors to Business Management with a concentration in Leadership because I wanted to make the military my career. In May of 2013, I graduated and commissioned into the US Army and immediately moved to Fort Sill Oklahoma where I attended Basic Officer Leadership Course (BOLC) for Air Defense Artillery (ADA). After graduating that in October of 2013, I moved to my first, and only, duty station, Joint Base Lewis-McCord (JBLM), AKA Fort Lewis.

I was molded by my experiences - destroyed and rebuilt

Over the next year, my unit trained on the Counter Rocket, Artillery, and Mortar (C-RAM) Land-based Phalanx Weapons System (LPWS) in preparation for a deployment to Afghanistan. In October of 2014, I left on the advanced echelon (ADVON) team and landed in the city of Pul-e Alam of the Logar Province, where I would be the Platoon Leader and primary Battle Captain for the teams in charge of tracking incoming rockets and releasing fire to shoot them down at Camp Dahlke (formally FOB Shank, AKA "Rocket City"). Life over the next 10 months on this small camp, intercepting rockets on a daily basis, was an interesting time in my life. And no, this is not where I picked up software development. That still doesn't come until way later.

After returning home in July of 2015, I moved to Battalion's operations, referred to as the S3 shop. It was here where I helped re-train the Battalion for it's next C-RAM mission in Iraq in late 2016. Remember when I said I changed majors in hopes to make the Military my career, well it was during this time that I decided to move on and transition out of Active Duty and into the Reserves. It was a difficult decisions, guided by personal reasons I won't discuss in this forum. In April of 2017, I was officially in the Reserves and moved back to Boston, Massachusetts, where, you guessed it, I got a job in Sales. Trust me, I'm getting to the software development piece.

Civilian life sucks - and so did my jobs

I spent the next 7 years in the building supply industry. At first, I was in sales as a Customer Sales Representative, riveting, I know. But, I quickly proved my worth, and with my background as an officer in the military, management realized I was better suited to be in management myself. I also quickly realized myself that the Reserves sucked, and so in 2019 I decided to move into the Individual Ready Reserves (IRR), where I would still hold my commission as a Captain, but have no obligations to the military. I was essentially out of the US Army, for all intents and purposes.

I was good at what I did. I started my management path as a branch manager of one of the company's 8 locations, and eventually moved up again to be the Operations Program Manager, overseeing the operations for the whole company. My first task in that role was to open a new location in New Hampshire. It was also during this time when I moved to New Hampshire myself. When COVID hit, my company took it upon themselves to start letting go a portion of it's staff, including myself. Eventually, I got another job as a Distribution Center Manager for an insulation supply and distribution company. Again, riveting. At this point, it was just a job to me. I didn't love it, but I didn't hate it either, at least not yet. In my spare time, I was earning my PhD in Business since I already had my MBA and still had time left on the GI Bill.

In this job, I was in charge of one of 50+ locations the organization had. It was a small team, so I was also on the forklift, ordering inventory, scheduling deliveries, and everything else in between. The scheduling part was done in an archaic fashion on a whiteboard because that's how it had always been done. I was pretty good at computers and creative so I decided to take it upon myself and digitize the scheduling process. Eventually, after many iterations of my "program", which was really just a Google Sheet with some automation, it caught on and it was used across the whole organization. I was proud of what I created, but that didn't stop the fact that I was slowly starting to hate my job.

The road to salvation is unknowingly rough, and unpredictable

At some point while working in this job, one of my employees, a good friend of mine, put in his notice because he got a new remote job as a data analyst at a software firm. He had been attending a software development bootcamp online in his free time, and it paid off. I was actually pretty jealous of him because I just didn't like my job anymore. While I was still good at it, I hated being in charge of people and having all this unnecessary stress on my shoulders while also still doing my PhD program. I was also learning some coding on my own and we would talk about it while he was in his bootcamp. We loved talking about the problem solving and I even incorporated some Google Scripts into the online scheduling I created. I was enjoying it so much that I started taking even more of my free time to learn more.

Eventually, my hate for my job and my coworker, who, after a restructuring of the organization, became my boss as a salesman and had never led a single person before in his life, caught up with me. He, my boss now, did not like me telling him no to his "ideas" to try to earn us more money. Logistically, they made no sense, and he refused to see that. He just wanted things his way. So, in March of 2023, I was let go. Little did I know at the time, it was the best thing to ever happen to me.

My transition to software development - finally

After being let go, I was severely depressed. Even though I hated my job and was glad to be away from that place, it still sucked to be let go, again. The first time I was at least part of a group to be let go because of the aftereffects of COVID. This time it was because an egotistical, ass-hat of a inexperienced piece of garbage, but, I digress. I decided to stop my PhD, of which I was 50% through, and put all my focus into learning software development. I had settled on learning Swift in hopes to become a developer for iOS apps. I used my unemployment time to spend all day every day learning Swift and creating apps for iPhone, and eventually, trying to apply to jobs in that field. Little did I know that that was nearly impossible at this stage.

I was starting to get frustrated with my learning progress. I was getting stuck and started to lose focus. At this point, I didn't know what to do to progress in my learning. My wife started to notice my frustration and she was the one who suggested I start looking at doing a software development bootcamp, like my employee had done. So that's what I did. And I also learned, they were not cheap.

The sheer number of bootcamps that were out there was overwhelming. Each one was slightly different in what they taught and how they taught it. While my focus before was on Swift and iOS development, I knew that that wasn't going to be viable as it significantly narrowed my job search. I needed to expand my perspectives and focus on a path that was more likely to land me a job. After looking at every available bootcamp, I settled on one called Coding Dojo. They had a part-time and full-time bootcamp; I chose to do the full-time seeing as I was still unemployed. The question now was, how was I going to pay for it without going into debt.

Answer - We moved to Texas

My bootcamp program was set to start in mid July of 2023. After a lot of deliberation between my wife and I, we decided it was also time to move on from New Hampshire and move south, to Texas. It worked out because we were getting pretty tired of the snow and we wanted warmer weather. My wife got a job before we moved as a Speech Language Pathologist (SLP) in a school district so that half of the issue was settle. And since we lived in southern New Hampshire in a house we bought back in 2018 when rates we low, we made out well enough form selling the house in the market at the time to help pay for my bootcamp in full. Needless to say, that was a major relief.

We moved to Texas in late June and I started my full-time online bootcamp in July. I chose Coding Dojo for a few reason. One was the full-time online program. Another was the cost. It was expensive but reasonable for what I was going to learn. And lastly, the course structure. It was broken down into 4 phases. Phase 1 was two weeks of basic intro to programming stuff, real elementary things like HTML, CSS, and basic JavaScript with concepts like what a variable and a function was. Then, the rest was split up into 3, 4 week programs in which we learned Python with Django and SQL, MERN, and lastly Java or C# (we had to choose one or the other; I chose C#). The first two weeks was learning the entirety of the language, the web framework, and the database. The third week was preparation for the final exam, I'll talk more about those later, and the fourth week was project week.

The point of a development bootcamp was to learn almost everything you needed very quickly and very efficiently, much like a military bootcamp, but without the cadre yelling at you and everything else. If you fell behind even the slightest, you risked failing out. For me, it was the perfect setting. I learned so much and picked it up faster than I did Swift because of the structure. I loved every minute of it. During the third week exam, we had a set amount of time to recreate a randomized website to the T, and it, of course, had to be graded for accuracy which landed you a grade of Orange, Red, or Black belt for that section. In order to qualify for the Black belt, however, you not only had to create the website perfectly, but also deploy it live on AWS, in the same time frame. You had to tell the instructors beforehand if you were going to attempt the Black belt, otherwise you'd only end up with a high score of Red or low score of Orange. Two Oranges in a row and you would be dropped from the course or repeat a section. Me being the overachiever I am, went for Black belt on all three exams, and earned Black belt on all three exams. Lastly, the final week being project week, we got to make whatever we wanted to. All mine were websites in that framework that I ended up using for my portfolio.

In October of 2023, I graduated that bootcamp at the top of my class, and began my long, strenuous search for my first job as a software developer.

I had the knowledge - not the network

Finding a job back in late 2023, early 2024 was not easy, and frankly, it sucked ass. My last project in my bootcamp, created in C# ASP.NET, was a website to track job your job search history. I actually ended up using it to track all my applications, their status, and track my interview progress. And I kid you not when I say, I submitted close to 1000 applications. Submitting applications became my full-time job, on top of trying to pad my resume, portfolio, and GitHub profile with more projects. I had landed a few interviews but none of them stuck. At one point in early 2024, I had even started applying to job in operations again just to try to get an income. I had some interviews at a newly constructed Meta data center in my town and a branch of SpaceX.

In my search, I realized it started to become more about who I know, rather than what I know. In an attempt to broaden my network, I started attending all sorts of public meetups for developers in Austin, and actually made some good connections. What I also didn't realize until I started networking was that it was not a quick process, but more of a slow burn. Building a network took time, and my bank account was telling me I was running out of it.


One day, my older sisters friend texted me saying the company she works for was looking for C# developers and asked for my resume. My sister had mentioned to her that I was looking for a development job and so she reached out to me. A few weeks later I was contacted for an interview. The interview overall went great, but I was still skeptical on if I would get the job seeing as I was still green as a software engineer. They had also given me a take-home project to create a simple application that displayed data in a WinForms data grid. I was terrified at this because I didn't have a Windows computer to build it on and I didn't event know WinForms. So I did what I knew and built the app as a simple web app in ASP.NET and hosted it on Azure. Thankfully, he was impressed with the flexibility and ability to recreate the WinForms specs in a web app. A few days later, I was back on a call with the hiring manager to review the project and demo it for him, and that was the last bit of the interview process. All I could do now at this point was to wait and see.

While I was waiting for a response from the interview, I was still interviewing with Meta for the operations position at the new data center in town. I had already completed three at this point with another one scheduled for a Wednesday afternoon in March. Thankfully, before that interview happened, I got a call from the hiring manager for the software engineer position.

I got the job.

I was in such disbelief, shocked even, that all my hard work actually paid off, and I was going to be a software engineer.

I love C# - and also Rust

Two and a half years later, I'm thriving in my position as a C# software engineer. My project are big, complex, and rewarding. Writing C# is enjoyable, for my job, but I still wanted to learn more.

In my free time, I've dabbled in a few other languages like Zig, Go, C, and a little bit of Rust. I worked on small projects here and there but nothing significant. Along the way, however, I did learn that I greatly enjoyed creating desktop applications. There is something about seeing an application you wrote from scratch pop up as a window on your desktop instead of in a web browser.

I'm not entirely too sure when I decided that I wanted to continue learning Rust, but one day I just did. I started with the free Rust handbook online, going through each chapter, section, and example it had. It was a good start. Eventually, I also landed on the JetBrains Academy Rust learning path, which follows the same Rust handbook more or less, but it was more interactive. In any case, I was learning a lot about Rust, and at the same time, falling in love with the language.

My first "big" Rust project - and how it fell to the wayside

Earlier this year, my wife established her own private Speech Language Pathology practice and started using an web-based client management software that had its quirks. Naturally, I decided I'd try to create her own software, in Rust. For this project, I had decided to use Tauri 2.0. I had used Tauri in the past to make a simple application that allowed the user to manage their Minecraft server through an interactive desktop application, but it hardly used the Rust backend as I wasn't familiar with Rust at the time. But I remember it being very easy to scaffold a fast and simple to use desktop application. This time, however, I was prepared to take full advantage of the Rust portion with Typescript React for the frontend.

While on the surface the app was relatively straightforward, it ended up being quite complex. When I first started it, I spent a lot of my free time building it, and my all my time was quickly becoming consumed by it. I loved every minute of it. Over the next couple of weeks, I built this application to be something my wife could actually use. Unfortunately, as life with a full time job as a developer, part time job in the Reserves, and two young kids, I hit the ever familiar wall that most developers eventually hit; burnout.

I thought about the project nearly everyday, but I couldn't bring myself to open my terminal and continue working on it. I did jump back in every now and then, but my burnout was real, and I didn't need it seeping over into my full-time job as a developer. At this point, I felt completely and utterly deadlocked in journey to continue to learn Rust and make something worth while.

Something worth while, has finally arrived

In the next blog post, I'll go into detail about why and how I created OmniPTY. I can tell you with certainty that a few years ago, I never would have expected to make a piece of software this substantial, but I am glad I did. Becoming a software developer was a difficult path to take from where I started, but I hope you learned something from my struggles and journey to become one. And while burnout is still very real in my life, it has not, and most likely will not, affect my extremely strong desire to keep maintaining and improving OmniPTY.

If you stuck to the end of this post, thank you very much, and I hope you learned something or it helps with your own journey to become a developer. Keep an eye out for the next blog, and I hope you keep using OmniPTY.