JavaRush /Java Blog /Random EN /Why do many developers give up before they even really st...

Why do many developers give up before they even really start?

Published in the Random EN group
Translation of a fragment of an article by Alexander Petkov, founder of the Junior Developer Help Community. “Prototypes, objects, algorithms... and all these little steps in between steps and you have no idea how to implement them... Brr, think like a programmer.” Why do many developers give up before they even really start - 1New developers often feel a lot of pressure during their first job. Therefore, if you give them a simple exercise to complete the phrase “The last time I wrote code...” Among the two answer options:
  • Everything went like clockwork . I sat back, launched my editor and dived into the wonderful world of zeros and ones. Three hours flew by in a flash!

  • It was soooo boring . I could barely bring myself to 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!
They most often choose the second one. And all because everyone sometimes finds themselves in the situation described in the second option. Even those who have been working as a programmer for 5, 8, 10 years. And in general, the first option sounds like some kind of strange idyllic fairy tale. So, since we have already decided to talk about programming satiety, it is important to note that this happens to all developers, and very often. And, of course, we cannot stand this.
Why do many developers give up before they even really start - 2
Let's try to dig deeper to figure out why this happens. Over the past few years, I've met many aspiring developers who:
  1. I recently started programming and feel completely lost.
  2. Stuck in the introductory stage and feel discomfort every time you have to code on your own, without any outside supervision.
  3. They were obviously talented, but they 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 new programmers, because this sums up what I do in a nutshell. To better understand everything, I needed to talk to colleagues in my company, conduct research on Facebook groups, forums, Q&A sites, study huge Reddit threads, and even survey several small communities. And this is what we found out: “I felt like I just copied what was in the video and that’s it”; “I was googling for existing examples that had already been written by someone. At the same time, I felt like a 3-year-old child solving a math puzzle. This is so annoying"; “I’m simply not able to think like a programmer”; Here’s my favorite: “Here’s what I learned while learning to program: 99% of the time you feel completely confused and ineffective. But as soon as you manage to make something work as it should - that’s it, that feeling - MAGIC has happened!”
Why do many developers give up before they even really start - 3
If you look closely at these quotes, you will notice something important: the internal struggle of these people does not come from the fact that they are inactive or do not make enough effort. It's not because they have a bad training program or lack discipline. In fact, they lack practical experience. It would seem an surmountable difficulty. However, many of them were ready to give up and give up programming.

Two myths about the problems of novice programmers

I've discovered that at the root of many of the problems new programmers face are two popular myths about being a software developer. I'd like to dispel these myths right now so that young programmers can avoid unnecessary overload.

Myth #1. You must love programming, if you don’t love it, 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 it at times. I say this based on personal observations. Of course, it’s great if the problem can be solved easily and simply, elegantly, 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 what will occupy 100% of your time... not even close. A programmer’s everyday life is usually filled with thoughts like: “How great it was that I was able to apply the dependency injection pattern, gracefully decouple classes, thereby increasing the supportability of my code. I’m great!”
Why do many developers give up before they even really start - 4
Alas, this rarely happens. Even those who claim to love writing code spend a significant portion of their time doing boring, monotonous work that doesn't always go smoothly. In the programmers' office, obscene language is heard no less often than in a car service center. Honestly! There's nothing wrong with sometimes you just hate programming. Of course, the question “Maybe this is not for me at all?” very often arises in the mind of a novice programmer when he feels pressure on himself, receives heavy workloads and everything goes completely wrong as we would like. This is normal, believe me. And, yes, programming is for you, no doubt about it. If you're reading this, it means you care. And if you care, then everything will certainly work out.

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 realize how much you still don’t know. I also feel bad even thinking about it. This is very depressing! The good news is that you don't need to know everything. It's enough to know how to find out what you don't know. For now, make sure you have the basic principles of what you're working with.
Why do many developers give up before they even really start - 5
Let's look at this example. If you're experimenting with CSS, you should understand that it is designed to apply styles to HTML elements. You can make a button that has borders, color, shadow or animation. You can't tell what will happen when you click a button (you need JavaScript for that). Therefore, if you need to “revive” the picture when you press a button:
  1. You must have an image and button elements (HTML);
  2. You can then customize the animation for a specific class (CSS);
  3. And you can add a class to the image when the button is clicked (JavaScript).
You read this in the instructions once. After a week, you need to add a shadow to the image when submitting the form. You already know what to look for. You have a general understanding of CSS, HTML, JavaScript, and an understanding of what part of the functionality they are responsible for. All that remains is to Google the necessary words. In this case, “css add shadow” and “javascript add form”. Do you see what we did? So don't give up too early, and develop the right habits for effective studying. But we’ll talk about them next time.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION