Hi! My name is Matt and I’m a frontend developer living (and skating) in Los Angeles.
Currently, I’m working on React and TypeScript applications at work, but my interests in tech are all over the place. I have a fascination with low-level languages (though I don't have much time to mess with those things): Rust, C++, C...you name 'em I'm interested.
I’m also a Linux nerd who finally graduated into Gentoo. Ask me about the many errors I see when
I'm also a Dad who still thinks he's cool. Debate me on that.
Wait. What's a Code Thrasher?
Aside from being an homage to the "real" Thrasher, that is.
The origin story of that term eludes me; it may have been coined by me, by someone I worked with, or someone I've never met. I don’t remember either way. Simply put, a code thrasher is a developer who doesn’t think through what he/she is doing. Someone who will try every combination of tactics they can think of (or Google) to get their code to work:
- Put the code on line
n - 1? Sure. Let’s give it a shot.
- Oh! Maybe if I add this compiler flag then my code will compile.
- I’ll copy/paste this Stackoverflow answer and see what happens.
This is what I, and my colleagues, refer to as “thrashing”. Trying anything and everything—with little to no methodology—until the errors stop.
This blog is my attempt to minimize my own thrashing. Feynman nailed it when he said,
That which I cannot create I do not understand
Software development is hard. It’s a career (or hobby...or both) that requires near-constant learning. But reading documentation will only get you so far. Like learning a new human language, only reading books will get you so far. To actually learn and understand the language you need to go out and create conversations.
In Software you need to put the documentation into action. Implement that pattern you just read about. Try out that new language by building a whatever. Put your fingers to your keyboard and create!
That’s when you’ll really understand and finally stop thrashing.