Translation of a fragment of an article by Alexander Petkov, founder of the community for helping Junior developers. “Prototypes, objects, algorithms… and all those little steps between steps, and you have no idea how to implement them… Brr, think like a programmer.” Beginning developers often feel a lot of pressure during their first job. So if you give them a simple exercise to complete the phrase "The last time I wrote code ..." Among the two answers:
Let's try to dig deeper to understand why this is happening. Over the past few years, I have met many beginner developers who:
Looking closely at these quotes, you can see something important: the internal struggle of these people does not come from the fact that they are inactive, or do not make enough effort. And not because they have a bad training program, or they lack discipline. In fact, they lack practical experience. It seemed to be an insurmountable difficulty. However, many of them were willing to give up and give up programming.
Alas, this rarely happens. Even those who claim to love writing code spend a significant amount of their time doing boring, monotonous work that doesn't always go smoothly. In the office of programmers, obscene language sounds no less often than in a car service. Honestly! There is nothing wrong with the fact that sometimes you just hate programming. Of course, the question “Maybe this is not for me at all?” very often arises in the head of a novice programmer, when he feels pressure on himself, receives heavy loads and everything does not go at all as we would like. It's okay, trust me. And, yes, programming is for you, no doubt about it. If you are reading this, then you care. And if you care, then everything will certainly work out.
Let's look at such an example. If you are experimenting with CSS, you should understand that it is for applying styles to HTML elements. You can make a button have a border, color, shadow, or animation. You can't tell what will happen when the button is clicked (you need JavaScript for that). Therefore, if you need to "revive" the picture when you click the button:
- Everything went like clockwork . I sat back, fired up my editor, and dived into the wonderful world of zeros and ones. Three hours flew by like a blink of an eye!
- It was soooo boring . I barely made myself sit down and code. Errors constantly popped up, something went wrong. Yes, I still haven't figured it all out. Those 30 minutes felt like three hours to me!
- Recently got into programming and feel completely lost.
- Stuck at the introductory stage and feel uncomfortable every time you have to code on your own, without any control from the outside.
- They were clearly talented, but failed interviews or did not receive invitations to them at all.
What is the turning point?
I had to spend a lot of time studying the needs and needs of novice programmers, since this sums up the essence of my work. It took me talking to colleagues at my company, doing research on Facebook groups, forums, Q&A sites, exploring huge Reddit threads, and even polling a few smaller communities to get a better understanding of everything. And here's what we managed to find out: "I felt like I just copied what was in the video, and that's it"; “I googled for existing examples that had already been written by someone. At the same time, I felt like a 3-year-old child solving a mathematical puzzle. It's so annoying"; "I'm just not capable of thinking like a programmer"; And here is my favorite: “This is what I learned while learning to code: 99% of the time you feel completely overwhelmed and inefficient. But as soon as you manage to get something to work as it should - that's it, this feeling - MAGIC happened!Two myths about the problems of novice programmers
I have found that two popular myths about the software development career are at the root of many of the problems that new programmers face. I would like to dispel these myths right now so that young programmers avoid unnecessary overloads.Myth #1. You have to love programming, if there is no love, it's not for you.
How often do I hear something like this from young developers! And yes, I strongly disagree with this statement. You don't have to love programming to become a developer. In fact, approximately 50% of professional developers literally hate this business at times. I state this based on personal observations. Of course, it's great if the problem can be solved easily and simply, gracefully, so to speak. It's great when you have great, clean, tested code that can solve people's problems. But alas, such achievements are not something that will take 100% of your time ... and not close. The everyday life of a programmer usually does not pass in thoughts like: “How cool I was able to apply the dependency injection pattern, elegantly decouple classes, thereby increasing the maintainability of my code. Here I am, well done!”Myth #2. There's so much I don't know, I'll never learn it!
This is another common thought (perhaps even more popular than the first myth). Many people complain about this. And I absolutely clearly understand what is behind this. Our field of activity is so wide that the deeper you delve, the more clearly you understand how much you still do not know. I also feel bad even thinking about it. This is very depressing! The good news is that you don't have to know everything. It is enough to know how to find out what you do not know. For now, make sure you have a basic understanding of what you're working with.- You must have an image and button elements (HTML);
- You can then customize the animation for a specific class (CSS);
- And you can add a class to the image on button click (JavaScript).
GO TO FULL VERSION