Early in my career, I tried to keep up with everything going on in the world of software engineering, but it was exhausting and never-ending. I would spend most of my free time coding outside of work, which wasn’t sustainable or fun.
I know there’s so much more to learn and ways I can grow as a software developer. But unless I’m intentional, it’ll be much more difficult and slower to improve in those ways. Plus, I enjoy learning more about my craft because it’s something I started doing for fun and continue to get satisfaction from.
So I use a simple system to organize my efforts by maintaining a board in Trello called “Technical Learning.” It has five key lists, but the system can be modified as needed.
- Ideas – where I capture resources, concepts, ideas, books, etc. I want to go through to learn; this is how I “take action” when I see cool stuff… I log it and let it be.
- Up Next – the stuff I want to go through soon, usually based on interest or need
- In Progress — what I’m currently working through, ideally no more than a few to maintain focus
- Done — the things I’ve finished! So fun to look through and reflect
- Graveyard — what I couldn’t finish or lost interest in or isn’t as exciting/useful as I once thought
Sometimes I’ll add some other columns to make it easier to organize ideas, but the flow is generally that I see something or learn about something cool and add it to Ideas. If I’m excited or interested, it’ll soon make its way into Up Next. Once I finish something, I move it into Done and pull something from Up Next. Graveyard is where ideas go that I’ve lost interest in but still want to keep track of.
It’s mostly a system that’s based on working on any on-going project, sort of like how you can use Pivotal Tracker, Jira, Linear, etc. for software projects. But this is a bit simpler, less high-use, and extremely personal!
Now this system is almost useless without some sense of how you want to learn and grow, right? I find myself regularly coming across stuff that’s neat or cool or interesting in the world of software engineering, so this system allows me to capture those ideas but move on to maintain focus with what I’m already working through. By talking with peers, colleagues, and mentors, as well as follow along with some of the larger trends in the world of software development, I’m able to map out my learning efforts.
The Trello cards that get added can be anything! Books, conferences, video series, concepts, libraries, example projects, courses. I use labels in Trello to categorize the cards for the resources that I add. You can add links, images, files, descriptions, notes, checklists, and more to Trello cards to really make the most of the tool. Experiment and see what works for you!
I try to dedicate about an hour a day on weekdays to learning. I open up my learning Trello board and follow the system.
I try to make the items as actionable as possible. For a book, it’s as simple as reading it. For a course, completing it. For new frameworks and technologies, it can be about reading some blog posts, watching some videos, reading the docs, and building something simple with it. Sometimes something being “done” is just a feeling, but I’ve gravitated more and more toward the cards that I add to my board being actionable and relatively smaller chunks to keep momentum going.
I hope this helps! I know it’s helped me stay focused and continue to learn as a developer.