I read an article on Twitter and thought it was very well written. Some examples were very similar to the mood when I learned programming. I thought the project was nothing, so I tried to translate it and posted it.

About struggle and anxiety

When it comes to code, I’m sure a lot of people think of the “struggle”, and if you’re a new or junior developer, the “struggle” may be even more prominent. Learning to code is all about finding the right resources, understanding and integrating, getting an internship or development job, and getting started on a real project — each step can be fraught with struggle and confusion.

The good thing about struggling is that you can learn, get out of your comfort zone to experience new things, experiment with new ideas, and constantly sharpen and get better.

There are many examples of successful people in education who have struggled. Everything looks so charming and brilliant on the surface. This is especially true for junior developers because their colleagues: mid-level, experienced people are always amazed by their logical thinking and brilliant coding.

But when we walk into them and get the facts straight, we realize that everyone has difficulties or challenges that they must face, that everyone is plagued by bugs and mistakes. They’re dealing with more difficult, complex bugs than we are.

Let me share two of my favorite tweets that I’ve learned so much from. These tweets always make me happy and push me forward. Makes me feel like maybe we’re in the same boat, with the same perspective, headed for the same goal.

First tweet

Good enough is a goal that can never be reached

I read this tweet when I was struggling to learn JavaScript, which was a shocking insight to me a few months ago. After 10 months of learning, exploring, and practicing, I was finally offered a remote, paid internship.

In the process of learning, I always look for some appreciation or recognition that makes me think I would be a good programmer. I wanted to know if I was cut out for programming. And whether I can write as good logic and code as any other programmer.

Fiddling with small problems and not being able to fix them quickly often gets me frustrated. Seeing some of the biggest names in programming confess to their followers that they’re not perfect, too, has given me a new boost of confidence.

Second tweet

JavaScript You Don’t Know

Haha, that feels better. I don’t know about you, but it’s been a relief a few times.

I recently started a remote internship with a company, and I realized that my worries and insecurities would slowly improve with learning and experience. This article documents the concerns and challenges I faced in those first few weeks

I want to help newcomers and junior developers who are struggling and adapting to work understand that everyone struggles and that it is necessary to learn.

Began to practice

The night before Mozilla I was ready, happy and nervous. An unexpected thing happened: my station was without electricity for eight hours.

I can’t talk to experienced people and I can’t do my job.

Fortunately, the call came at 5 p.m., and the company held a welcome ceremony to meet other colleagues and technical staff from Mozilla.

It was fun and original, like meeting people from all over the world, talking for almost an hour, and it was great to meet my technical leaders, Armen and Dustin.

I feel different from the impression they left on me through email and text messages.

My advisor has a list of issues on Github with different complexities. The next day I started claiming issuses and working on the restoration.

From this point on, I realized that the formal fanfare had only just begun, and that the last struggle was only a prelude.

I found

It’s all about understanding the code

What I felt when I started working was very different from what I felt when I applied for the internship. I was worried about not doing well enough or losing the job.

When I got stuck on the first Issue: implementing the customization of the graphJS tooltip as needed was also too difficult.

At first I thought IT would be a quick fix, but it turned out to be a lot of time and effort. I’ve been thinking about it for two days but I can’t find a suitable solution. I asked my mentor a couple of questions and tried to give my own insight, and for a while, I didn’t think I could handle it because it was so frustrating.

Instead of pressuring me, my mentors helped build my confidence by telling me that it was normal to be confused when looking at the code for a new project. Sometimes it really takes time to understand things and code written by others, so we don’t have to be too hard on ourselves. What we need to do is get something new in the time consumption.

Since then, I’ve struggled through code — hundreds of functions and files. My tutor introduced me to the rubber duck technique. Then let me explain the code to rubber duck. This helps me understand the code and how it works internally.

“It is okay to get stuck, we all get stuck with issues and errors. With the years of experience we get stuck less, But we still get stuck. “– Armen Zambrano

Knowing where to start is half the battle

Most of the time, you know the answer, maybe the logic, and then how to apply it. But you don’t know where to start? There are a lot of code files and functions, and you are confused about where this solution will work? My mentor advised me to follow comments to understand code and functions, as well as my own method (console.log, always available)

After the first issuses, things got a little smoother, but still challenging. Again I tripped over a relatively complex issuses that took a few days to solve. But luckily, my mentors and open source people showed enough goodwill to make it too bad for us beginners to face the confusion. We need similar people who are willing to help or mentor, who provide the best resources for beginners, rather than exhausting them.

Code merging is tricky

Ha, if you are new to open source or are new to it, there are a few things I should warn you about code merging. If you don’t take care of it, you might end up spending hours looking for and fixing the problem, and then you lose the code in the merge code.

I’ve had several conflicts in my code, which I’ve deleted directly through Git commits. It’s annoying and scary. But without these things happening, I would not have learned new concepts about Git merge, commit, and conflict resolution. Thank you for helping me break through the trap of code conflict.

“Understanding your code” is also a struggle

This applies to almost everyone, and it’s funny to be baffled a few days later by the code we wrote ourselves. After solving a bug, I tried to solve a similar bug, one by one. I was like… How could I write code like that? How the fuck does this even work?

Code that works is just as confusing as code that doesn’t. As a rule of thumb, working code creates more problems for us. By looking through old code, you rethink and discover a better solution. So you don’t have to worry or fret that the code was written by yourself or someone else before, because you might have learned something new.

Opinions from mentors or Mozilla gurus

Don’t take things too seriously and focus on learning

When a mid-level developer or mentor makes corrections or comments about our work, it’s hard not to care or feel frustrated, and that can be even harder to balance on open source projects or public platforms.

But I suggest focusing on specific levels and embracing a learning attitude. Only with an open mind will you learn new concepts and good coding practices. Let go of the ego and focus on learning from experience or other people’s knowledge.

Absorb as much information as you can and ask questions about new things. Keep an open and absorbing attitude to information and be eager to learn. Don’t be afraid to try something new or unfamiliar outside your comfort zone. Sometimes we get so used to the way we write code that we don’t pay attention to good practices or design patterns. Try to learn as much as you can. That was the advice of the first tweet.

Do your homework before you ask questions

Asking questions is a good idea, especially when you’re stuck. It’s always a good idea to do your homework and try hard to come up with valid questions or possible answers.

Then you can get feedback from a mentor or mid-level engineer. It will help you find your own way of doing things, and your mentor will feel that you have your own ideas. People on open source projects or experienced people will be happy and willing to help you if you ask a valid question.

Don’t compare yourself to others

Don’t constantly compare yourself to others, which can affect your performance and cause you to lose confidence. Remember, any manager starts as a beginner. They understand the pain and the challenge. Rome wasn’t built in a day — it’s a process everyone has to cross. Keep a posture of effort until your time comes.

Remember, every newbie is in your position, you are not the exception. What we learn in school is very different from what we learn in real life. We must keep learning to be competent in developing a field. Every newbie has been in your shoes and feels your pain. You just have to focus on having a learning attitude and keep learning and growing.


After this article, as close as possible to the original text, in line with the necessity of smooth article, some deletion, the structure has also made some adjustments, more suitable for readers to read.