My First Sprint

Prior to starting as a Junior Engineer, I did not have much practical experience working within an Agile environment. The few internships I completed did not operate in a structured Agile manner, and we did not workin within a Sprint Cycle. So, needless to say, it was a little bit of a learning curve figuring out how to effectively work within a Scrum environment on a fully remote team.

My first sprint with the team was a mostly positive experience. I was assigned a ticket that was related to a Logging Service object. The scope of the issue was relatively small, so it allowed me to spend time familiarizing myself with the new codebase. After some digging around and debugging, I was able to make the necessary changes and submit a Pull Request to my team. The review that my team gave provided constructive feedback and tips on best code practices.

Since my first sprint, I have had the ability to work on multiple feature and defect tickets. One thing that surprised me with the Sprint process was how dynamic it can be. Being able to adapt to unknown issues or an increase in scope is critical to setting realistic goals. Also, as with most jobs, effectively communicating with teammates is a great way to avoid surprises when deadlines approach. Overall, it has been a great experience to work within an Agile framework, and it has provided me with a lot of structure to grow as a software developer.

First Month as a Full Stack Developer

After making it through the gauntlet of applications, and passing the technical interview, I had finally been offered a full time software engineer position! I was very excited to be given an opportunity to work with a company that seemed to have similar interests as myself, but I knew it would be a steep learning curve. Luckily, my experience so far has been incredibly positive.

I joined my team in the middle of a push towards mobile development. This meant that my main responsibilities revolved around building out features that already existed on the web, on mobile devices. This was a great opportunity to apply the skills I learned during OSU’s mobile development course! Even though the technology stack was slightly different than what we used in class, I still felt as though a lot of the lessons could be applied. There are a lot of similarities between React Native and Flutter SDK, and I felt as though I was able to make meaningful contributions early on.

While it has only been a month since I started this new job, I can already see the benefits of being enrolled in this program. Not only has the mobile development skills been beneficial, but also some of the web development, database, and general software development skills. It is really exciting to be able to apply the skills I have learned through this program into a real world setting!

Studying for the Technical Interview

I felt very fortunate to have received my first internship, however part of me felt as though I avoided one of the hardest parts of the interview process: the technical assessment. It wasn’t until I begin the search for my second internship that I realized how unprepared I was for the dreaded online assessments. Luckily, I was not the only OSU Post-Bacc CS student who felt as though they needed extra preparation, and other students had pointed me in the direction of the Codepath Interview Prep Course.

Codepath’s course was the perfect amount of structure and preparation materials I needed to study for the technical interview assessments. We spent each week focusing on a particular topic related to Data Structures and Algorithms, starting with a focus on Linked Lists and eventually making our way to more advanced topics like Dynamic Programming and Graphs. While the material was information that could readily be found online, it was the structure and the organization that I really benefited from.

The hard work eventually paid off when I was offered another internship, this time with a more reputable company! Interviewing is incredibly challenging for a lot of reasons, but once I was able to identify that the technical portion was my biggest weakness, it allowed me to focus my attention in that area. While there is no way to know all of the potential questions that might be asked during a technical interview, it is definitely possible to solidify your understanding of the fundamentals and go into the interview with more confidence!

The Initial Internship Search

After being enrolled in OSU Computer Science classes for about a year and a half I decided it was time to apply for my first internship. Little did I know that the search for an internship would be a difficult process.

The first step in applying for an internship was preparing my application materials. Re-working my resume to highlight technical skills and experience was challenging, but being able to receive help from OSU resources made the process a lot less painful. In addition to the resume overhaul, it was necessary to create a portfolio to showcase my personal projects. It took a number of iterations to create a portfolio that I was proud of, but once those two critical pieces were in place I was ready to start sending out applications.

This was the part that I underestimated the most. My first internship required me to send out over one hundred and fifty applications. For the vast majority of these applications I received zero response. The companies that did respond usually followed a similar pattern: send an online coding assessment, have a followup interview, finish with a panel interview with the hiring team. My confidence was slowly fading away as my email inbox became flooded with rejections, however I finally had a breakthrough with an offer from a local semiconductor manufacturing company. I’ll never forget talking with the hiring manager, and how excited I was for the opportunity. It was this internship that ultimately opened doors to future positions.

Why Even Change Careers?

Prior to studying computer science and searching for a career as a software engineer, I had a previous life in the environmental field. I’ve always felt a deep connection with nature. My passion for outdoor recreation grew into an interest in natural resource conservation, which ultimately blossomed into an academic pursuit in environmental science.

So why the abrupt change in career fields? Well, technology has always been a driving force in how I have collected/analyzed data within the environmental field. How we collected information related to endangered bird populations, mapped geographic changes over time, and helped stakeholders visualize where funds would be spent were all examples of how we leveraged technology as environmental scientists. It seemed clear that taking advantage of learning new technological skills would help advance my career and open doors moving forward.

I still remember the conversations I had with my mom and my girlfriend about making this career change. It’s fun to reminisce about how nervous I was about making the change, yet how supportive my friends and family were. Knowing what I know now about this journey I can honestly say that this was one of the best decisions I have ever had!

Baba Ghanoush?

I started my journey into the world of Computer Science in 2018. Throughout this journey I have experienced many positive moments that I never thought I could have accomplished. Recently, the crux of this whole computer science adventure came to fruition when I started working as a Full Stack Software Engineer. To say that I was excited would be a massive understatement.

However, these accomplishments did not just happen overnight. Like many of my classmates, I spent countless nights staying up late to work on assignments, sacrificed weekends to make sure my personal portfolio was presentable, and practically ripped my hair out trying to debug programs. Throughout the endless struggles I learned an important lesson: There will always be new technologies to learn, so don’t stress too much. Just focus on the fundamentals and my hard work will pay off in the long run.

So what does the delicious roasted eggplant appetizer have to do with my journey to become a software engineer? Well, as one might imagine, working late into the night trying to determine what is causing the latest segmentation fault causes people to become delirious. ‘Baba ghanoush’ became a more pleasant way to verbally express my frustrations. It eventually evolved into a more catch-all phrase to mean ‘no worries’ – kind of like ‘hakuna matata’. Who knows maybe one day it will evolve into the next hot JavaScript library!