There is nothing more dangerous on a big software project than a mediocre programmer. We’re like a radioactive prairie dog on heat: Running around contaminating codebases with bugs, indecipherable intent, zero documentation, no testing, and poor security.
Eventually I learned enough to realise I needed to ban myself from our game’s codebases. I was desperate to be better: I wanted to be able to contribute to Unknown Worlds games in a sustainable, positive way. One day I read a recommendation: Create a personal project. A project you can sculpt over a long period of time, learning new skills and best practices as you go.
I have been following Hugh for over seven years from way back in the day when he was uploading Natural Selection 2 videos to YouTube as NS2HD.
What I love most about this article is that Hugh's mindset is the polar opposite of the majority of developers that inhabit Silicon Valley. There is something about the culture out here that prevents people from asking for help or admitting they don't know the solution to a problem. Junior developers would rather break something in production than be supervised by a mentor. Facebook's "Move Fast and Break Things" motto has poisoned a generation of developers by making them believe they are hot shit because they get stuff done fast and it doesn't matter if it is done "right".
Lesson 5: Ignore the framework brigade
“I’m building a Dockerized cloud Node app with React-native frontend on GCP powered by the blockchain.” Don’t be those people. Learn from first principles. Start with abstract design thought, not a list of software for your ‘stack’. Don’t be afraid to build your own systems.
Reach for third-party dependencies judiciously and only where absolutely necessary. Learn by dabbling in languages where you need to allocate your own memory, while leveraging the speed boost that comes with those in which you don’t. Build computers. Tinker with them.
This is easily my favourite lesson. The number of people that I have interviewed who spew out framework or design pattern buzzwords is too damn high. Easily 85%+ of the people I have interviewed who praise a framework can barely describe to me how it works. They just know that someone on Stack Overflow told them it solves a problem and that they should use it.