How do I define and differentiate senior software development engineers?

Source: Internet
Author: User

Original address

It seems that I am not just a senior!

In the field of software development, senior development Engineers usually refer to people who have written code for more than 3 years. These people may be placed in the lead position, but often produce very bad results. Matt Briggs is a senior Development engineer and scrum administrator. He argues that the mere use of life to divide developers ' problems is likely to be very different for two developers who also have 10 years of development experience. Recently, he published a blog post, according to the role that developers can play to divide the growth stage of software development engineers.

Junior Development Engineer

Junior Development engineers usually refer to developers who have just finished their student career. They think they know everything, but they helpless when they face problems. They are unfamiliar with the tools they use and do not understand the current code base. As a result, they need to be supervised and require a lot of training and guidance, otherwise it may be years past and they are still junior development engineers.

A good junior development engineer should be able to quickly complete the work assigned by others and ensure the quality.

Intermediate Development Engineer

Unlike junior development engineers who focus only on the code, Intermediate development engineers begin to find the right way to build systems through experimentation, literature, and discussions with other programmers, meaning they will learn the theory of software construction.

a good intermediate development engineer does not need supervision. they can make their own problems with code design and play an important role in design discussions. They are also the backbone of the development team. However, they may be over-engineered when designing systems in a way that follows the " design pattern " and " domain driven design " theories. Therefore, there is a need for further guidance and a higher level of supervision.

Briggs pointed out that the vast majority of senior software development engineers and team leaders are actually intermediate development engineers, but most people are not aware of this.

Senior Development Engineer

Advanced development engineers have abandoned the complexity of dominating intermediate development engineers, pursuing simplicity. Instead of dividing the developers by knowledge, they understand the strengths and weaknesses of each individual. In the application of the theory, they value the "context", rather than blindly pursue "the right way". They know that the only way to build good software is to transform the theoretical approach to meet the needs of customers, code libraries, teams, tools, and organizations to find a balance between design patterns, libraries, frameworks, and processes.

Senior Development Engineers are more concerned about how organizations and customers work and know where their value lies. They never say, "It's not my job." Their job is to provide solution to the problem, always considering what their work will bring to the organization and the customer, not how much work they will have.

Intermediate development engineers will delve into some boring work, but senior development engineers will step back and see what is causing the job. They assess the cost of fixing the root cause of the problem, and decide whether to fix it directly, or let the system run and then fix it later.

Senior development engineers are well aware that their primary role is to make the team a better place. at the same time, they know that leadership is not power, but empowerment, not command, but service.

Briggs points out that the project is doomed to fail if the team does not have a leadership role as a senior development engineer. Senior development engineers are the only ones who are qualified to choose the technology and platform, so there should be one on the first day of the project.

Briggs admits that this approach is too simplistic, but it can also provide some useful information. He advises companies to consider the composition of teams and organizations when recruiting.

How do I define and differentiate senior software development engineers?

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.