10 things you need to do from primary to intermediate

Source: Internet
Author: User
Keywords Programmer Workplace motivational
Tags advanced beginner beginning blog blog post blogs change code

Justin James has published a blog post "Tips for advancing from a beginner to a intermediate developer", and we share how to complete the programmer from the beginning to the intermediate transformation, Here translated a turn, hope to help you. In a message exchanged with TechRepublic members, he mentions the following two categories of programmer-oriented blogs, articles, and magazines: For Beginners ("Hello World" tutorials) and for Expert Class (MSDN Magazine). This view is very good, for programmers how to jump from the primary to intermediate information is very few. Here are 10 things you need to do to achieve this change.

1. Learning another language it doesn't matter what language you are studying, but learning another language (regardless of how many languages you already know) will make you a better programmer. It's better to learn a language that is different from the language you use everyday. For example, if you are a C # programmer, learning vb.net or Java will not help you learn Ruby or groovy. I say "learn another language" means to really learn it. Learning a language includes three areas of knowledge: syntax, built-in operators and libraries, and how to use them. Front two simple; I think an experienced programmer, depending on the language, can have enough grammar to maintain code in half an hour to a few hours. Operators and libraries are just the process of accumulation of knowledge, when you want to know what to understand, and then consult the reference material is not too late. There is only a third, "How to use it"-it takes you months to deal with the language, and the real miracle happens. I suggest using the style of the language to make a project that fits the language. After really learning another language, I'm sure your programmer's level will go by leaps and bounds.

2. Learning advanced search techniques, tools, and strategies as a good programmer, it is more and more obvious that you are looking for information, not just a question of skill. For most people, simply entering the "Modern language and development framework" is a general discussion, not to be remembered much. As a result, your ability to do the job usually depends on your retrieval ability. Unfortunately, knowing how to find accurate and high quality information is not just a matter of running to TechRepublic to find the answer, or typing a few words on your chosen search engine. "Technology (Techniques)", "means (tactics)" and "strategy (strategies)" seem to be one thing, in fact not. You need to learn the technology is to master your favorite search engine of the Advanced search system, you need to understand such as Boolean operators, how to filter the results (such as "Non" keywords, domain constraints, etc.), the keyword word order play what role, and so on. In a word, RTFM (read the fucking Manual, reading those fucking manuals). You should learn these tools, such as how to approach a specific search, and what you actually want to check out. It's easy to check for bugs-just find the wrong code-but many search keywords are much more difficult to select. As for strategy, you need to learn something, including what kind of search engine should be used (hint: Ordinary search engine is not necessarily the best choice), the use of ordinary search engines should visit which site, or even to which forum to ask for help, and so on.

3. Helping others to teach others is always one of the best ways to learn everything. In contrast, because you are a novice in the field of development, it is understandable that you have nothing to teach to others. But it doesn't make any sense. Remember that what you learn is what you learn from others or elsewhere, so try it and become someone else to ask. Try to spend a little time every day trying to answer techrepublic questions and other sites. You can also learn a lot from reading other members ' answers.

4. Patience and regular practice studies have shown that it takes 10 years or 10,000-20,000 hours of deliberate practice to become an "expert". Really long. Also, becoming an expert is not the same as doing the same task in the 10; It takes a lot of time and effort to become an "expert"; Want to be a senior software development engineer around age 30? Either get an early education/training, or you'll have to do a lot of work, reading and practising in your spare time. I started programming in high school and sacrificed a lot of rest time to track industry development, learn new skills, and so on. As a result, I had more time to get intermediate and senior programmers than most of my colleagues, and over time they turned into a lot of money.

5. It's time to be honest about dogma: maybe a beginner programmer doesn't know enough to say that there is one best way to do something. It is good to respect a friend or authority, but until you have more experience, do not make their views your own. Simply, if you don't know enough to find these things independently, how do you think you know which "expert" is right? It's a bit harsh, but believe me, because of some stupid advice, or following some so-called expert who doesn't know what he's talking about, My career has been delayed for a few years, so the hair-head programmer, I see too much. A good example of this is the misuse of object-oriented structures. For example, many beginners read about object-oriented information, and suddenly their simple application class diagram looks like the Eiffel Tower.

6. Learn a little more advanced ideas to become a mid-level programmer, a large part of the code to reflect some of the good ideas. As far as I'm concerned, it's multithreading/parallelism, regular expressions, and how to change the dynamic language (the latter two start to degenerate as I drift away from Perl). How did this happen? Multithreading and parallel processing is because I read the relevant article, I think it looks interesting, and then I figure it out, then I always use these techniques to write applications. I did a job that was written in Perl and used a lot of regular expressions. I also used a process engine template and built-in database system to write my own e-commerce engine; I spent almost 2 years on it. Find something that really fascinates you. Maybe it's image processing, database design, etc. Even if you are an entry-level programmer, try to become an expert in one's own area of concern. This will allow you to get to the intermediate level fairly quickly, and once you reach that level, your expert path is halfway through.

7. Learning the basic theories in your field and writing "Hello World" is different from understanding how those words are displayed on the screen. You will become more proficient by studying the "basic/underlying work (groundwork)" that supports the work you are doing. Why? Because you understand why things work this way, and when things go wrong, you know where the problem is, and so on. By mastering the underlying mechanism of your work, you become better. If you are a Web programmer, read the HTTP RFC and HTML specification. If you use a code generator, take a good look at the code it generates, and if you use database Tools, look at the underlying SQL statements it generates.

8. Look at the code of the advanced programmer to see the code written by the senior programmer at work, and then ask how things have been done in some particular way, and why? If possible, look at open source projects. Even if other programmers don't have the best programming habits, you'll learn a lot of programming experience. Of course, be careful not to learn bad habits. I mean not to apply the same things to others, you have to be able to understand what can be done and what is reasonable, and then imitate others.

9. Learn good habits stupid variable names, bad indentation habits, and other signs of clutter are the best marks for an inexperienced programmer. When a programmer learns how to program, it is often not imparted to less interesting details like code formatting. Even though learning these things does not make your code better, and does not make you a better programmer, it also ensures that you are not considered an entry-level programmer by your peers. Even if someone is a senior programmer, if his variable is named after his 97 cats, or if the function is called "dosomething", they don't look like people who know what they're doing. It also makes the code more difficult to maintain in the process.

10. Want to have fun and be obsessed with tedious work? To upgrade to a mid-level programmer is not just to get a growing paycheck, but to really enjoy the job. If you don't like your job and you're a beginner programmer, how do you think that being a mid-level or advanced programmer will improve? Change your job or change your career. Conversely, if you love what you're doing, that's good! As long as you stick to it, I promise you will be a better programmer. (Justin James)

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.