Julia Qiu

@juliaqiuxy

Learning how to code one email at a time

November 6th 2017

How I discovered my deep passion for programming by accident

Two years ago, I was a recruiter shuffling through pages of resumes meticulously searching for that dream candidate—the unicorn. Most people have no idea how the recruiting industry works, and if this piece was titled “Confessions of a Technical Recruiter”, I’d probably have a plethora of unscrupulous stories to write about the entire practice.

Often though, I remember myself curious about the endless stream of technical jargon I found in others’ resumes wondering what it actually meant or did, and took to Google to joyfully convert my curiosity into knowledge.

Two years later, after closing the book on my 13-month career as a Technical Recruiter, I am very thankful to have a career I’m truly passionate about. I am now a Full-stack Software Engineer.

How my coding journey started

If you’re a Software Engineer, you are most likely “spammed” by recruiters every now and then with messages that make you cringe.

Recruiting industry is highly competitive. According to a study by an online job-matching service, recruiters spend an average of six seconds looking at your resume. Yes, that is seconds—not minutes.

When all you have is a few seconds to review a resume, you are forced to automate as much of the job as possible, forgetting that there is a real person behind every resume and a person’s value can’t be determined in just a few seconds. Not only that but as artificial intelligence and robotics continue to pick up steam, you’re at the risk of being replaced by automation in the not-too-distant future.

To survive, I would need to somehow find a unique way to stand out above the noise. So I came up with the idea of sending potential candidates simple “programming puzzles” written in JavaScript and Python. The problem was that I had no idea how to code. I registered for online courses to learn how to code. After a few weeks of watching lectures online, I thought I was ready to practice my newly acquired programming skills. And yes, luckily it sort of worked. I was getting better response rates.

There was though a big but. Engineers responded to me not because they were interested in the position I proposed, but the “code” I sent was so buggy that they just couldn’t resist the urge to fix it. The response email was usually the revised version of my code and sometimes a JSbin page with comments explaining my mistakes.

And here I was learning how to code one email at a time. Allowing me to discover a new passion that would take my life on a whole new career path.

Quitting my job

Each immediate binary feedback I received every time I ran a piece of code I wrote was enough to excite my curiosity even further! And over time, I developed a strong interest in programming.

I realized that a career in recruiting was not what I wanted long term. Being a recruiter never challenged me enough to keep me engaged. I decided to quit my job and pursue education in software engineering.

I had so many options for learning programming: online tutorials, coding bootcamps, MOOCs from world-class institutions like Stanford, MIT, Harvard, Berkeley, Google and Facebook and many more. After carefully taking into account a bunch of variables, I decided a formal Master’s degree in UX/UI Engineering would be the right choice for me. I also knew a degree in a software-related field would only cover the fundamentals and I would need to teach myself everything else on the internet. My goal was to master skills in both design and programming. So that I could single-handedly build an app.

It’s been an amazing transition. I also felt empowered to raise my ambitions and career plans.

Launching my first product

I was having so much fun coding and I was now excited to create a product from start-to-finish as a capstone to my engineering capabilities. Something that I could showcase to the world.

I love snowboarding and wanted to build something that would help me in planning snow trips to Tahoe. With that, Slope Ninja was born—an app where you can find snow updates, chain control and road conditions for ski resorts in Tahoe.

After months of hard work, today I’m very happy to announce that I’m finally ready to launch Slope Ninja. Please check it out. It’s available on both the App Store and Play Store, for free. It’s also available on the desktop and mobile web.

It has been a challenging yet richly rewarding process. Building Slope Ninja gave me the opportunity to develop across various tech stacks including design, front-end, back-end, and mobile.

If you like Slope Ninja, please rate it ⭐️⭐️⭐️⭐️⭐️ on iTunes or Google Play.

Open sourcing Slope Ninja

A single idea formed in isolation is inherently limited. I would not be calling myself a developer today if it wasn’t for others who generously share their knowledge. Keeping Slope Ninja closed-source would contradict the very nature of this post. Giving knowledge to others is central to knowing.

Having said that, I’m incredibly excited to also announce the open source release of Slope Ninja. My ultimate dream is to start getting others to contribute to the project.

If you are interested in contributing to the development of Slope Ninja, below are the links to the repos on Github:

❄️ Slope Ninja cross-platform native mobile app

❄️ Slope Ninja mobile-friendly web app

❄️ Slope Ninja API, crawler, and notifications workers

Slope Ninja iOS and Android app screenshots

Takeaways

  1. Be bold.
  2. Find a mentor. This is the most important thing I can recommend to anyone looking to get into software development. Without the help, it would’ve taken me much, much longer to accomplish what I have done.
  3. Work hard. Like 90-hours-a-week hard. Learn to take pleasure in small feats. Because it takes focus, dedicated effort, and commitment to cruise through and learn as much knowledge as you could gather. Software development is a lifetime commitment and has an ever-adapting curriculum. You need to be passionate enough to push your knowledge over a series of plateaus.
  4. Build <something />. The best way to learn how to code is to build something useful. Tackling real-life problems is different than solving coding exercises, and much more fun!
  5. Build your network. This is probably what will land you a job. Make sure people know you, and know what you are capable of. Document as much of it as you can and make it public.

Good luck, and more importantly, have fun!

I would love to read about your own personal journeys towards breaking into tech, please feel free to share them with me.

Finally

It’s been an eye-opening journey. I’ve loved every minute of it. It has radically transformed me in ways I couldn’t comprehend when I first sent that buggy snippet of code hoping to increase the response rate of my cold recruiting emails. Little did I know that it would lead me to discover my deep passion for programming—all by accident.

I want to acknowledge and thank the incredibly kind people who believed in me. I’m more determined than ever to work hard and be the best that I can be. Thank you all so much.

If you enjoyed this post, please click the 👏 button and follow me on Github.

More Related Stories