How do you grow as a novice programmer?

Source: Internet
Author: User
Tags tiobe index

As a developer, he is stupid and unprepared, the boss know, I will be fired ... As a novice programmer has just entered the field of work, often have this idea, this kind of thought will blow his self-confidence, especially when it comes to writing code.

Here are some key strategies for novice developers to improve their careers and prospects, and to maintain a healthy mindset during work.

Whether you're looking for your first job at the smart Talent Network, or are looking at a potential promotion channel, and to some extent you need to compete with other developers to stand out from the crowd, here are some key steps to help you succeed.

  1. Find a language you like to work with.

To be a better programmer, you need to practice programming regularly and broaden your experience with different languages and techniques, but there are so many languages that you don't know where to start, and you don't know what language is best suited to the problem style you want to solve.

If you don't have a specific language in mind and want to test it first, I would suggest you search for job sites, like stack Overflow careers, indeed and monster, to see what language is most sought after. If you want to or present position requirements, you can grasp some specific language, and then start research and experiment.

The TIOBE index can be used to see which languages are more popular

When I started my first job--a developer based on the Web research platform--I went into the learning camp: Although I had the skills to pass the programming test during the interview, the job required me to strengthen my php, JavaScript, and SQL skills. So after work and weekends, I hone my skills in those three areas so that I can perform well at work and have more opportunities for web-based development, which is a great contribution to my own web development company, which I can now own and manage.

No matter what language you happen to encounter or choose, the key is to practice often. Try different languages, encode with small examples, and use them to build small projects. Once you have found one or a series of languages that resonate with you and how to deal with them, stick to them and practice regularly.

  2. Find a problem or anything that makes you feel angry.

As I moved forward in my career, I entered a large hospice care organization as a web developer. While my job is primarily to improve and maintain our online billing and CRM systems, many medical staff often complain that patients always report that the system is running unusually slowly. It makes me angry, it makes employees more angry-because they have to fix it.

Hospice care runs almost purely on Microsoft technology, and the database is no exception to--microsoft SQL Server (MSSQL). Although it is not the most comfortable query language I feel, 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 the database administrator how the report could be improved. As time went on, the optimizations I helped to achieve led me to a promotion, and the skills I learned by fixing that problem helped me get a job with database management.

The best way to grow and ignite a learning passion with a language is to use the knowledge you have learned to help solve the problems that make you feel upset. Not only to learn the language itself, but also to learn how the language can be applied to real life problems.

  3. Publicly publish to GitHub or other public code platforms.

Even if you don't think someone will use it, like it, or even take a look at it, publish your code once you think it's up to production standards. Your project may not change the world, but it can make you stand out and allow you to be candid with others to see and criticize your work. Plus, it can add a lot to your resume.

  4. Write a blog to show what you are learning, how to learn and why.

Showing the world (and future employers) that you are learning and that you have the initiative to learn will allow you to be ahead of 95% of the industry's developers. You can also practice your writing skills, and this process also allows you to learn a lot about yourself-how you deal with problems, how to decompose and solve them. You also need to sort out how you think, how to learn and grow, and how to make progress.

  5. Active in the software development community.

Solve problems, see how others solve problems, speak your voice and opinions. I do this through the stack overflow and the programming community. This is not the most tolerant culture, because you will encounter some very sharp-eyed developers roaring how you can forget the parentheses in the pseudocode, but this will allow you to communicate with other developers, with experience of accepting honest (and sometimes brutal) criticism, and knowing how others might deal with the problem, This opens up new ideas for thinking about problems.

  6. Learn how to explain concisely to technical and non-technical people.

I've always heard people say that communication is one of the hardest and most important things to master when it comes to achieving professional success. In the early days, I thought it was nonsense-just talking on the phone, talking during a meeting, how hard it would be to send an email. Anyone with a professional communication experience will scoff at this view, and I will now. You will be amazed at the rapid and abrupt emergence of misunderstandings, the complexity of the workflow, and the delays in the project process.

To really master effective communication, you need to have a basic understanding of what you need to work in the real world (I strongly recommend Charles Petzold's code) and interact with each other. Blogging and interacting with the programming community help to improve communication skills effectively.

If you have a concise, realistic, easy-to-understand (if needed) way of communicating, and break down complex problems and solutions into understandable and small chunks, you'll be in a position to be in the field of software development. You will find that project managers, other programmers, and executive directors will compete for you to go to their team.

  Keep a healthy mind

A professional software developer's path to growth is not fraught with thorns and difficulties, so you can easily fall into the trap of unhealthy self-thinking and career choices. By understanding the professional insecurity that everyone has, you can motivate yourself better when you lose confidence in yourself.

  1. Be aware that everyone feels like a liar.

Everyone you meet in your career and in your life struggles with the cheat syndrome. Each of us feels that we are in the brink of being found to be a liar and then openly criticized for incompetence. Knowing this can help you feel fair in the spiritual realm, and it can help you realize that every person who has ever done something worth bragging about has been thinking the same way as you do now.

This mindset can help you keep it down! If you add a constructive channel approach-learning new languages, developing methods, and solving problems-your entire career will be greatly improved and you'll be able to quickly become a master of skills.

  2. Know that you will get into trouble.

There is no doubt that in programming I finally accept the fact that I am human-I also have the time to be confused, clumsy, and wrong. Yes, so do you. You'll miss the deadline, too many times click "Reply All", swipe to catch some serious errors, or easily pass an incredible bug in the application architecture.

To stay happy and healthy, you have to analyze your mistakes, learn from them, and apply what you've learned to make it better to do it next time.

  3. Think in your place.

When I was scolded by my boss for the first time, do you know how I did it? I quickly went back to my office, locked the door, and then cried. I think I'm the worst programmer ever, and I'm starting to worry about getting fired. But then the project manager came into my office and explained to me that my processes and projects have been good so far. The boss just found out that her daughter was badly ill, and the boss just blamed her for her mistake, and then got sued for divorce. All right.

When I learned about my boss's experiences, I immediately went out of my way to self-doubt and worry. If I were in that situation, I would probably have reacted the same way.

Empathy is fundamental to the success of a programmer and a person. Knowing the real needs of your customers and users, or knowing the pressure your boss is in, can help you understand why they are behaving. It also lets you know how you can provide valuable and problem-solving methods to showcase your capabilities.

As a fledgling software developer, follow my advice and you've got a road ahead of you. Writing great code and complying with regulations in the industry requires you to confront your weaknesses almost every day and ask you to constantly improve yourself.

You may be as shaken as the rest of the time, and even though we have discussed some of the steps and strategies, you will still fall into the mire of negative thoughts-a perfectly normal phenomenon.

As long as you can devote yourself, continue to improve, realize that you are only a person, can put yourself in the thinking, you will enter the industry's most respectable and most successful developers.

(Article source code Rural network-Xiao Feng translation)

How do you grow as a novice programmer?

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.