Oregon State University|blogs.oregonstate.edu

A week in.

  January 19th, 2022

This past Friday officially marked my first week at my new job as a software engineer. Now although this feat is not quite something many people are proud off or acknowledge in many cases, the end of my first week does mark an early milestone in my budding career. Most importantly, this first week laid a blueprint of what a normal work week would consist of with this new job.

The Stand Ups. These quick meetings in the morning were quite easy to adjust to. I was quite impressed with the quick format and the discussions that come along with the meeting. Not only do these meetings keep everyone in the group in the loop on what you are working on, but also the opportunity to ask other team members for help or guidance in regard to solving a bug or issue.

I will admit I am still adapting to the revision meetings and other meetings that are scheduled during the sprints. With the exception of the stand-up meetings, which are held daily, there are a few other meetings with different purposes at different time frames scheduled throughout the work week that require I place the upmost attention to my calendar. And after this first week, I am sure my calendar will be my one of my most popular tools in order to keep me on track with the job.

Some of the highlights of my first week included finally being able to meet the other engineers who were part of my interview process. It was interesting to finally put a face to a voice that I had only encountered once over a GoTo Meeting call a few months ago. Plus, it was great to hear their feedback of how they got started at the company and informing me on the do’s and don’ts of the office. Plus with so much orientation and learning during my first few days of the week, I really appreciated them stopping by my cubicle to help me sort out some of the corporate framework. And last, but not least, I met the team I would work with. I was very impressed to learn their backgrounds and was proud to have been assigned with such a diverse and intelligent group. Granted a few of my other teammates were working from home and others out of the office, those I did meet instilled a very positive attitude about the team.

How Rejection Helped Me Land My Role as a Software Engineer

  January 13th, 2022

Landing a full-time software engineering role is not easy. Especially while you are still in school and working full-time in another profession. Not only must you learn to juggle your daily duties for your job, but also the commitment to the classes in which you are enrolled as well squeezing in time for interview preparation.

When I first got the opportunity to go through the hiring process for FAANG company, I was very poorly prepared. Granted a recruiter had reached out to me asking me to apply, I honestly did not think I would be fortunate enough to participate in the online assessments. Thus, I did not take the proper measures to study up on Leetcode questions I would encounter during the assessments.

During the first online assessment, I decided to do first round of questions in the C programing language. Bad idea. The questions I was forced to answer involved using complex data structures that took too long to code in C. Time is of the essence during these assessments as the more questions you can answer, the better chance of moving on to the next round. Granted the questions you are able to answer successfully, must pass the tests presented. Luckily, I answered not all of the questions, but just enough of them correctly to move to the next round.

When it came to the interview process with other engineers, I stumbled answering the behavioral questions in the manner they preferred. They wanted answers in the STAR format which I had never done before. The answer format required that I describe the situation I was in, the tasks that need to be handled or completed, the actions I took to complete those tasks and finally the results from my actions.

Answering these behavioral questions on the fly was difficult without proper preparation. I made the mistake of assuming most of the questions I would discuss during the interview would pertain to my resume and past projects listed on my resume, but that was not the case. It was a very rude awakening and a bit embarrassing considering I felt I could have answered those questions much better had I prepared or thought of scenarios that fit those behavioral situations.

After the completing the assessments and interview process, I was rejected. I will admit I was very upset with myself after getting my rejection email and kept running the “what-if” scenarios in mind. I felt like I finally had an opportunity and I blew it. However, after a few days of moping around and doing some reflection I realized it was a great learning experience for me. I forgave myself for my faults and learned I needed to make some changes and improvements if I was serious on landing a job as a software engineer.

The failure lit a fire in me that helped me devise a plan that ultimately was a path to success. I began by allotting an hour of everyday doing a few leetcode questions. If I could not answer all the questions in an hour, I would stop and pickup where I left off with a fresh mind. Eventually, I began to do a series of questions while timing myself in order to become more aware of time management for each question. Most importantly, I stopped doing these questions in C and moved to C++ which had a bunch of built in libraries that would make my time coding much more efficient.

Next, I began thinking of scenarios similar to the questions I was asked during the interview. I would then write out my answers for each aspect of the STAR to better describe my thought process. I would write copies of my answers to memorize my answers. Eventually, I was able to refine my answers with time and added new ideas that improved my process.

After making these changes to my study regimen and dedicating ample time to preparing for behavioral questions despite handling a full schedule with working full time and an eight hour course load, I felt prepared. Thankfully, the next opportunity I was given to interview for did not take long. And with the preparation I had, it was a breeze. I managed my time effectively answering coding questions, demonstrated confidence explaining my logic and time complexity and finally knocked out the behavioral questions with ease.

Was it easy dedicating extra time to the process? No, but I exercised restraint from deviating from my plan knowing what my end goal was and how I wanted to accomplish it. I hope my experience can serve as a valid template of what not to do and instead of how to do in regard to landing a full time role as a software engineer.

From Oil & Gas to Software Engineer

  January 6th, 2022

A few years ago while working in my previous role at an oil & gas services company, I stumbled across accessing the back-end of our database system. Intrigued, but also very confused about what I was looking at, I started down a rabbit hole that would ultimately lead me to OSU’s post-bacc program.

After making this discovery at work, I began hopping on codeacademy everyday at home in an attempt to learn more about web development. I first began learning HTML, followed by CSS and then Javascript. As I progressed through the online curriculum, it was awesome to visually see what I could accomplish and was hooked to learn more.

Unfortunately, one day after arriving back to work from my lunch break I was informed I would be laid off. The news was tough. I had relocated to another state at the behest of my company and had no other tangible skills that would help me land a job in a different industry. Plus I knew my previous degree in political science was not in very high demand and would not be enough.

Thus recognizing I needed more education and applicable experience, I thought about enrolling in a coding boot camp however many of the job postings in my area required having a degree. As I continued to peruse for information and surfing on reddit in-between job searches, I came across the OSU post-bacc program.

Immediately I felt this program was designed for people like myself who wished to gain a promising educational experience in attempt to make a career change for the better. Starting the program was tough as I had no prior coding experience other than doing web dev stuff on codeacademy and C++ was like a foreign language to me, but I stuck it out. I put in long hours, read the book over and over and grew a deep understanding of the language. Thus after my first term was over, I developed a deep confidence in myself that I could succeed in this program with the ultimate code of landing a software engineering job.

As I progressed through the program I began to learn other languages and skills that would only further my confidence and help me succeed in my job quest. Learning data structures in C was amazing. I enjoyed it so much that at one point all I wanted to do was code in C. Assembly language was amazing as well as I was fortunate enough to ULA for the class for two terms, which I firmly believe was a great experience for myself and bright spot on my resume for potential employers to acknowledge. Plus, building a micro-service in Python really helped me hone my skills in the language as I was a late bloomer to learning the language.

Despite not yet having my degree, I began applying to jobs and was astounded with the feedback I received. Granted I built a portfolio with my projects to showcase what I could do, I was inundated with OA’s and interviews. Some OA’s I totally butchered as I was new to the process others I did really well on. Same thing with the interviews. Overall, despite my flops in the interview and OA process it really helped prepare me for the next opportunity and how to effectively manage time in OAs and crush coding questions.

Fast forward to now, all the time, stress and effort paid off. After many interviews and coding challenges, I was able to land a software engineering role with a defense company that I am super excited about. I have always wanted to work in defense and create products that help in achieving our nation’s mission of national security. I am grateful forĀ  the guidance and framework OSU’s program and instructors have provided me and look forward to my new journey as a software engineer.