Tim Urian
/timurian
Writing about programming and learning.
Tim Urian
Software Engineering
4y ago
Once my manager asked me what my long-term career aspirations were.
I know I should have had a better response, but I told him the truth.
"I'm not sure... I just love programming."
He laughed and told me that I was going to wind up pretty happy.
However, as I grow older it is easy to forget that magical feeling I used to get when I first started to program.
Here are a few projects you can do, and that I've done, to help rekindle that spark:
Build a tool just for yourself
Resist the urge to find an off-the-shelf solution and build something that fits you like a glove!
Everyone has something that they wish they could build, tweak or automate. (And if you didn't before you will find one soon!) My last 'tiny tool' was a timer that would help me track how often I lost focus or was interrupted. Side note: Oof.
Additionally, naming your tool and letting it live in a perpetual state of being tweaked provides extra fun.
Need inspiration? Check out @thesephist's masterpieces.
Create a simulation or a game
I don't do a great deal of front-end work, but there is something great about typing words and actually seeing a computerized world emerge.
Recently I attempted to explain the behavior of rate limiting and backpressure in a system using Replit's Kaboom.js game library. It was a blast!
Replit.com makes getting off the ground with any project easy, and Kaboom.js has the right affordances to get you up to speed quickly.
Solve a tricky puzzle
I really like the feeling of wringing my brain on a tricky programming puzzle.
When my desk is covered in diagrams and notes I feel like some sort of mad scientist, the way I first felt when I got a computer to beep in a loop.
Advent of Code (adventofcode.com) is a great go-to, with many problems in the "difficult but not impossible" zone.
You do you!
I'm sure there are a million different projects that could be fun.
Let go of your expectations, do something different than you normally do, and be amazed that you can type words to tell a computer to do something.
Tim Urian
4y ago
How fast could you learn if you could choose what to remember?
Memories degrade quickly over time. However, every time you are forced to recall a memory it strengthens and diminishes more slowly.
Spaced Repetition is the process of using software to quiz yourself on what you want to remember the moment when you are likely to forget it. The memory will be strong for minutes, then hours, then days, weeks and into the distant future.
With seven repetitions, and about five minutes of total time invested, you'll likely have that memory forever.
Spaced repetition is an extraordinary tool, great for learning:
Foreign Languages
Programming Syntax
Historical Facts
Technical Terminology
Material for exams
Make it easy on yourself: use software.
Anki (at https://apps.ankiweb.net/) is the gold standard. Building flash cards with Anki will let you sync them to the web and review them on your phone.
Make each card as tiny as possible
Many small cards are more efficient that a few long cards. You want to be able to recall each card in a moment or two and move on. As you become more advanced you'll start to use techniques like 'cloze deletes' to make cards succinct.
Separate Decks for Separate Subjects
One huge mistake I made early on was keeping everything I was learning in one mega-deck. Unsurprisingly, my interests have changed, but I'm still being quizzed about topics I've moved on from. Use many decks to keep your options open.
Spaced Repetition helped me get over the hump when I was first learning programming. It's so powerful that I can't believe it isn't talked about more. Give it a spin and find out for yourself!