“Wow. What a chastening and shameful experience that was.”

This was my immediate mental reaction after I completed my first technical interview.

I quickly learned after this humbling experience that knowing how to write good code is one thing, but articulating my thought process behind writing that code is a completely different beast.

I vividly recall how confident I was before my interview. But my confidence vanished like a Houdini trick once I was given the task of walking my interviewer through my solution.

I soon realized that explaining your code verbally is much, much harder than it sounds.

During the interview I froze up a few times. I stuttered. At one point I actually had to ask my interviewer to walk me through my own code.

Needless to say, it was a dumbfounding experience.

The painful take-away was that I needed practice explaining my code verbally in interview scenarios.

I managed to line up another technical interview. And this time, I knew that I’d need to find a place where I could improve my technical interviewing skills with other coders.

Low and behold, a friend serendipitously mentioned a Free Code Camp group in my city of Fresno, California. I had nothing to lose at that point, so I decided to make the effort to attend one of their events.

During the event, I noticed immediately that I was surrounded by collaborative, open-minded, and positive individuals who were as passionate about coding as I was. They were also willing to help with whatever questions I threw at them.

I knew right off the bat that I had found an invaluable resource. Participating in this group served to enhance my learning, boost my confidence, and help me transcend the technical interview.

Recently, our local Free Code Camp organizers put on what was arguably the best event of the year thus far. The event was titled “Whiteboard Interview Challenges.”

As the title suggests, we practiced whiteboard problems that are frequently asked in technical interviews.

What made this particular event a stellar experience was the tremendous support and constructive feedback we received from all the coders who showed up.

It was incredible! We actually had coders who made the trip all the way from Bakersfield (a two-hour trip from Fresno) to attend the event. I thought it was fabulous to see the Bakersfield and Fresno coding communities come together to help, mentor, and support one another.

Free Code Camp Bakersfield members helping Fresno members solve whiteboard interview problems.

The event began with us downloading a Github repo that contained technical interview problems. Then, contrary to a typical lecture-style environment, everyone split up into groups to collaborate and work through an assigned problem from the repo.

One of the problems we reviewed was implementing an algorithm called “sum of squares.” This entailed taking an array of numbers, squaring each number in the array, and returning the sum of those numbers.

After solving the algorithm on the whiteboard (or wallboards in our case), we also practiced verbally explaining our solutions and our logical thought process behind our implementations.

Writing down the solutions on the whiteboard wasn’t too bad. I thought I fared pretty well. Although I struggled in the beginning when it came to talking about my code, we had a plethora experienced coders who coached us through the entire process.

By the time I got to talking about my recursive solution, I felt much more comfortable verbally explaining it, as well as discussing the how’s and why’s surrounding my implementation.

One of my implementations for “sum of squares” (I’m on the right).

I cannot emphasize enough the amount of educational value and confidence I gained from this event, and from Free Code Camp in general.

This has been a massive step toward to breaking into the tech industry as a software engineer.

If there’s any advice that I can give to others who are struggling with technical interviews , please do yourself a favor and collaborate, don’t alienate.

You’ll find that through collaboration, the opportunities for improving your coding skills are boundless.