Skilled programmers are some of the most well-paid technology professionals in today’s market. Specialized skills such as mobile applications development or enterprise resource planning (ERP) experience can boost a programming salary even more.
If you are a programmer, or hope to become one, check out these positions and their programming salaries in our Robert Half Salary Guide
1. Mobile applications developer
These developers code, test, debug, document and monitor mobile applications. They are in high demand — especially those with these skills:
- Objective C (for iOS) or Java (for Android)
- Graphic design
- User interface (UI) design
- Experience working with REST web services (for integrating with cloud services)
2. Applications architect
An applications architect creates a plan for the technical implementation of a software project. As applications become more critical to businesses and more complex to build, demand for these professionals grows — and so does the programming salary.
Becoming an applications architect requires a deep knowledge of programming theory and extensive hands-on experience. Applications architects also need experience across a wide range of programming domains such as database work and integrations with third-party services.
An applications architect must be able to coordinate with nontechnical people in the organization, such as business analysts. In some organizations, an applications architect fills the same role as a lead applications developer if the team is not large enough to support both positions.
3. ERP technical developer
ERP projects are some of the largest, most expensive and time-consuming projects that companies can undertake. ERP technical developers play a key role in the success of an ERP project, as they are responsible for implementing and customizing ERP packages.
ERP technical developers should know a common business language like Java or C#, as well as any specialized development languages or tools relevant to the ERP system they are working with. Fluency in SQL and the ability to work with databases are mandatory skills.
Experience with a major ERP system, such as Oracle Enterprise One or SAP, and with enterprise integration technologies such as SOAP, is often required for programming jobs in this specialty area.
4. Lead applications developer
A lead applications developer is a technical leader and mentor to the development team. This position often includes business leadership responsibilities, such as playing a part in hiring other developers and scheduling product delivery. In some teams, the lead applications developer is also the applications architect and vice versa. Soft skills such as communications and coaching are very important for this role.
Like the other three programming jobs listed above, lead applications developers stand to benefit financially from increasing demand for their specialized skills.
5. Business systems analyst
Business systems analysts assess how automated systems can solve complex business problems. With tech trends like the consumerization of IT and an increasing reliance on data, the demand for these professionals is on the increase.
Business systems analysts should be able to do the following:
- Formulate and define the scope and objectives for business systems
- Work with business managers and end users to gather data and determine needs
- Provide IT support for regulatory and compliance activities
- Make hardware and software recommendations to meet business needs
6. Cloud computing analyst
These analysts oversee cloud-related infrastructure, including applications, hardware and software, and they ensure the integrity of cloud-migrated data and files. As subject matter experts, they are in charge of training staff and troubleshooting any technical issues that arise in this area, which means good communications skills are a must.
As the field is still relatively new, employers struggle to find candidates with the desired skill set and related experience. To get a leg up in the industry, increase your marketability — and programmer salary — by gaining the following:
- Virtualization experience
- LINUX/UNIX administration skills
- Voice over Internet Protocol (VoIP) skills
7. CRM technical developer
The CRM technical developer is responsible for overseeing the design, implementation and operations of an organization’s customer relationship management system. These developers must have an understanding of different CRM systems, such as Salesforce, Oracle NetSuite, Hubspot and Microsoft Dynamics 365.
CRM technical developers typically work with users across the enterprise to determine system needs. They will assign roles, processes and workflows within the CRM, and they may also be responsible for creating technical documentation that explains system functions and capabilities.
Required skills include:
- A bachelor’s degree in computer science
- At least one year of experience directly working with a CRM
8. Developer/programmer analyst
A critical part of any organization, the programmer analyst evaluates business application requirements for various functional areas of a company, including finance, manufacturing, marketing and human resources. Analysts write code, test and debug software applications, recommend system changes and enhancements, document software specifications and train new system users.
Effective programming analysts understand and conceptualize applications from both a technical and end user point of view, ensuring that the systems in place meet the needs and requirements of both groups. Analysts should also have the following:
- Strong programming abilities in common languages and frameworks, such as C#/C++, Java Enterprise Edition/AJAX and Microsoft.NET
- Strong analytical and problem-solving abilities
- Good interpersonal and communication skills