Dear new developer,
I have previously written about joining an online tech community. My personal go to right now is Hacker News. I find it has a nice mix of tech, startup/business and other interesting content for me.
Here’s a thread from a few months ago with advice for junior developers. Here are a few of my favorite pieces of advice.
- Don’t ignore error messages: “If you successfully adopt the mindset of “whatever the computer is telling is true from the computer point of view, so I’d better make sure I’ve read it” instead of “Anyway, I’ll try something else and run again”, you’ll debug 10 times faster.“ I’ve been guilty of this myself, but an error free log (or at least one where you understand all the errors) will make it far easier to see anything new. If you are in the middle of something and can’t take the time to hare off down an error path, write it down and come back to it.
- Give everyone the benefit of the doubt, and realize that what they say is coming from where they stand. “Never assume anybody is stupid. Instead, figure out how these intelligent, well-intentioned and experienced people have come to a decision which is stupid now.” One tactic to do that is to repeat back to them what they are saying so you make sure you understand it. One strategy is to get to know them as people and understand their personal history.
- Set yourself up for success and learn to code fearlessly. “Are you being asked to run queries on a production box? Ask if you can get a user with read-only permissions. Change crusty old code? Maybe put a quick test harness around it.“ My favorite trick for making changes on a production systems (especially if you don’t have access to a full staging environment, which unfortunately happens) is to copy the relevant files to a different name and make my tweaks there. But the poster’s point about asking for limited access (so you can’t even hurt the system if you accidentally make a mistake) is a really good one.
- Context is very important and no generalized statement is true in all cases. “Beware blanket statements. They can help you develop a low-resolution model so you don’t suffer from paralysis, but real-world problems tend to be complex and messy.“ As soon as I dive into something, I realize how messy it actually is. (And, to the point above, if the messiness seems stupid, try to understand why it is messy.)
Lots more good stuff, including hundreds of other comments. Worth a read.