10 steps to become a senior programmer

Source: Internet
Author: User
10 steps to become a senior programmer

What

The software engineer's career has to go through the following stages: elementary and intermediate, and finally Senior. This article mainly describes how to use 10 steps to help you become a senior software programmer.

Why

Get more compensation! Because your salary will increase as your level increases

Improve your career. After becoming a senior software engineer, you can move toward the positions of architect, team leader, CTO, etc.

We have gone through even greater challenges. As you grow, your influence will also increase.

How

Software engineering is very difficult. This industry is constantly changing, so you must keep up with it. You must constantly invest time and energy, because you need to learn more things than you can absorb. Many novice engineers do not even realize what they want to learn and how much effort they have to make if they want to climb the peak of the industry. But don't worry. next I will point out a "Bright Path" that will help you become a senior software engineer.

Step 0: Select your path and stick to it!

To do one thing, you must do it well. -- Doug McIlroy Unix Philosophy

I really cannot emphasize this point any more. It is very important to select the professional and technical stack that you will work. Persevere, don't be distracted. For how to do this, see the following:

Select a major. That is what you want to do. For example, Web development, mobile development, and DevOps.

Select a professional practical technology. For example, if you choose Web development, you need to consider Ruby on Rails, Python, Django, JavaScript and MEAN among others. If you choose mobile development, you need to make a choice between iOS and Android.

Stick to it until you master this technology.

I don't mean you don't have to be familiar with anything except your major. That second-to-second software engineer is usually very familiar with other programming languages and technologies. of course, first of all, they have a very clear understanding of their main expertise. After you have determined your Major, what you need to do next is to learn, read all relevant books, and practice various necessary skills. This may take many years. But do not be discouraged. one by one, quantitative changes can achieve qualitative changes. I recommend that you use Ruby on Rails for web development and iOS for mobile development. This is a valuable experience that I have told you as a person. However, I would like to add that each person may have different tastes and my experience may not be suitable for you. you can choose other technologies, but in this case, the books you want to read may be different from my recommendations.

Step 1: lay the foundation

The Pragmatic Programmer is a good starting point for us to master The software. This book summarizes high-level practical exploration. This is irrelevant to the language/technology we are using. No matter which technology stack you choose, the main principle is the same.

Step 2: Master your programming language

What programming language do you need to face every day depends on the technology you choose today. However, there are always primary and secondary programming languages. For example, Ruby on Rails developers mainly use Ruby, while AngularJS developers mostly use JavaScript. Identifying and mastering programming languages is critical to your career development. Because you will use it every day in the future! We recommend that you read the relevant books first.

The Swift Programming Language is for Ruby developers and Programming Ruby for iOS developers.

Step 3: Learning Framework

Select one and study hard:

For Rails developers-Rails Tutorial by Michael Hartl

For iOS developers-iOS programming: The Big NerdRanch Guide

Step 4: Master the text editor/IDE

Select another one, and then persistently master the tool. If you choose VIM, you need to become its master and let it go east.

Step 5: use the version control system

I suggest using Git. The following are my favorite resources: Pro git-a free online ebook, which describes various aspects of git in detail.

Step 6: Test-driven development

Add TDD to your technology stack. Develop the habit of TDD every day. High-quality code comes from good testing.

For Ruby on Rails developers -- Rails TestPrescriptions

For iOS developers -- Test Driven iOS Development

Step 7: build the habit of restructuring

As you add more features, the code library will become more and more complex. To keep the code library manageable, you need to refactor it. If you do not refactor, you will soon be in a dilemma-even minor changes are difficult, bugs cannot be avoided, and no one is willing to deal with this messy code library. Refactoring makes your work easier. It's not a matter of time. hurry up and get into the habit of restructuring. The following book will teach you how to do this: Refactoring: Improving the Design of Existing Code by Martin Fowler

Step 8: Learn the software architecture

Based on the stack you selected above, learn the relevant architecture. I recommend the book Patterns of your iseapplication Architecture written by Martin Fowler.

Step 9: display the power of the command line

The first thought of getting started with the command line is daunting. However, once you learn how to use it, it will greatly improve the efficiency of running some basic tasks. This allows you to become a better developer, because you can achieve your goals in a shorter time. Then you can enter the next level. Use shell to automatically execute common tasks and create your own dotfiles. If you are using a mac or Linux release, you can learn shell. The following is a good book written by Mark Bates: Conquering the Command Line

Step 10: code!

Only by continuously practicing the learned knowledge can you truly master it.

Summary

As we all know, it is very difficult to become a senior software engineer. This requires a lot of time and effort. Different people have different learning speeds, but on average, it takes about 10 years to become a reliable senior developer. Your various investments will eventually bring you great returns. The software engineer's money path is beautiful, and the demand in the job market remains high, and the salary level is also improved based on experience. This is a fast-growing and relatively new area. Every day software engineers face challenges: challenges change people's lives. Come on, software engineers. First of all, you must become a senior software engineer!

Get the LAMP brother's original PHP video tutorial CD/detailed PHP Essentials edition for free. for details, contact the customer service on the official website:

Http://www.lampbrother.net



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.