NML

Defining Developer. Positions

Junior developer

Basic knowledge of HTML, CSS and JavaScript. Should have at least 1-year experience in the relevant technology stack. Requires guidance and mentorship

You slowly learn to repair minor, less significant errors or bugs on the front end. You learn a front-end framework. You contribute to the codebase by building out UI components. How quickly you jump to the next career level depends only on your commitment and the number of people you can learn from.

Role highlights

  • Has the ability to perform simpler technical tasks independently but requires guidance/mentorship on more complicated tasks
  • Has the ability to fix small, less important bugs without assistance
  • Can contribute to scrum ceremonies
  • Will not resolve production issues without assistance
  • Should be supervised
  • Needs to get comfortable with the codebase before doing anything too crucial.
  • Is not in a position to liaise with clients and stakeholders
  • Will take longer than intermediate and senior to complete tasks
  • Takes implementation guidance from more senior developers
  • Code and pull requests will be reviewed more carefully and receive more feedback than intermediates and seniors
  • Would ask for help more frequently
  • There is an emphasis on learning and development
  • Still needs to learn good front-end principles
  • Still needs to learn how front-ends are architected
  • Seeks out opportunities to expand their technical and non-technical skills through continuous learning practices.
  • Communicates clearly and effectively, especially in writing, when working with peers, team members or their manager on technical tasks or issues.
  • Adheres to the NML communication guidelines

Key Characteristics and Qualities

Shows Initiative

  • Being proactive - identifying an opportunity where you can take action
  • Ask questions
  • Understand when to ask for help and who to ask and recognising when you are out of your depth

Inquisitive

  • Having a curious mindset, open-minded
  • Open to feedback / constructive criticism and willingness to internalise and do the work to improve

Eager (to learn)

  • Keen to always expand knowledge base and improve skills.
  • Learning from team members and seniors

Engaged

  • Continually contributing whatever the context (within team meetings, code related, company wide suggestions etc)

Driven

  • How am I improving on my skill set, my communication, my interactions (personal growth mindset)

Hardworking

  • Not doing the bare minimum

Reliable

  • Doing what you saying you are going to do, turning up when you're expected to, offering help when its needed

Ask questions

  • Understand when to ask for help and who to ask and recognising when you are out of your depth

Open-minded

  • Open to feedback / constructive criticism and willingness to internalise and do the work to improve

Intermediate developer

Has experience on several projects with 3+ years experience in the relevant technology stack. Has the ability to perform the tasks assigned to them independently. Ie: must understand the UI and business requirements and be able to translate them into font-end solutions with minimal guidance.

Role highlights

  • Can set up the front-end dev environment on their own and assist with configuring build & release pipelines
  • Learns to write maintainable code according to best practices
  • Learns to update code to be more maintainable and adhere to best practices
  • Is capable of implementing solutions based on the complexity, and asks for guidance when the complexity increases unexpectedly.
  • Assists to break major tasks down into smaller sub-tasks
  • Is able to find major bugs in front-end code
  • Is able to review front-end code and provide relevant feedback
  • Has the ability to perform technical tasks independently but could require guidance/mentorship on more complicated tasks
  • Is in a position to liaise with clients and stakeholders
  • Will take longer than senior developers to complete tasks
  • Knows when and who to ask to ask for help
  • Able to assist junior developers in learning relevant skills
  • Is able to construct applications using components
  • Can identify and build re-usable abstract components
  • Has proficiency in consuming REST and GraphQL APIs
  • Has a good understanding of good font-end principles
  • Has a good understanding of how font-ends are architected and tested
  • Communicates clearly and effectively, especially in writing, when working with peers, team members or their manager on technical tasks or issues.
  • Adheres to the NML communication guidelines

Key Characteristics and Qualities

Shows Initiative

  • Being proactive - identifying an opportunity where you can take action
  • Ask questions
  • Understand when to ask for help and who to ask and recognising when you are out of your depth

Inquisitive

  • Having a curious mindset, open-minded
  • Open to feedback / constructive criticism and willingness to internalise and do the work to improve

Engaged

  • Continually contributing whatever the context (within team meetings, code related, company wide suggestions etc)

Team-oriented

  • Taking your team into account before saying something or doing something. Carrying your weight (putting your hand up for certain things)

Dedicated

  • Commitment to the job, team, and company goals. Going the extra mile

Hardworking

  • Not doing the bare minimum

Humble / humility

  • Not assuming that you're always right, being open to other perspectives

Reliable

  • Doing what you saying you are going to do, turning up when you're expected to, offering help when its needed

Honesty

  • Transparency and not being deceiving. Conducting yourself with integrity

Time management

  • Managing your time to deliver on work

Active listening

  • Listening to what someone says without already preparing a response. Being present during a conversation

Patience

  • With your teammates, clients, and different perspectives

Open-minded

  • Open to feedback / constructive criticism and willingness to internalise and do the work to improve

Communication

  • Ability to articulate yourself clearly and effectively

Task estimation

  • Being able to accurately calculate how much time you need to complete a task and being able to communicate it to the relevant parties

Senior developer

Has experience on many projects with 8+ years experience in the relevant technology stack. Has learned a lot from their mistakes and knows exactly what they can and shouldn’t do, what code they can change and what they should leave unchanged. Has the ability to perform the tasks assigned to them independently. Understands the UI and business requirements and can translate them into technical solutions. Provides guidance and mentorship to juniors and intermediates.

Role highlights

  • Can demonstrate knowledge about how their work fits into the larger business.
  • Writes maintainable code according to best practices
  • Updates code to be more maintainable and adhere to best practices
  • Breaks major tasks down into smaller sub-tasks
  • Can find major bugs in code quicker than an intermediate
  • Does regular code reviews for less experienced developers
  • Has experience in solving problems and tasks of different complexity
  • Able to provide architectural guidance on REST and GraphQL API design
  • Is responsible for mentoring junior and middle team members
  • Can independently solve different problems due to past experience
  • Can distil complex problems through the application of common front-end design patterns
  • Can manage a team of developers doing simple to mid-level tasks
  • Should have enough experience to architect and structure a small front-end project
  • Has the ability to develop and mentor the less experienced developers of the team
  • Has a solid view of the project deliverables and suggests better ways to improve the process and implementation
  • Regularly liaises with clients and stakeholders
  • Has a good understanding of the design of libraries and frameworks.
  • Understands good front-end coding principles
  • Understands how font-ends are architected and tested
  • Can debug production issues across multiple levels of the frontend stack
  • Communicates clearly and effectively, especially in writing, when working with peers, team members or their manager on technical tasks or issues.
  • Adheres to the NML communication guidelines

Key Characteristics and Qualities

Eager (to learn)

  • Keen always to expand the knowledge base and improve skills. Learning from team members and seniors

Team-oriented

  • Taking your team into account before saying something or doing something. Carrying your weight (putting your hand up for certain things)

Driven

  • How am I improving on my skill set, my communication, my interactions (personal growth mindset)

Dedicated

  • Commitment to the job, team, and company goals. Going the extra mile

Solutions Oriented

  • Finding solutions and not just starting problems. Sees the bigger picture

Humble / humility

  • Not assuming that you're always right, being open to other perspectives

Reliable

  • Doing what you saying you are going to do, turning up when you're expected to, offering help when its needed

Aptitude to understand the client

  • Understanding client requirements and converting them into actions

Patience

  • With your teammates, clients, and different perspectives

Deliver Feedback

  • Ability to deliver constructive criticism effectively

Patience

  • With your teammates, clients, and different perspectives

Communication

  • Ability to articulate yourself clearly and effectively

Leadership experience

  • Guidance, mentorship, communicate goals and motivate the team to achieve those goals

Professional communication

  • Communication on all platforms are in line with NML standards

Task estimation

  • Being able to accurately calculate how much time you need to complete a task and being able to communicate it to the relevant parties

Team Lead

Coming soon

Role highlights

    An error has occurred. This application may no longer respond until reloaded. Reload