My Journey to Coding Mastery
Hi there! In case we don’t know each other but you still found or got sent this document, my name is Carlos (pleased to meet you!). This document aims to achieve a number of goals:

  1. Outline a personalized and intense learning plan towards my (relative) mastery of coding. It should be rich in deliberate practice and feedback, and adapt according to my growth and my mentors’ opinions. 
  1. Journal my progress to spot opportunities for improvement.
  1. If you feel inclined to help me, this should make it easier for you to know how (or make it easier to pass along to people you think may help).

(Thanks to my friend and mentor Stepan for his recommendation to put this together!)

TL;DR CARLOS’ STATUS

  • UPDATE AUGUST 2023: Decided to build my own AI assistant with LangChain and Pinecone, so I can be a full-stack developer that also knows how to implement AI in my applications.
  • UPDATE OCTOBER 2023: Updating document after having initial conversations with veteran software engineer friends to focus on specializing further in my more familiar languages and frameworks (Javascript, React, Node, Laravel), while continuing to expand my exposure to other technologies that I’ve been experimenting with or that I’m curious about (Python/Django, Typescript, Next.js, LangChain, Vue, Rust, system architecture, cybersecurity, devops). I will be reorganizing Resources accordingly.
  • UPDATE NOVEMBER 2023: Updated The Vision since, after +3 years as a software engineer, I now feel I’m ready to make a +10 year commitment to this career.
  • UPDATE #2 DECEMBER 2023: Came up with the idea for CareerSnap, so I built a public prototype in <2 weeks to 1) help me get more interviews and hopefully me next job via the incentive of referral/reward, and 2) test potential interest for creating an app as a side-business that other people may find useful.
  • UPDATE APRIL 2024: Started working as a Software Engineer at Expensify, my absolute dream company! In fact, it was Expensify’s job posting the one that I used as an example for my ideal position in CareerSnap! I couldn’t be happier!!!

OUTLINE


  1. Grow in Current or Different Job
  1. Pursue Craftsmanship Effectively & Efficiently
  1. Have More Ideas
  1. Feel More Flow & Happiness
  1. Grow Relationships & Alliances
  1. Resources
  1. Updates



1. HOW DID I GET HERE?


My background until early 2020 was not coding. Other than building my old blogs with HTML/CSS, for the previous +10 years I built companies and/or led small teams in different parts of the world but always from the “people” side of business (e.g: direct B2C/B2B/B2G sales, tons of speaking and teaching worldwide and/or remote, wrote a short book on building systems for personal productivity, etc.).

However, I was ALWAYS interested in coding, even attempting to learn (and failing) a few times with Codecademy and such… I was interested because, like entrepreneurship, it’s another field with lower-than-average politics and clearer-than-average rules for quality and success (as Paul Graham would say, it’s where “gaming the system stops working”)… The challenge for me was that cracking the conceptual barrier of coding simply had a time opportunity cost that made it incompatible with my obligations.

Enter Covid-19.

Once I realized the magnitude of the events, I decided to take 2020 as a sabbatical, focus on health and relationships, and let my curiosity guide me to my next step…. Which eventually was to go through a YC-backed coding bootcamp founded by my good friend and top-level entrepreneur Martin (he was the first Argentinian participant in my old entrepreneurship school in Chile and the person responsible for  Paypal to Argentina, so I trusted his passion for his mission).

A little while after completing the bootcamp and an internship at another YC-backed startup, I had a conversation with tech veteran David, who asked me a key question:

  • “Do you want to have a great career as a developer? Or did you learn just for the sake of doing something new?”