At the very beginning of my career, I did not know many important things that are extremely useful for a novice developer. Looking back, I can say that many of my expectations were not met, they did not closely correspond to reality. In this article I will talk about 20 things that you should know at the start of a web developer career. The article will help you formulate the right expectations.
You don't need a diploma
Yes, in order to become a developer, you do not need a diploma. Most of the information can be found on the Internet, especially the basics. You can learn how to program yourself using the Internet.
Googling is a real skill
Since you are just starting out, you still do not have the knowledge necessary to solve some problems. With this, everything is OK, you can cope with the help of search engines. Knowing what and how to look for is an important skill that will save you a ton of time.
Recommended free intensive programming for beginners:
Application Development: Android vs iOS - August 22-24. Intensive allows you to immerse yourself in application development for the most popular mobile OSs for three days. The task is to create a voice assistant on Android and develop a to-do list for iOS. Plus familiarity with the capabilities of cross-platform applications .
You cannot learn everything
You will have to learn a lot. Just see how many popular JavaScript frameworks exist: React, Vue, and Angular. You cannot study them all thoroughly. But this is not required. You need to focus on the framework that you like best, or the one your company works with.
Writing simple code is very difficult
Many relatively inexperienced developers write very complex code. This is such a way to hang out, to show how well they program. Do not do so. Write the simplest code possible.
You won’t have time for rigorous testing.
From my own experience, I know that developers are still idlers when it comes to verifying their work. Most programmers will agree that testing is not the most interesting part of their work. But if you plan to do serious projects, do not forget about it.
And we also have deadlines - almost all the time. Therefore, testing often takes less time than required - just to have time to deliver the work on time. Everyone understands that this harms the end result, but there is no way out.
You will always be wrong in estimating time
It doesn't matter how you do it. The problem is that theory never coincides with practice. You reason like this: I’ll do this little thing in an hour. But then it turns out that you need to restructure most of the code to make this small function work. As a result, the initial assessment is fundamentally wrong.
You will be ashamed to look at your old code
When you just start programming, you just want to do something. If the code works, this is already a joy. It seems to an inexperienced programmer that working code and high-quality code are one and the same. But when you already become an experienced developer and take a look at the code that you wrote at the very beginning, you will be amazed: “Is it really that I wrote all this hash ?!”. Actually, all that can be done in this situation is to laugh and clean the chaos that you have created.
You will spend a lot of time catching bugs
Debugging is part of your job. Writing code without bugs is completely impossible, especially if you have little experience. The problem for a novice developer is that he simply does not know where to look when debugging. Sometimes it’s not even clear what to look for. And the worst part is that you create these bugs yourself.
Internet Explorer - the worst browser ever created
Internet Explorer, also called Internet Exploder, will make you regret the CSS you just wrote. In IE, even basic things are buggy. At some point, you will start asking yourself why there are so many browsers. Many companies solve the problem by supporting only IE 11 and newer versions - this really helps.
Operation stops when servers crash
One day it will happen: one of your servers will crash. If you did not work on the local machine, you cannot do anything. And no one can. Well then, it's time for a coffee break.
You will pretend to understand everything that your colleagues are talking about
At least once (most likely more), you will talk with a development colleague who will enthusiastically talk about a new technique or tool. The conversation ends with the fact that you agree with all the statements of the interlocutor. But the truth is that you simply did not understand most of his speech.
You do not need to remember everything in the world
Programming is the application of knowledge in practice. It makes no sense to remember everything - you can find the missing information on the Internet. The main thing is to know where to look. Memorization will come later, while working on projects, along with experience.
You need to learn how to solve problems effectively
And do it creatively. Programming is a permanent solution to problems, and one and the other can be solved in several ways. Creativity helps to do this quickly and efficiently.
You will read a lot
Reading will take you a lot of time. You will have to read about methods, best practices, tools, and many other industry innovations. Do not forget about books. Reading is a great way to gain knowledge and keep up with life.
Adaptability can be a headache
Adapting the site to all devices is very difficult. There are a huge number of devices and browsers, so there is always a combination of "device + browser" in which the site will look bad.
Debugging experience saves time
As mentioned above, debugging can be a very time-consuming task, especially if you do not know where to look and what to look for. Knowing how your own code works helps you debug quickly. You can upgrade your skill in debugging by understanding how debugging tools work in different browsers.
You will look for ready-made solutions, but they will not work for you
If you can’t find the solutions yourself, google it. In most cases, forums like StackOverflow will find working solutions. But in most cases they can’t be simply copied - they won’t work like that. This is where problem solving skills and creativity come in handy.
A good IDE will make life easier.
Before you start coding, it's worth spending a little time and finding the right IDE. There are many good ones, both paid and free. But you need one that fits perfectly. The IDE must have syntax highlighting as well as error highlighting. Most IDEs have plugins that help you customize your IDE.
The terminal will make work more efficient
If you’re used to using the GUI, try the command line. This is a powerful tool that allows you to solve many problems faster than graphical tools. You should feel confident working with the command line.
Do not reinvent the wheel
When you are developing some kind of standard feature, the first thing to do is look for a solution on GitHub. If the task is typical, then most likely it has already been solved. Perhaps there is already a stable and popular library with a ready-made solution. View active projects with documentation. If you want to add new functions to someone else’s “wheel” or simply rewrite it, you can simply fork the project or create a merge request.