Home > Article > Backend Development > How should a novice programmer grow?
Quote
"Oh my God. I'm stupid and unprepared compared to other developers. The boss will know how incompetent I am and I'm going to be fired."
This kind of thinking is very common when we first enter the work field as a software developer. I am no exception. This type of thinking can lead to people feeling inferior to other developers, feeling like they're just faking their skills, and feeling like an all-around fool when it comes to writing code.
After just a few short months, the excitement of getting my first real programming job - improving and maintaining a web-based research platform - finally turned into absolute fear, and those negative Negative thoughts kept pouring into my mind. Even as I moved on to larger, faster-paced organizations, and then finally started my own business, these ideas continued to eat away at me.
I always feel that every line of code I write is so cumbersome and inefficient. If I show it to any other talented developer, I will definitely be criticized. I felt stupid and it was only a matter of time before they found out.
Sound familiar? If you think like me, and most software developers have this kind of thinking, you will most likely be in panic all day long.
Here are some key strategies I’ve found to help you advance yourself and your career prospects as a budding developer, and maintain a healthy mindset as you advance your career. mentality.
Improve yourself and your career prospects as a budding developer
Whether you are looking for your first job or eyeing a potential promotion, at some point you will Need to compete with other developers. To make sure you stand out, here are some key steps to help you succeed.
1. Find a language you like to use at work.
To become a better programmer, you need to practice programming regularly and broaden your experience with different languages and technologies, but there are so many languages that many times you don’t know where to start. I don’t know which language to choose that best suits the style of problem you want to solve.
If you haven’t decided on a specific language yet and want to test it out first, I would recommend searching job sites such as Stack Overflow Careers, Indeed, and Monster to see which languages are the most popular. If you want to or if your current position requires it, you can get a firm grasp on some specific languages and start researching and experimenting.
When I started my first job - a developer of a web-based research platform - I fell into the learning camp: although I had enough Skills were tested in programming during the interview, but this job required me to strengthen my PHP, JavaScript, and SQL skills. So after get off work and on weekends, I will hone my skills in those three areas so that I can perform well at work and have more opportunities based on web development, which are very important for me to own and manage my own business now. Web development companies have a great contribution.
No matter what language you happen to encounter or choose, the key is to practice it regularly. Try different languages, code through some small examples, and then build small projects out of them. Once you find a language or set of methods that resonate with you and how to approach a problem, stick with it and practice it regularly and regularly.
2. Find a problem or anything that makes you angry.
As my career moved forward, I joined a large hospice organization as a web developer. Although my job focuses on improving and maintaining our online billing and CRM systems, many medical staff often complain: patients always report that the system is running extremely slowly. It makes me angry, and it makes the employees even more angry - having to fix it.
Hospice Care runs almost purely on Microsoft technology, and the database is no exception - Microsoft SQL Server (MSSQL). Although it's not the query language I feel most comfortable with, I still study, read, and practice building small MSSQL projects at home. Through my efforts, I was gradually able to build some sample reports to show database administrators how reporting could be improved. Over time, the optimizations I helped implement led to a promotion, and the skills I learned by fixing that problem helped me land a database administration job.
The best way to grow with a language and ignite your passion for learning is to use what you learn to help solve problems that stump you. Not only learn the language itself, but also learn how the language can be applied to real-life problems.
3. Publish to Github or other public code platforms.
Even if you don't think anyone will use it, like it, or even take a look at it, still release your code once you feel it is up to production standards. Your project may not change the world, but it will set you apart and allow you to feel comfortable with others looking at and criticizing your work. Plus, it can make a great addition to your resume.
4. Write a blog to show what you are learning, how to learn it and why.
Showing the world (and future employers) that you are learning and that you have an active willingness to learn will put you ahead of more than 95% of developers in the same industry. You can also practice your writing skills, and the process can also teach you a lot about yourself—how you approach problems, how you break them down and solve them. You also need to organize how you usually think, how you learn and grow, and how you make progress.
5. Be active in the software development community.
Solve problems, see how others solve problems, and express your own voices and opinions. I do this through Stack Overflow and programming communities. It's not the most tolerant culture, as you'll get some very sharp-eyed developers yelling at you for forgetting that parenthesis in your pseudocode, but it allows you to interact with other developers and be open to honesty ( The experience of sometimes brutal) criticism and knowing how others might approach a problem opens up new ways of thinking about the problem.
6. Learn how to explain concisely to technical and non-technical people.
I always hear people say that communication is one of the hardest and most important things to master when it comes to achieving professional success. Early on, I thought it was nonsense - how hard could it be to just talk to people on the phone, talk during meetings, send emails? Anyone with professional communication experience would scoff at this notion, and I still do. You'll be surprised how quickly misunderstandings can crop up, how complex workflows can be, and how project progress can drag on.
To truly master effective communication, you need to have a basic understanding of what you actually need to work on (I highly recommend Charles Petzold's "Code") and interact with each other. Blogging and interacting with the programming community can help improve communication skills effectively.
If you can communicate concisely, matter-of-factly, and understandably (if necessary) and break down complex problems and solutions into understandable and small chunks, then you can excel in software The development field is invincible. You'll find project managers, other programmers, and executives etc. all vying for you to be on their team.
Maintain a healthy mentality
The growth path of a professional software developer is not full of thorns and difficulties, so it is easy for you to fall into the trap of unhealthy self-thinking and career choices. By understanding the professional insecurities that everyone has, you can better motivate yourself when you lose confidence in yourself.
1. Know that everyone feels like a liar.
Everyone you meet in your career and life struggles with impostor syndrome. Each of us has felt like we were on the verge of being discovered as a fraud and then publicly criticized for our incompetence. Understanding this can help you feel fair in the spiritual realm, and it can also help you realize that everyone who has done anything worth bragging about once thought just like you do now.
This mentality can help you persevere! When coupled with a constructive channel approach - learning new languages, development methods, and problem-solving methods - your entire career will be greatly enhanced and can quickly make you a master of your craft.
2. Know you’re going to get into trouble.
There is no doubt that it was in programming that I finally accepted the fact that I am human - I also get confused, clumsy, and make frequent mistakes. Yes, so do you. You'll miss deadlines, hit "reply all" too many times, swipe to catch some serious errors, or let an incredible bug slip through your app's architecture too easily.
If you want to stay happy and healthy, you have to allow yourself to analyze your mistakes, learn from them, and apply what you learn to do better next time.
3. Put yourself in someone’s shoes.
The first time I was scolded by my boss, do you know what I did? I quickly went back to my office, locked the door, and cried. I felt like I was the worst programmer ever and started to worry that I was going to get fired. But then the project manager came into my office and explained to me that my process and project were good so far. The boss had just discovered that her daughter was seriously ill, her boss had just accused her of her fault, and then to add insult to injury, she was sued for divorce. All right.
When I learned about my boss’s experiences, my self-doubt and worry about myself immediately disappeared. If I were in that situation, I would most likely react the same way.
Empathy is the foundation for success as a programmer and as a person. Understanding the real needs of your customers and users, or knowing the pressures your boss is under, can help you understand why they behave the way they do. It also lets you know how you can provide valuable and problem-solving solutions and demonstrate your capabilities.
As a software developer who has just started, follow my suggestions and you will already have a broad road ahead of you. Writing great code and adhering to industry regulations requires you to confront your weaknesses on an almost daily basis and requires you to constantly improve yourself.
You may, like everyone else, waver from time to time, and despite some of the steps and strategies we’ve discussed, you’ll still get bogged down in negative thoughts—and that’s completely normal.
As long as you can devote yourself wholeheartedly, continue to improve, realize that you are just an individual, and be able to put yourself in others' shoes, you will become one of the most respectable and accomplished developers in the industry.
Here is a W3C programmer growth route:
Step one:
Study html, css, html5, css3, javascript, jquery in detail.
Learn every part After finishing, find a text tool to recall and write down the knowledge learned. This kind of learning effect is good.
Proceed step by step, first learn and remember the knowledge structure and the common knowledge involved in each structure. You can refer to the detailed knowledge of each structure when using it, and you will gradually become familiar with it through use.
Second step:
Looking for product-level application learning of knowledge points
After learning the knowledge structure and common knowledge of js, go to the navigation bar, drop-down list, slideshow and other js special effects source code to study and Imitate myself and write. On the one hand, you have a better understanding of the use of js. On the other hand, you have learned how to make these product-level special effects. Crucially, you have also accumulated modular source codes that can be used directly in your work, saving brainpower and time.
Step Three:
Improve code quality and learn the language more deeply
Choose to read two books on code optimization and performance optimization methods. I chose js language essence and proficiency in js.
Step 4:
Study open source framework
Learn the experience of not writing application-level products but general-purpose tool products. The consideration should not be how big the market can be for the product, but how easy to use the tool is, how good the performance is, etc. While researching, model writing similar frameworks. It is accumulation, and it is also the experience of learning to write frameworks.
5. Try to write your own framework
Abstract the framework from various businesses and write it.