good day
I offer to the community a translation of the article “10 tips to go from a beginner to an intermediate developer”. Its author, Justin James, is one of the employees of Levit & James, a position that includes programming, network management and system administration. He has been constantly blogging on
TechRepublic since 2005. Writes articles for MSDN Magazine.
Some tips for novice developers who want to take their careers to the next level.
')
# 1: Learn another language.
No matter what language you learn, learning another language (no matter how much you already know) will make you an even better developer. It would be better to learn a language that is significantly different than what you are currently using. In other words, if you are a C # developer, learning VB.NET or Java will not help you as much as Ruby or Groovy helps.
When I say “Learn another language,” I mean that you should really learn it. The study usually consists of three areas of knowledge: syntax, built-in operators and libraries, and "how to use it." With the first two everything is easy; I think that an experienced developer can understand the syntax of the language (so that he can maintain the code) for a period of 30 minutes to several hours depending on the language. Operators and libraries are simply a matter of accumulating knowledge and a desire to refer to reference material until the necessary information is remembered. But the third point - “how to use it” - can only be studied in the months of working with the language. And that's where all the magic happens. I advise you to make a project that is well suited for the language being studied and this project should be done in the style of this language.
Learn another language for real, and I promise that your abilities as a developer will begin to unfold even more.
# 2: Master modern search technology, tactics and strategy.
More and more, the expression “good developer” is beginning to mean not only your skills, but also your ability to search for information. Modern languages and development concepts are becoming too cumbersome to remember all the details. As a result, your ability to do work often depends on your ability to find the right information. Unfortunately, to make the search for the necessary, high-quality information, you need to do a little more than just go to Habrahabr for an answer or enter a few words in your favorite search engine.
The words “technology,” “tactics,” and “strategy” may sound like synonyms, but they are not. The technologies that you need to learn are modern search engines on your favorite engine; you need to learn things like logical operators, as well as filtering results (negative keywords, domain constraints, etc.), what order word order plays, etc. Those. in essence, RTFM.
You should learn the tactics: how to start any particular search and know exactly what you are looking for. Everything is simple with errors - you just have to look for the error code. But the choice of keywords to search for - the task is much more difficult.
Regarding the strategy, you need to know which search engines to use (hint: general purpose search engines are not always the right solution), which sites to visit _ how to use common search engines. And also what forums to contact to get help.
# 3: Help others
Teaching another person is one of the best ways to learn something yourself. It is quite clear that you will think that you will not be able to teach anything really to others, since they themselves are relatively new to software development. This is nonsense. Almost everything you know you have learned from other people; so try to be such a "different person", thanks to which someone else can learn something. Spend a few minutes a day trying to answer questions on TechRepublic or another similar site. In addition, you can learn a lot by reading the answers of other participants.
# 4: Be patient and keep practicing
The study shows that the process of becoming an expert takes about ten years or from ten to twenty thousand hours of practice. This is a lot of time. Moreover, becoming an expert does not always mean doing the same job for 10 years; Often this means performing a wide range of tasks in a particular area for about 10 years.
It takes a lot of time and energy to become an expert. Working as a developer for several years is not enough. Want to become a
senior developer (senior developer) in the first years after 30 years? Then either start your training earlier, or you will have to be ready and have the desire to work hard, read and practice at your leisure. I started programming in high school, and I devoted a lot of extracurricular hours to establishing contacts with the IT industry, teaching new skills, etc. As a result, I achieved intermediate (intermediate) and senior (senior) developers in my career much earlier than most of my peers.
# 5: Leave your dogmas at the door
The time has come for brutal honesty: novice developers probably don’t know enough to argue that there is one best way to solve the problem. Respecting the opinion of a friend, or an authority figure is good, but until you have become more experienced, do not give out their opinions as your own. The fact is that you still do not know enough to understand these things on your own, how can you then determine which expert is right? I know it sounds harsh, but please trust me; I have met quite a few promising developers who themselves have obstructed their careers or growth for years, because they clung to someone's stupid advice or followed some "experts" who really didn't understand the things they talked about. An excellent
example is the abuse of object-oriented architecture. Many novice programmers will read some information about OO, and once - the class diagrams of their simple applications began to look like the Eiffel Tower.
# 6: Study carefully a few advanced ideas.
Becoming an intermediate developer, it is important to have a few concepts with which you work well. For me, multithreading and concurrency, regular expressions and how to use dynamic languages (the last two fade away as I move away from Perl). How did this happen? I mastered multithreading and parallel processing because I read many articles on this topic and tried to figure it out myself; I continued to write applications that used these technologies. I had a job that had to use a huge amount of Perl regular expressions. Also, I ended up writing my own e-commerce engine that worked on Template Processing and had an embedded database system. Then, I spent about two years working on it.
Find something that truly captures you. It could be an image job, or maybe a database design or whatever. Even if you are an entry-level developer in everything, try to become an expert in at least one area. And it will quite quickly help you to advance to the intermediate level. And being there - you will find yourself halfway to the expert.
# 7: Learn the fundamental theories and principles in your field.
One thing is to write “Hello World”, but another thing is done - to understand how these letters appear on the screen. After studying the "basics" of the area in which you are busy, you will feel much better and more confident in the area itself. Why? Because you will understand why things work the way they work. What could be the problem, when something is not working, etc. You will become better at learning what happens at a lower level than the one at which you work. If you are a web developer, read the
HTML and
HTTP RFC specification. If you are using a code generator, look at the code that it is generating. If you use database tools, familiarize yourself with the underlying SQL that is generated by these tools. You can continue for a long time.
# 8: Look at the code for senior developers.
At your work, review the code that the senior (senior) developers write and ask how and why it was done this way and not otherwise. If you can, look into the code for open source projects. Even if other developers don't have good code writing habits, you can learn a lot about how the code is written. But be careful not to pick up bad habits. The point is not to blindly imitate what other developers are doing, but to understand the essence of things, understand what works and how, know what it makes sense to do, and try to imitate exactly that.
# 9: Learn good style.
Nothing gives off so inexperienced a coder as stupid variable names, lack of indentation (code formatting) and other signs of untidiness. Unfortunately, very often, a developer learns to program and leaves aside less interesting details, such as code formatting. Although this habit does not make better either your code or even yourself as a developer, it to some extent leads to the fact that you will not be perceived as an absolute beginner. Even if someone is a senior developer and writes code in which variables are named after 97 types to which they are brought or their functions are called “doSomething ()”, such a programmer looks like a person who does not know what he is doing. Its code becomes difficult to maintain in the future.
# 10: Have Fun
Want to get stuck on your treadmill career? Then hate your job. All that is needed to move up in this business is not only the persistent desire to bring home an ever-increasing salary, but also the ability to
enjoy your work. If you do not like your job and you are a junior (junior) developer, why do you think that being an average or senior developer is better? Change jobs. On the contrary, if you like your craft - it's just great! I guarantee that you can become an even better developer if you continue in the same spirit.
Original article
http://blogs.techrepublic.com.com/programming-and-development/?p=1139&tag=rbxccnbtr1