A Coders Two Journeys: Act 2 — Conflicts on the path to becoming a Software Engineer

Ian A. Davies
7 min readApr 10, 2021
A screenshot of my most recent project at Flatiron School for Ruby on Rails

If you recall from my story on Act 1 you may remember that a character in any story must have a clear visible goal or finish line that they are trying to reach in order for us to identify with them.

My visible goal has been over the last 3–4 months been to graduate from Flatiron Schools Software Engineering program and to then get hired as an engineer as quickly as possible once I graduate.

I think it's fun to look at movies and books and their character's journeys, to better understand the journeys we set out on in our own lives as week see out our goals and desires.

Take a look at the examples below os some common goals/desires that main characters in most stories have:

Common Character Goals in Movies

The character wants to win a competition: Rocky or Karate Kid

Win the love of another character: Hitch, Aladdin, The Notebook

Stop some bad thing from happening: Armageddon, Terminator

Retrieve something: Indiana Jones: Raiders of the Lost Ark

Wants to escape and or survive: The Truman Show, Hunger Games or The Pusuit of Happyness

Visible Goals in the real world

I think as we go through life we are very much influenced by the stories we hear, read and see. Those stories shape our identities, character, morals, values, and goals.

Think about your favorite book or movie…what is it about that story that you love so much? Are there clearly defined moments that you can relate to? Is there a scene that you could watch over and over again for inspiration or motivation?

More than likely it’s one of the main characters and their struggle that really resonates with you and speaks to your soul. What makes that character stick in your mind is their resilience and commitment to do anything it takes, sometimes even dying (like in the movie Gladiator), to reach their goal.

It’s important to recognize a story’s power to influence you in creating you own goals and taking a certain course of action to achieve those goals.

On a foundational level, my current goal resembles that of Will Smith’s character in The Pursuit of Happyness. The goal for his character was not to escape for the fear of death but to escape his current circumstances so that he could provide a better life for his son. If you watch the movie you see that his characters motivation is very much like that of someone fighting for their life and despite challenges and setbacks that seem nearly impossible to overcome he makes a decision one night when he and his son are homeless and sleeping in a subway bathroom that he is willing to do anything it takes to change his life for the better and provide for his son.

This story strikes a chord with me because, at a foundational level, my family needs me to provide food, shelter, and safety. Without a solid career, I’m at the will of the world and not in control of my life…a skill as valuable as software engineering will go a long way towards helping me reach my goal.

Along my new founded path as an aspiring software engineer, I have had many ups and downs. Initially, I came into this experience at Flatiron School thinking it would be easy and a whole lot of fun! I was certainly right about the fun…but way off course on calling it easy. I’m not sure I have had one moment where I ever felt what I was doing was easy. For the last 6 weeks or so I have been in a constant state of uncomfortable growth!

Conflict Along The Way

Things at Flatiron School are definitely a lot harder than I anticipated. However, I never thought I would feel like there was something that I couldn’t overcome or understand within the timeframe we were given to be able to understand and apply it practically.

Coding Challenge, challenge…

My most recent conflict was in the second and third weeks of Phase 2. During each Phase in the program, we are expected to take a coding challenge the week after our first week of learning a new language. Phase 2’s language was Rails and it added upon our newly built foundation in Ruby.

After the first week, I spent hours over the weekend refining my notes, creating mind maps, and diagrams, and helping others who were a little behind on lab work to get caught up in preparation for the upcoming coding challenge in week two of Phase 2.

This is a zoomed out picture of my Mind Map for Ruby on Rails…possibly a little too detailed 🦝

I was certain that in this phase I was more prepared than in the first phase and ready to tackle the coding challenge. I was confident…although, uncomfortably confident. Something about that week just felt too easy.

Needless to say, I pushed on through the second week, completing my labs and continuing to add to my notes and mind maps so that I could sail through my coding challenge!

At the end of the second week on Friday morning, it was finally time to take the coding challenge. This challenge was about to be SMOOTH SAILING! So I thought…

Complications & Higher Stakes

From the moment I cloned down the repository for the coding challenge and looked over the Readme file to assess the deliverables I needed to achieve in order to pass the challenge, something came over me.

This wasn’t something I have ever experienced before…for the first time I had test anxiety…and I froze!

I knew that I knew what I needed to know to pass this challenge but for some reason, my brain could not access the caches of information I had stored over the previous two weeks.

“With each passing moment of what some have dubbed ‘Coders Block’ the 2-hour countdown was still ticking and I wasn’t getting any work done!”

This was literally me during my most recent coding challenge!

A turn for the worst…

Well, turns out I didn’t do so well on that coding challenge…fortunately for me, they did allow each student another attempt at taking another challenge the following week.

The caveat here is that not only would I be taking the coding challenge again, but I would be building a Ruby on Rails project from the ground up with a partner. We had one week to complete the project and so my coding challenge retakes and the project would be due on the same day.

🔥 Burning My Bridges: A Pivotal Turning Point

At this point, there was only one thing left to do in my mind. There is no turning back from here on out…ALL of my bridges that lead back to the old me would be burned up and I would never look back!

It was time for total focus! I would need every ounce of energy and brain capacity to complete my project and to retake and PASS the coding challenge!

So I did just that. I told myself over and over that this is it for me. There is no new story to begin after my software engineering career because that is THE STORY, THE JOURNEY I am on and I will reach this journey’s final destination.

Time for reflection and ACTION!

So what did I do once I burned my bridges? I took some time to relax, reflect and refocus. I was able, over the course of a few days to accept the outcome I had been given and to do everything within my power to pass bot challenges ahead.

I decided over that weekend that I would be willing to sacrifice anything and everything over the next 9 weeks to graduate from Flatiron because now that I had burnt all my bridges there was nowhere else to turn. I forced myself to laser focus on the goal and to put everything I had into becoming the greatest software engineer I am capable of becoming!

Queue => Survivor — “Eye of the Tiger”

My goal was staring me in the eyes and behind me was a burning heap of “OLD ME”. The only thing left to do was to take action and start building! Rep, after rep, after rep I built my skill and confidence…

What commenced over the next week as I built my project application with my partner was still tough and had its ups and downs, but my newfound conviction and commitment to achieving my goal at any cost gave me the energy and focus I needed to PASS the coding challenge and create a really cool music playlist app!

--

--

Ian A. Davies

A software engineering student and aspiring white-hat hacker on a passionate pursuit to develop effective software, unstoppable teams, and strategic leaders.