How statistics are calculated
We count how many offers each candidate received and for what salary. For example, if a Support developer with a salary of $4,500 received 10 offers, then we would count him 10 times. If there were no offers, then he would not get into the statistics either.
The graph column is the total number of offers. This is not the number of vacancies, but an indicator of the level of demand. The more offers there are, the more companies try to hire such a specialist. 5k+ includes candidates with salaries >= $5,000 and < $5,500.
Median Salary Expectation – the weighted average of the market offer in the selected specialization, that is, the most frequent job offers for the selected specialization received by candidates. We do not count accepted or rejected offers.
Support
What is a Support Developer?
A support developer is a person who provides technical support assistance for customers or other users of a software product or service, solving technical challenges, fixing bugs, improving performance and implementing enhancements, as well as communicating with customers and with other developers, while also communicating their needs and problems and documenting solutions.
What skills does a support developer need?
The technical skills required of a support developer include:
- Programming capability in Python, Java, C#, or Ruby
- Web development in HTML, CSS, JavaScript, or PHP
- Database administration in SQL, MongoDB, or Firebase
- Software testing including unit testing, integration testing, and automation testing
- Debugging tools such as Chrome DevTools, Visual Studio Code, or Postman
A support developer needs to bring soft skills to the table as well, including:
- Communication: Write well, concisely, and appropriately in emails, chat messages, or documentation
- Customer service: Be empathetic, courteous, patient, and kind to users
- Problem-solving: Analyse, investigate, and resolve problems
- Teamwork: Collaborate, share knowledge, and learn from peers
- Managing time and priorities
What tools does a support developer use?
A support developer can utilise a multitude of tools depending on the product or service they’re supporting, including:
- Ticketing systems (Zendesk, Jira, ServiceNow etc.) to manage customer requests and track progress
- Version control systems (Git, SVN, Mercurial etc.) to manage changes to code, collaborating with others’ changes
- Code editors (Visual Studio Code, Sublime Text, Atom etc.) for writing and editing code
- Code repositories (GitHub, Bitbucket, GitLab, etc.) to store and share code
- Code review tools (Code Climate, Codacy, SonarQube, etc.) to check the quality of the code written adhering to the coding standards
- Deployment tools (Heroku, AWS, Azure etc.) to deploy or push code to servers or cloud environments
How does a support developer work?
As a support developer, you typically work in a team with other developers, testers, and project managers. The work process typically involves:
- Getting a ticket with a problem or a request for a feature
- Replicating the problem or verifying the request on a local or test environment
- Understanding why or how that problem is there or determining the feasibility of that feature request
- Developing a solution or enhancing existing functionality while adhering to specifications and standards
- Testing it to make sure it works as expected without creating any new errors
- Deploying the solution or enhancement to a production or live environment
- Updating the ticket with the resolution or confirmation to close it
- Documenting the solution or enhancement and providing it to the customer or users
How can a support developer advance their career?
Developers can advance their career through various tracks, such as:
- Senior Support Developer: Responsible for mentoring less-experienced support developers and dealing with more complicated and high-priority issues and requests
- Support Engineer: Offers more technical and usually more specialised support for one (or a limited number of) particular products or services
- Software Developer: Focuses more on designing and developing new software products or services from a design/developer perspective
- Software Engineer: Applies more general and comprehensive engineering practices to software
- Software Architect: Plans, manages, oversees, and coordinates the bigger picture of software products or services