10 steps to become a senior programmer

Source: Internet
Author: User
Tags using git version control system ruby on rails

What is a software engineer's career going through the following stages: Beginner, intermediate, and finally advanced. This article is mainly about how to help you become a senior software programmer through 10 steps. Why get more paid! Because your salary will increase as your level increases and you improve your career. After becoming a senior software engineer, you will be able to move forward to the challenges of architects, team leaders, CTO, and more. As you grow, so does the impact. How software engineering is difficult. The industry is changing, so you have to follow it. You have to constantly devote time and energy, because you need to learn more than you can absorb. Many novice engineers do not even realize that if they want to climb the peak of the industry, they have to learn something and how much effort they have to pay. But don't worry, I'll point out a "Ming road" that will help you become a senior software engineer. Step 0: Choose your path and keep going! Do one thing and do it well. --doug McIlroy "Unix philosophy" on this point, I really stressed that can not be stressed. It is important to choose the professional and technical stacks you will be playing alongside. Be persistent, don't be distracted. As for what to do please see below: Choose a major. That's what you want to do. For example: WEB development, mobile development, DevOps, and more. Choose a practical technique in your profession. For example, if you choose WEB Development, you need to be careful between Ruby on Rails, Python, Django,javascript, and MEAN. If you choose Mobile development, you need to make a choice between iOS and Android. Stick to it until you master the technology. I don't mean to say that you don't have to be familiar with anything other than your major majors. The leading software engineer is familiar with other programming languages and techniques, but first of all, they are very clear about their major majors. After you have identified the major majors, the next thing to do is to learn, read all the relevant books, and practice all the necessary skills, which may take many years. But do not be discouraged, step by step, a one to overcome difficulties, quantitative changes to achieve qualitative change. On the technology, my recommendation is: Ruby on Rails for web development, IOS for mobile development. This is a valuable experience that I have told you as an experienced. However, I would like to add that maybe everyone's tastes are different, my experience may not be for you, you can choose other technology, but in this case, you have to read the book may not be the same as my recommendation. Step 1: Lay the groundwork "The Pragmatic Programmer" is a good starting point for us to master the software. The book sums upHigh level of practical exploration. This has nothing to do with what language/technology we are using. Regardless of which technology stack you choose, the main principle is the same. Step 2: Master your programming language what programming language you need to face every day depends on the technology you choose today. But programming languages always have primary and secondary points. For example, Ruby on Rails developers mostly use JavaScript for most of their time with RUBY,ANGULARJS developers. Determining the programming language and mastering the programming language is critical to your career development. Because you will use it every day! It is recommended that you read the books first. The Swift programming Language is for the Ruby developer, and programming Ruby for IOS developers. Step 3: Learn the framework choose one and then learn: for rails developers-"rails Tutorial" by Michael Hartl for iOS developers-iOS programming:the Big nerdranch Guide Step 4: Master the text editor/IDE and then choose one, and then persevere in mastering the tool. If you choose VIM, then become its owner and let it go east. Step 5: Use the version control system I recommend using Git. Here's my favorite resource: Pro git--'s free online e-book, which explains all aspects of git in detail. Step 6: Do test-driven development add TDD to your technology stack. Develop your daily TDD habits. High-quality code comes from good testing. For the Ruby on Rails developer--"Rails testprescriptions" for iOS Developers--"Test driven iOS Development" Step 7: Refactoring habits as you continue to add more features, Code libraries are also becoming more complex. To keep the code base manageable, you need to refactor. If you don't refactor, you'll quickly get into a dilemma--even small changes are difficult, bugs can't be avoided, and no one is willing to deal with this messy code base. Refactoring can make your job easier. Without further ado, hurry up and get into the habit of refactoring. Here's a good book to teach you what to do: "Refactoring:improving the Design of Existing code" by Martin Fowler Step 8: Learn the architecture of the software based on the stack you chose above, and then learn about the architecture. I recommend Martin Fowler wrote the Patterns of ENTERPRISEAPPLIcation Architecture "a book. Step 9: Show the power of the command line just beginning to touch the command line first feeling is daunting. However, once you learn how to use it, it will greatly improve your efficiency in performing some basic tasks. And that in itself can make you a better developer because you can achieve your goals in less time. Then you can move on to the next level. Use the shell to automate common tasks and build your own dotfiles. If you're using a Mac or Linux distribution, learn the shell. Here's a good book from Mark Bates: Conquering the Command line step 10:code code code! Only by practicing the knowledge you have learned can you really master it. As you know, it is very difficult to become a senior software engineer. It takes a lot of time and effort. Different people have varying speed of learning, but on average it takes about 10 years to become a reliable senior developer. The various investments you pay will ultimately bring you great rewards. Software engineers have a good money path, the job market demand has been high, salary levels are based on experience. This is a fast-growing and relatively new area. Every day a software engineer is challenged to change people's lives. Come on, you software engineer, first challenge to become a senior software engineer! Free pick up the Lamp Brothers and original PHP video tutorial CD/"PHP" Essentials Edition, details of the Advisory website customer Service: http://www.lampbrother.net

  • Related Article

    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.