In 2017 I taught myself to code.
I continued to read articles about courses to help learn full-stack development. As a Project Manager at the time, it was immediately helpful to understand the web and communicate with developers.
I began creating some side projects and took Udemy courses to create full stack node projects. It felt awesome to struggle through to new levels of understanding. I felt like I was zooming forward in my personal growth and learning. A momentum moment.
But then something happened. I stuck around too long in the web development world. I began diving deeper and deeper into object oriented programming, design patterns, react, redux etc.
Yet this was different. I felt I wasn’t making anymore progress. The feeling of tangible movement was slowly replaced with stagnation and frustration. And in hindsight it was simple.
My goal of career learning become a tinkering hobby. The outcome I wanted was lost. It was now just becoming a distraction from making decisions & moving forward.
The important thing to note as you work through self-education and learning is remembering the outcome you’re aiming for and make progress toward that outcome. That’s the importance of goal-setting.
In 2018, I began coding again. But this time not for its own sake. I found sitting behind an editor, though therapeutic at times, really just made me feel like crap. I started with my first little project – gardenshq.com – to my my girlfriend and I manage our contacts and gift lists. And now I’m working to ship firestories.co, a simple weekly interview series with early retirement folks.
What I enjoyed is shipping. Drumming up ideas, putting something together and sharing it. My outcome now is not diving deeper into programming. My outcome is creating and building products that people find interesting.
The lessons learned is to create goals & then systems in order to hit those goals. That takes some thinking and decision making. But initially, had I thought about it, I don’t think I would have made a goal of “learning object oriented programming”. It should have been one or many of the goals:
- talk to 3-5 people about career opportunities in web development
- create X type of product or application, to complete knowledge of X
- Get 5 paying customers for a project or service
The ability to code and create your own projects from scratch is a huge advantage, really fun, and something I now can look forward to when I want some Tim time.
But what is better is putting real constraints on that build time so it doesn’t become the outcome itself.
Understand your outcome. And if you’re not sure, give yourself a milestone and then stop and reassess. Ask yourself, what am I really looking to achieve here?
Learning new topics from scratch are much easier than you think. I became dangerous enough after a few months of practice. And that was enough to either stop or use the knowledge for some other purpose.
What are you working on now that would really give you momentum forward?