"PHP Bad…Python Good"
The most important things that every new programmer must know before learning anything are usually the ones that are overlooked or ignored completely. Mainly because we don't want to admit that they are correct, either it's not the norm and we should always be "following trends" or because of other reasons related to cough ego cough. People like to dive straight into the learning part and create new and amazing things, which is not wrong by the way, I've done that too. But, I wish I knew some of these tips and facts about the tech industry, learning when you're working, and the shifting technology trends before starting that might have been a big help in my personal learning journey. These tips might prove useful for new and budding programmers who have never worked in a professional environment as I've mentioned below. I'm sure it's going to be a huge help in their learning path and change the traditional thought process while working in development that many people blindly follow. So let's get into it…
"There are only two kinds of programming languages, the ones people complain about and the ones nobody uses" - Bjarne Stroustrup
Until and unless you are using some esoteric languages like BrainF***, Befunge, or Malbolge, (which is highly unlikely) you don't need to switch the language you are learning just out of peer pressure. I saw this great informative post while scrolling through Reddit and thought it might be of some use here as a guide.
While working a job, more often than not you will come across multiple ways of solving a problem. And more often than not, there will be an established "traditional" way of solving that according to your colleagues. But you should have the ability to know which solution will be more efficient in terms of your ability and learning speed. For example, it helps to know terminal commands of course in version control and that feeling of power is great when you push your code using Git via the terminal but if you feel more efficient using a GUI like GitKraken or GitHub Desktop then why not use that? You are here to do the job faster and make things more convenient for yourself.
Don't let ego get in the way of being more efficient. The same is the case for languages, practice what you feel makes your job easier because the core principles are the same for every one of them.
Let's face it, you as a beginner in programming should be focused on learning and building things first as a priority. Creating your portfolio or jazzing up your GitHub profile part comes later. But one thing I usually have noticed is that many developers get stressed out if they don't push their code daily and don't see that "green" square of contribution on GitHub. Guys, chillax. You're not going to lose a job opportunity because a recruiter noticed you did not push anything for 10 days. If you did, you dodged a bullet there because that company has some bad hiring practices. What good recruiters want to see is whether you have the necessary problem-solving skills or not. And if not, then provided the time whether you can learn them or not. That's it.
My point here is, if you do somehow manage to push something every day to GitHub for a whole year, it's an impressive feat but that should not be your ultimate goal. At the end of the day, it's just a vanity metric equivalent to reading 50 books in a year i.e it's nice if you can achieve it but don't worry even if you miss it a few times.
Once you reach that level of experience, you're going to notice that it's going to start happening by itself when you're working on various projects at once. I'm going to write another article in the coming weeks about how to keep your GitHub "busy" as a newbie developer. Meanwhile, here is a very interesting read I came across by Andrea Giammarchi who clearly explains why the amount of your GitHub commits mean nothing.
Too much of anything is a bad thing, but too much good whiskey is barely enough. - Mark Twain
As the title says, we all have lives apart from just sitting in front of a screen and it's important to hang out with friends, go out and do something fun, and just take a break for a while. I don't mean to say that you should break your #100DaysOfCode streak or daily 3-hour Leetcoding sessions but daily 30–60 minutes of practice also counts as actual work done. So, if you give a whole day to yourself after studying for 1 hour in the morning then don't feel guilty about it. Some days we can work 4–6 hours straight and still have enough energy left to accomplish other things but then there are days when the mind just goes BrainF***.
It is our developer's passion to learn new stuff and create amazing things out of them, be it just another hobby project or something that contributes towards helping the communities out there but when it starts to interfere with our peace of mind and we are feeling overwhelmed rather than relaxed after finishing a project or solving a problem, then that's a signal from your brain that you need to slow things down.
That was it for the "hard to swallow" pills that every new developer should take. There are always more useful tips for newbies that help a lot while learning to code but the ones mentioned above were what I observed from my experience working as a developer and also across multiple social media platforms. I noticed many people were asking these questions on a daily basis so that's why I decided to write this nifty little article. Hope you guys found it helpful. Let me know if I can make some additions or changes to this article or if I missed some other important "pills". My objective for writing these articles is always to give back to the community which has aided me tremendously to become a good programmer.