Application Developer / Engineer
Career Area: Information Technology
Occupation Group: Software Development
Salary
Percentile wages tell how much a certain percentage of an overall population in a geographic area or within a given industry or field makes. The percentile wage estimate is the value of a wage below which a certain percent of workers fall.
An example would be the 25th percentile, 25 percent of workers employed in that occupation earn less and 75 percent earn more than the estimated wage value. At the 75th percentile, 75 percent of workers employed in that occupation earn less and 25 percent earn more than the estimated wage value.
A typical Application Developer / Engineer earns the following wages (national and state):
State
The average salary in North Carolina for those pursuing this career is $105,354
National
The average salary in the United States for those pursuing this career is $100,575
What Does a Professional in this Career Do?
Designs or improves applications software. Oversees the entire applications development process. Analyzes customer or user needs, designs programs, writes code or instructs computer programmers, tests design, and documents programs. May assist with upgrades or maintenance.
Employment Trends
The job demand and job growth statistics shown here were derived from job posts over the past year. Expected job growth projections are extrapolated from year-over-year job post listing history.
Job demand and job growth is expected at the following rates:
Location | Growth | |
---|---|---|
North Carolina | 4460 | +29.1% |
Nationwide | 78938 | +25.6% |
Skills
A professional in this position typically utilizes the following skills in the course of everyday work in this exciting and challenging field:
Baseline Skills
The following are baseline skills every Application Developer / Engineer is expected to have in order to experience success in this field:
- Communication Skills: The ability to convey information to another effectively and efficiently.
- Teamwork / Collaboration: Experience working in collaborative efforts with a team to achieve a common goal or to complete a task in the most effective and efficient way.
- Problem Solving: Problem solving consists of using generic or ad hoc methods, in an orderly manner, for finding solutions to problems.
- Troubleshooting: Troubleshooting or dpanneuring is a form of problem solving, often applied to repair failed products or processes on a machine or a system.
- Writing: Experience expressing business messages effectively in written form. This may include planning drafting and revising as necessary.
Specialized Skills
These skills are specific to working in this career:
- SQL: SQL ( ESS-kew-EL or SEE-kwl, Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS).
- Software Development: Software development is the process of computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks resulting in a software product.
- Java: Java is a set of computer software and specifications developed by Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment.
- Python: Python is a widely used high-level programming language for general-purpose programming, created by Guido van Rossum and first released in 1991.
- JavaScript: JavaScript (), often abbreviated as JS, is a high-level, dynamic, weakly typed, object-based, multi-paradigm, and interpreted client-side programming language.
Distinguishing Skills
Any Application Developer / Engineer that possesses the following skills will stand out against the competition:
- Object-Oriented Analysis and Design (OOAD): Object-oriented analysis and design (OOAD) is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.
- Data Modeling: Data modeling in software engineering is the process of creating a data model for an information system by applying certain formal techniques.
- Apache Hadoop: Apache Hadoop ( ) is an open-source software framework used for distributed storage and processing of dataset of big data using the MapReduce programming model.
- Software Architecture: Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures.
- AngularJS: AngularJS (commonly referred to as Angular.js or AngularJS 1.X) is a JavaScript-based open-source front-end web application framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications.
Experience
This position typically requires the following level of experience. The numbers presented in the pie charts below were derived from actual job posts over the past year. Not all job postings list experience requirements.
Experience Required | % |
0 to 2 years | 16% |
3 to 5 years | 50% |
6 to 8 years | 22% |
Many of the programs offered through NC State are designed for working professionals who need additional credentials to enhance existing work experience.
Students who do not have the expected level of experience may wish to look into internship and employment opportunities.
Common Job Titles
It is possible to find work in this field in positions commonly listed as the following job titles:
- Application Developer
- Senior Developer
- Application Engineer
- Tableau Developer
- Senior Application Developer
Similar Occupations
If you are interested in exploring similar occupations, you may want to research the following job titles: