0% found this document useful (0 votes)
8 views19 pages

Ranks Definitions

Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
Download as xlsx, pdf, or txt
You are on page 1/ 19

Ranks

Rookie

Junior

Middle Level 1
Middle Level 2

MIddle Level 3
Senior Level 1
Senior Level 2
Senior Level 3

Expert Level 1
Description

Learning

Junior level: software engineer has ability to work on small to medium-sized projects
under the guidance of more experienced engineers, their focus on learning and developing
their technical skills, and their need for mentorship and feedback from senior colleagues.

Middle Level 1: Engineers at this level are considered to be proficient in their technical
skills and have developed a good understanding of the software development process.
They can work independently on medium to large projects and have a good understanding
of the business domain they are working on. Have proactive attitude.
Middle Level 2: Engineers at this level have gained more experience and expertise in their
specific technical area, such as front-end development, back-end development, or testing.
They are able to work on complex projects independently or as part of a team, and can
mentor junior engineers. They also have a broader understanding of the business domain
and are able to contribute to strategic decision-making.

Middle Level 3: Engineers at this level are considered to be highly experienced and
specialized in their technical area. They have a deep understanding of the software
development process and can lead large, complex projects. They are able to mentor and
train other engineers, and may have management responsibilities. They also have a strong
business acumen and can provide valuable insights and recommendations to senior
leadership.
Senior Level 1 engineers are often in charge of the most important projects within
company. This is the ideal position for a software engineer that has aspirations of learning
how to manage multiple aspects of the business. They are groomed as potential managers
and may report directly to high-ranking individuals in the company.

They have extensive knowledge of the company structure and goals. Before beginning a
project, they’re able to assess risks, identify potential problems ahead of time and find
solutions without guidance.

Having high technical skills, a senior developer is comfortable with multiple technologies.
Seniors should be aiming at acquiring transferable knowledge that will allow them to
recognize and write good code in any programming language. This knowledge also helps
adapt to constant technical changes.

Needed from Senior:


- Programming experience
- Education level
- Leadership skills
- Initiative
- Responsibilities
Senior Level 2 engineers are often in charge of the most important projects within your
organization. This is the ideal position for a software engineer that has aspirations of
learning how to manage multiple aspects of the business. Senior staff engineers are
groomed as potential managers and may report directly tohigh-rankingindividuals in your
company.

They have extensive knowledge of the company structure and goals. Before beginning a
project, they’re able to assess risks, identify potential problems ahead of time and find
solutions without guidance.
They can help companies implement new technologies and train workers to use them.
either moving towards management or becoming an independent contributor.
Senior Level 3 may participate in recruiting and managing new talent, provide their own
contributions to projects, delegate projects to tech leads and make changes to the
development process. They can help companies implement new technologies and train
workers to use them.

They typically communicate regularly with the chief technology officer to set long-term
strategy and then make sure their department meets those new expectations.

A director of engineering must understand a company’s broader goals and vision. To hold
this position, they should have extensive education in programming, coding languages,
software development and troubleshooting strategies.
Required

YOE: < 1
Just granduate from the University.

YOE: 1+
- Familiarity with software development methodologies, such as Agile or Scrum.
- Experience of foundation knowledge of OOP, Clean Code, Unit Test, SOLID
- Familiar with module design
- Familiar REST API, Client-Server communication
- Familiar with Test tools: Postman, Browser's DevTool
- Familiar with Linters: SonarLint, Language Linter <TSLInt, ESLint, ...>
- Familiar with software security: Authentication/Authorization, JWT, JQL Injection,...
- Ability to work collaboratively in a team environment and communicate with colleagues
and stakeholders.

Year of experience: 3+

1. Strong foundational knowledge of computer science: programming principles, including


algorithms, data structures, software architecture, OOP, SOLID, and Unit Test.
The Twelve Factors - https://12factor.net
2. Proficiency in at least one programming language, as well as familiarity with several
others.
3. Experience with software development tools and technologies, such as IDEs, version
control systems, and testing frameworks.
4. Understanding of web development concepts and technologies, including HTML, CSS,
JavaScript, and web services.
5. Experience with databases and SQL, as well as knowledge of data modeling and
database design principles.
6. Experience with software development methodologies, such as Agile or Scrum.
7. Experience with collaborate in a team environment and communicate with colleagues
and stakeholders to solve simple problems.
8. Familiar with DevOps such as setup CI/CD & Docker in Development
Year of experience: 3+

1. In-depth knowledge and expertise in their specific technical area, such as front-end
development, back-end development, or testing.
2. Proficiency in multiple programming languages and technologies relevant to their area
of expertise.
3. Experience working with complex systems and architectures, and understanding of
software design patterns.
4. Familiarity with software development processes and methodologies, and ability to lead
and mentor junior engineers.
5. Strong understanding of web development concepts and technologies, including web
services, APIs, and user interface design.
6. Experience with databases and understanding of data modeling and database design
principles.
7. Understanding of software testing and quality assurance processes.
8. Ability to support other members and influence people
9. Have at least 1 internal workshop or 2 blog posts to share knowledge within 6 months
10. Experience with DevOps and can setup deployment for a simple service/project

Year of experience: 3+

1. Mastery of their specific technical area, with deep expertise and knowledge of the latest
industry trends and best practices.
2. Ability to design and develop complex software systems and architectures, and lead
large-scale projects.
3. Strong understanding of software engineering principles and ability to mentor and train
junior engineers.
4. Familiarity with multiple programming languages and technologies relevant to their area
of expertise, and ability to learn and adapt to new technologies quickly.
5. Experience with cloud computing technologies and architectures, as well as knowledge
of security principles and practices.
6. Ability to analyze and solve complex technical problems, and provide strategic
recommendations to senior leadership.
7. Strong communication and leadership skills, with the ability to work effectively with
colleagues and stakeholders at all levels.
8. Experiene with network typology such as VPC(AWS)/vNET(Azure)/Subnet concept.
9. Experiene with project Security, using tools to scan CVE, potential bugs, XSS, SQL
Injection
Year of experience: 5+

- Problem solving: solve all issues of medium project


- Able to self-correct: self learning and improve
- Ranges of experience:
+ Regularly lead technical projects for the clients
+ Write custom macros or library to optimize the workflow.
+ API: Write libraries to add more functionality or to automate the most frequent
processes without having to write code for them.
+ Regularly design UML before coding
+ Database:
- Well-versed in database administration, performance, and index optimization
- Understand at least 2 databases and choose the best one for project
+ Language: Good at least 2 languages and framework belong to each language
- Teamwork:
+ Have responsible for guiding or mentoring other members
+ Always trying to figure out what they can do to help the members: review, write best
practice, blog, handbooks
- Vision: See the final goal — the problems that the finished application must solve. A long-
term vision is a crucial point in bringing value to the end-user.

- Day-to-day duties: Seniors brainstorm the right technological solutions to complex


problems
take charge of the team, coordinating its workflow to consistently produce business value.
Year of experience: 7+
- Ranges of experience:
- Database:
+ Understand at least 4 databases and choose the best ones for project
+ Have good knowledge with DB maintenance features, in particular, DB mirroring and DB
replication.
+ Understand two-phase commit algorithm (2PC)
+ Can replace slow cursor-based operations with much more efficient JOIN statements,
where possible.
+ Well-versed in database administration, performance, and index optimization

- Language:
+ Besides functional programming and OOP, they work with concurrent and logic
languages, e.g. Erlang and Prolog respectivel
+ Good at least 3 languages and framework belong to each language
- Platforms & tools:
+ Seniors have had professional experience with more than 6 platforms. They are already
creating debuggers or other tools necessary to enhance the platform.
+ Seniors are the source advice on platform internals.
- Day-to-day duties: Seniors brainstorm the right technological solutions to complex
problems
take charge of the team, coordinating its workflow to consistently produce business value.
Year of experience: 10+
- Database:
+ Understand at least 4 databases and choose the best ones for project
+ Have good knowledge with DB maintenance features, in particular, DB mirroring and DB
replication.
+ Understand two-phase commit algorithm (2PC)
+ Can replace slow cursor-based operations with much more efficient JOIN statements,
where possible.
+ well-versed in database administration, performance, and index optimization

- Language:
+ Besides functional programming and OOP, they work with concurrent and logic
languages, e.g. Erlang and Prolog respectivel
+ Good at least 3 languages and framework belong to each language
- Platforms & tools:
+ Seniors have had professional experience with more than 6 platforms. They are already
creating debuggers or other tools necessary to enhance the platform.
+ Seniors are the source advice on platform internals.
- Day-to-day duties:
+ Seniors brainstorm the right technological solutions to complex problems
+ Take charge of the team, coordinating its workflow to consistently produce business
value.

YOE: 10+
Note Column1

English, YOE, Technical Required

DevOps (Docker, CI/CD)


Influence people, Deployment

Leadership, Network, CI/CD, Security


- For example: writing AOP or Middleware Need to combine mobile, web, backend
library knowledge
Bid project?

You might also like