In this series, we're shining the spotlight on members of the Codementor community. They share their journey to becoming a developer — the highs, the lows, and the inbetweens. Our first story is from Mitchell Gould, a long-time Codementor user.
When I was 10 years old, my father came into my room and asked "how would you like to climb Kilimanjaro?" I, of course, jumped at the idea, not having the faintest idea what a Kilimanjaro was or where it was located. My father never mentioned the topic again. But the seed was planted and if you keep reading, you will find out how IT enabled me to conquer that mountain.
I have been asked to write about how my varied background in a multitude of careers has helped me at being an entrepreneur. But after developing an aversion to labels at a very young age, I don't really think of myself as an entrepreneur.
My family moved from New York to Toronto when I was very young. I wanted to fit in, so I decided I would become a hockey player. This was Canada after all. But as luck would have it, my mother watched a hockey match shortly before I asked. And jaded by the blood and violence of the game, she, in classic mother fashion, replied with four words: over my dead body.
Instead, I was enrolled in figure skating and conned into believing that all great hockey players took figure skating lessons. When the kids at school found out, I was teased, ridiculed, and frequently beaten. I learned that I had to hide risky labels if I wanted to be safe. By ignoring the labels, I found myself focusing on the skills and practices associated with them.
This rejection of labels has had the positive side effect of helping me to be less judgmental of myself and others. I also believe it has freed me to pursue a multitude of careers in completely unrelated fields such as (in no particular order):
- international competitor on Canada's National Figure Skating Team
- brain researcher associated with the Canadian Aerospace Medical Research Unit
- a Cordon Bleu certified chef at the renowned Olive and Gourmando Cafe
- write and produce movies, one of which won the National Drama Prize
- CELTA certified teacher at 3 universities in Chiang Mai, Thailand
- graduate from the Information Technology Institute and build my own IT projects
- buddhist monk in Cambodia as part of a project to restart Buddhism in rural communities.
What I find most fascinating is how each of these careers surprised me with challenges to develop myself, gain new skills I never would have imagined, and how these skills translated from one career to the other.
For example, as a chef, you would expect to spend your time cooking things like Veloutés, Cassoulet, or Confit de canard. But I actually spent a great deal of my time solving problems. Like the time our food supplier missed our delivery, and I had to source and balance five boxes of portobello mushrooms while riding a bike in a Canadian snowstorm. Or when the water was accidentally left running in the espresso machine overnight and we had to deal with the espresso flood the next morning.
As a skater, I practiced how to throw my weight into the air to achieve enough momentum to complete 2.5 rotations and land safely. I had to overcome fear and have complete trust in myself. This turned into a life philosophy. I never would have predicted that doing a double axle would help me to confidently launch myself into so many different careers and projects.
My current project, code named 'ProvenWord', is a direct consequence of teaching English in Thailand for 3 years. I witnessed firsthand, the difficulty of learning to write in English, something I took for granted as a native English speaker. I partnered with a friend who has over 20 years of proofreading experience, to develop an application that helps non-native English learners improve their writing.
In competitive ice skating judges would immediately evaluate your performance and hold up a score from 0 to 10. I found that this kind of direct and immediate feedback to be very powerful (and, at times, painful). ProvenWord draws significantly from this experience. Our system instantly evaluates a client's writing, categorizes their errors (e.g. verb, punctuation, capitalization etc.), and presents the results in a visually stunning graphical interface. Clients gain a clear picture of where they need to focus to improve their writing are are provided with interactive learning tools designed for each error category.
Of all the careers, jobs, and projects that I have been a part of, ProvenWord has proven to be the most challenging. We literally had no money when we started this project. My skills in IT were quite limited and/or outdated. The scope of the project kept growing and went well beyond my pay grade. But this sounded like an awesome challenge to me, so I decided to up my IT abilities, and for that I needed help. A lot of help.
It took me quite a while to find the resources, learning platforms, and coding legends I wanted to learn from. I'm also a very slow learner, so I found myself taking many courses on the same topic from different teachers, exposing me to an array of coding styles and ideologies.
While courses and resources gave me a solid foundation, nothing was as powerful or effective as working with a mentor. I have to give a shout out to the people at Codementor for building this platform with access to so many incredible developers. That's not to say I found the right mentors the first time. It took me a few sessions until I connected with mentors with a good balance of patience, pedagogy, and expertise that resonated with me.
I initially worked with mentors to fix specific bugs, but more often than not, the mentor would point out the larger problem that needed to be fixed. Mentoring sessions went from 'bug fixes' to developing high level strategies and best practices that would take my coding skills to a whole new level. I learned how to take a step back to think about the problem, how the structure could be adjusted, and more importantly, I learned how to solve the problem when it came around next time. I remember there was one time I had to scrap my entire code after a mentoring session. Rather than band-aiding the existing code, my mentor asked what I was trying to achieve. He then took a step back and taught me how to look at all the other ways of writing better code with the same function. I finished that mentoring session feeling like Keanu Reaves in The Matrix, like I was plugged in and getting an upgrade. I was excited, fired up, and motivated to go back to work and apply this new found knowledge.
That's the feeling I get after every fruitful mentoring session. Finding the right mentor allowed me to up my game and skillset. They opened my mind and taught me things I didn't even request in the initial communication. Working with the right mentor can be highly motivating, but that doesn't mean I didn't prepare beforehand. I learned that to get the most out of mentoring, I needed to be clear about what I wanted from each session. This forced me to think deeply about each problem and document it precisely. Sometimes this preparation was enough for me to solve the problem myself. Other times, the document with code samples, pseudo code, and other information helped my mentor prepare for our session, and would be able to more efficiently, come up with a strategy or solution.
Thank you to my mentors and to Codementor for all your help.
Now back to the Kilimanjaro story.
I was attending the Information Technology Institute in Ottawa, Canada when I met Yvonne. She was a refuge from Rwanda and a truly brilliant woman. We quickly became close friends and helped each other get through the grueling course load.
We graduated just after the 2000 dotcom bubble burst and there were no jobs for freshly graduated IT students. With no choice and nothing to lose, we setup shop in a room of my Montreal apartment and built websites, designed business cards, fliers, and did whatever we could to get by.
One day Yvonne walked into the office and told me she was going to Nairobi, Kenya to see her family. A quick Google search showed me where Nairobi was: 4 hours north of Arusha, Tanzania - the staging city for climbing Kilimanjaro. Taking this as a sign from the universe, I contacted my friend, Adam, who was then working somewhere in Nigeria. Coincidentally he wanted to quit his job and was up for an adventure. So I booked a flight and fulfilled my childhood dream, only without my dad (he was proud of me anyway).
Thanks for your attention and perseverance in reading this article. I hope to update it in the near future with links to ProvenWord.com when it's launched. I've also included the list of resources I used. Hopefully, this will be helpful for you.
Here is a list of resources that you may find useful:
- Ruby and Object Oriented Programming:
- Any book by Sandi Metz and the this course
- Any book by Avdi Grim, and the courses on his website,
- Idiomatic Ruby
- Ruby Beyond the Basics
- Jordan Hudgens - Comprehensive Ruby Programming
- LearnEnough.com
- Jonas Schmedtmann - Advanced CSS and Sass
- Scrimba.com
- Kevin Powell - Responsive Web Design Bootcamp
- Per Herald Bogan - Learn Flexbox
- Frontendmasters.com
- Mike North - SASS Fundamentals