Programming Tips | Surviving the Valley of Death

March 07, 2019

There is a point where the tutorials end, and even stack overflow seems to not hold the answers you're looking for. I have heard of this referred to the valley of death, and it is very much a large factor in hurting those looking to make the leap into a professional software or web developer. This is a list of quick tips to help you not go insane as you take that big step from fresh-off-the-boat-learner into junior developer.


Can't find that compile error? Retype what you just wrote

This one has gotten me more times than I would like to admit. I can't count the number of times I have spent scratching my head looking for a blatant error keeping my JS from loading correctly, only to go back and find that I had miscapitalized a word, or missed an elusive typo in the middle of a word. If your code should absolutely work, comment it out and retype exactly what it said, but a little bit slower. I find that about 60% of my issues can be solved just with this simple strategy.

Take a step back

Seems a bit simple, doesn't it? Step away from the keyboard, and go do something to unwind for a little while. Play the piano, walk around the block, hit the gym, anything to step away for a half hour or two. This has an amazing capability for clearing your head, and when you get back, you might just see that your problem wasn't as big as a wall as you had thought.

Follow the patterns

If you have made it to the point where you have landed a job as a junior developer, take some time to really read the code of the rest of the production or development team. Look at how they built their app(s), and not just why. Do they put their components into folders, with the component labeled as index.js. Why? Do they use inline Css, styled components, a stylesheet, or something else. Do they use all of these items? Why? These are the questions that will help you mesh with your team. Your fellow developers truly do want you to do well. This will help you more than asking questions can when you hit that wall, or when it comes time for your first code review and you find out that what you've built just doesn't work with how the team does things.

Google-Fu

Get used to googling your questions, and phrasing your questions in the best way to get answers. It might not be that the answer you are looking for doesn't exist, but that you didn't ask the right way to find it.

Small jobs lead to big jobs, and quality work always pays off

I don't think I know a single developer that didn't start off building sites in WordPress or optimizing images for smaller clients. I certainly did. Bring your all to every job, and watch your circle of reacurring clients expand. The more money brought in, the more you can build up your skills to bigger and better things, or take time off to enjoy life.

C-O-M-M-U-N-I-C-A-T-I-O-N

What do Agile, Waterfall, and Scrum have in common? They're ways to help force developers to communicate in an effective manner to get the job done. Communication might just be the most make-it-or-break-it factor in any project or team. It saves time, saves money, and helps you get the job done so the tema doesn't have to work on the 11th hour desperate to hit that launch deadline. Communication applies to every aspect as well. It applies to your code (comment your code, but don't overcomment. If you don't understand the difference, I assure you that you will learn eventually). It applies to getting jobs (interview skills, networking, documentation for your projects). It even applies to your salary. You can be a rockstar programmer, but if no one likes you, keeping a job is going to be hard. Communication is a soft skill, but it is a critical one to try and build up.