On programming languages & frameworks
It’s ok to love the framework or language you use the most. If Python is your shit, then use it like crazy. You really should get great with one thing before scattering your attention too much with others anyway.
Being too attached to one language can lead to being closed to alternatives. If we don’t look outside our comfort zones, we’ll miss all the other awesome stuff. If we use a tool because we think it’s the best tool in the world, we miss other tools that might be awesome as well.
Sound obvious? We’ve all met that one programmer who never shuts up about his niche technology which is out of date, that no one uses. Don’t be that guy. (I may have been that guy at one point).
On technical debates
When you really get into programming, you’ll talk shop with a lot of other technical people about things like one technology vs another. This is a big part of learning and growing as a programmer. And this will happen throughout your career.
As far as debates go, it’s good to be opinionated. It’s bad to be dogmatic. There’s a fine line between the two. With the latter, you pretty much rule out any beliefs that don’t agree with yours. Which means you’ll miss out on other cool things (technologies, etc) that might really benefit you. For some this distinction is obvious; it bears mentioning since we’ve all met someone who was so addicted to their language of choice that they just couldn’t embrace a better alternative.
Overall I’m advocating less attachment to any single technology or paradigm. Every technology is a tool to help us achieve something. If we get too attached to a single tool, we forget about the big picture.
What’s great about programming
Coding is a passion for many, and rightfully so: you can do great things with programming. You can power businesses. You can reach millions of people. You can change lives.
For some, coding is its own reward – they just flat out enjoy doing it. They enjoy discussing it. And that’s fantastic.
I fall into this only partially – I get really excited when I’m on an interesting project or new piece of tech I haven’t played with before. I get a rush out of building something people will use. When I have a finished product in front of me, I feel a sense of pride and achievement.
What sucks about programming
But then, there are parts we all dislike about programming. Like working on boring projects, which we all have to do from time to time. Like having to clean up other people’s code. Like dealing with chaos when something on production breaks. These are part of the job, and worth sucking it up in light of all the other good things.
Then there are the things I hate – like the fact that sitting for 10 hours straight will kill your body in the long run, unless you’ve got a dedicated standing desk. Using computers late at night will jack up your sleep. This is the stuff that needs to be balanced out over time, or it can take away from your love of the craft.
Overall I’m thankful I’ve spent years building a powerful skill that not everyone in the world has. And now knowing the parts I don’t like, I’m a big believer in balancing life with non-computer time, and I recommend that anyone do the same. Your back/eyes/sleep will thank you for it.