A software engineering competency matrix is an important team and project management tool that assists Sunbytes in making the most of our own talents, defining criteria for recruiting and selection, and performance assessment, as well as swiftly identifying customer expectations.

Metrics Junior Medior Senior
Definition A junior developer can write code in one or more programming languages but he/ she is not really involved in the whole Software Development Lifecycle A medior developer is proficient in one or more programming languages. He/ she shoulder more liabilities and engaged in the whole product development process, from the idea conceptualization to testing then optimization. A senior developer can create a complete and complex solution by using a scientific method in a specific context, no matter what technology or programming language behind it. He/ she solves every business and technical demand in a rational way.
Technology Understanding
  • Have a broad grasp of information technology, from a both software (main) and hardware (secondary) standpoint.
  • Not fully aware of best practices in the technology industry for producing code
  • Have knowledge of best practices in the industry with an inclination to apply them
  • Incomplete understanding of the significance of the software’s functional components
  • Be an expert in software development and technology
Programming Capability
  • Have knowledge of fundamental programming concepts
  • Can produce simple program code by using at least one programming language
  • Proficient in a variety of programming languages and technologies
  • Can write programming code independently if the business case with detailed software development requirements is provided and explained to them.
  • Can complete some basic DevOps responsibilities in addition to software development
  • Fluent in coding and choosing the most appropriate technology solutions for the project
  • Have a deep understanding and ability to complete many DevOps tasks
Quality of Code
  • May produce inefficient and hard-to-read codes
  • High level of inaccuracy in producing code
  • Codes must constantly be examined and verified
  • Lack of attention on the readability and structure of software codes
  • Clean quality of code, in alignment with structure and help improve the system efficiency
Debugging Skill
  • Have limited debugging skills
  • Able to build basic unit tests
  • Have insufficient debugging skills to resolve issues outside their expertise
  • Proficient to write complex tests
Test Case Building
  • Unable to build test cases
  • Able to build basic unit tests
  • Expert in building test cases
Communication with Business Stakeholder
  • Weak and unable to fully explain the software development process in business language
  • Good at communicate directly with business people to clarify minor details related to the assigned task
  • Excellent  at communication and explaining complex processes to business people
Business Context Understanding
  • Have limited understanding of business problems and situations
  • Have an appropriate understanding but he/she is lack of flexibility in applying technology theories in solving the business needs
  • Good at creating and applying theories and practices for the software project in alignment with business context and the structure of architecture
  • Able to analyze and convert business processes into programming codes
Level of Responsibility
  • Level of responsibility: Follow and Apply the guidance
  • Work under supervision and direction
  • Need training and excessive quality control
  • Level of responsibility : Enable, ensure and advise for the best result
  • Sometimes show low level of responsibility when going out of his/ her expertise
  • Have an incomplete understanding of the importance of the tasks
  • Slightly willing to lead complex tasks on their own
  • Level of responsibility : Automate, initiate, influence
  • Totally lead and control their assigned responsibilities
  • Have high level of initiatives to solve client needs outside their scope of work
 
Self Learning/ Improvement  
  • Slightly enthusiast in acquiring new or additional knowledge – some may be content with the status quo for a lengthy period of time or permanently
  • Have a strong enthusiasm for self-learning and improvement. He/ she always keeps himself/herself updated on the latest technology trends.
Continuous Improvement Attitude  
  • Conduct continuous improvement to improve the legacy codes when requested
  • Maintain a strong commitment to continuous improvement of the quality and structure of the legacy codes