Home Technology What is an application engineer? Explaining work content, annual income, future potential, and qualifications

What is an application engineer? Explaining work content, annual income, future potential, and qualifications

by Yasir Aslam
0 comment

Do you ever wonder , “What kind of work is an application engineer in the first place?”
“What skills do application engineers need?” Therefore, this time, I will explain “the work contents of application engineers and required skills”. The latter half of the article also summarizes “qualifications and future potential useful for application engineers”, so please read it to the end.

table of contents

  • 1. What is an application engineer?
  • 2. Role and work content of application engineer
  • 3. Five skills required of application engineers
  • 4. Qualifications to help application engineers
  • 5. Estimated annual income of application engineer
  • 6. Future potential of application engineers
  • 7. Summary

1. What is an application engineer?

An application engineer is an engineer who develops applications. However, it may be difficult to understand, so I will explain the definition first.1.1 Application engineer definition

An application engineer is an engineer who develops applications .

Not only programming to build an app

  • “Requirement definition” to consider specifications
  • “Basic design” that embodies the requirements
  • “Implementation” to build a program
  • “Test” to check the operation of the program
  • “Release” to create an environment where apps can run

It is a feature to carry out such business.

In other words, in addition to being able to program, the ability to communicate with customers and the ability to create documents are also required .

 

1.1.1 Designated as a category of Information-Technology Engineers Examination until the fall of 2008

From the spring of 2001 to the fall of 2008, there was an information processing engineer examination called “Application Engineer Examination”.

The application engineer exam has the following roles:

In the information system development project, analyze the business requirements, engage in the work to be realized as a system, and play the following roles.
(1) Analyze the business requirements on the user side and summarize the required specifications.
(2) Based on the required specifications, consider system implementation methods such as new development and package introduction, system configuration, system migration and operation, and design the system.
(3) Instruct program development personnel to carry out program development.
(4) Plan and implement a comprehensive test. It also supports system migration and operational testing.
(5) For individual hardware technology, software technology, network configuration, database configuration, system operation, etc., receive expert support as necessary.
Source: Application Engineer Examination (AE) | IPA

 

Currently , the content has been taken over by the system architect exam . Therefore, the system architect exam is a qualification that you should consider acquiring if you want to become an application engineer. I will introduce three recommended qualifications for application engineers later.

 

1.1.2 Classification of applications to be developed

Application engineers have a large variety of applications to develop. For example, the following applications:

■ Examples of applications developed by application engineers

• Business applications
 → Accounting management system, project management system, etc.
• Web application
 → Eating log, Cookpad, Progate, etc.
• Smartphone application
 → Mercari, Uber Eats, etc.

The application to be developed depends on the company and project to which you belong. Application engineers are recommended for those who want to take on the challenge of developing various applications.

2. Role and work content of application engineer

The role and work content of the application engineer begins with the requirement definition that determines the specifications.

2.1 Requirements definition

Requirement definition is the process of determining specific application requirements based on customer concerns .

For example, even if you are asked to “make an app that makes accounting work more efficient,” you cannot tell what to make with this alone. Also, even if you create a common accounting system, it does not necessarily mean that it will be a system that can solve customers’ worries.

Therefore, what is needed is a requirement definition. In this case, it is necessary to first sort out “what is the issue in accounting work and what should be improved”.

2.2 Basic design (screen design, functional design, data design)

“Basic design” is the process for concretely imagining the system based on the analyzed requirements .

Further deepen the content decided in the requirement definition,

  • List of features
  • Screen image
  • Image of operating the screen

We will sort out such things and confirm the screens and functions one by one with the customer.

Also, if you are already using another system, you may want to design the system in consideration of “system migration / operation”.

2.3 Implementation

After designing, we will build a program. At this time, in the case of a large-scale project, you can ask a programmer to develop it.

On the other hand, if you have a small project, you may implement it yourself. In any case, programming knowledge is essential.

■ Tips: What is “detailed design” before mounting?

Depending on the company, there are cases where “detailed design” is performed before implementation. It will be easier to imagine the detailed design if you think of it as “a document of what you are programming.”

Example) Image of detailed design
1. Data registration
1-1. Get the value entered on the screen
 → Get the data and store it in the variable
1-2. Required check of the value entered on the screen
 → Store it in the variable Check the data that has been entered, and if the required items are checked or not
 , proceed
 to the process of 1-3. If not, a warning message is displayed and the process ends.

Since it is a material that can be developed even if it is passed to the programmer as it is, there are cases where there is no customer confirmation of the detailed design.

2.4 test

There are various processes, even if it is called a test. Specifically, the process is as follows.

■ Example of test process

  1. Formulation of test plan
  2. Conducting unit tests
  3. Performing integration tests
  4. Implementation of comprehensive test

In 1 test plan formulation, make a plan such as the schedule of the entire test. The reason for making a test plan first is to run the tests on schedule and proceed with the tests to ensure that your application works properly.

See below for the differences between the three tests.

• Unit test →
 Check if the program of one function works • Integration test →  Check if the program works with multiple functions • Comprehensive test  → Use data close to the business and perform the same test as the business to solve the problem Check if there is

2.5 release

After testing, it’s time to start releasing. Release work doesn’t mean simply uploading the program to the server.

To run the system

  • Prepare a production server or database
  • Register initial data in database
  • Check the database backup status, etc.
  • Upload the program (this is called deploy)
  • Perform operation check after upload

And so on, create a release report, etc. and you’re done.

3. Five skills required of application engineers

So what are the specific skills required of application engineers? Let’s take a closer look.

3.1 [1] Communication skills

The first skill required is ” communication skills “.

The application engineer defines the requirements in the system development, embodies it in the basic design, and develops the system.

When defining requirements and basic design

  • Hearing issues with customers
  • Talk to a professional engineer to see if it is technically feasible

There are a lot of businesses that communicate with each other.

Communication is also required when asking a programmer to implement it. As you can see, communication skills are a necessary skill for application engineers.

3.2 [2] Knowledge of agile development and waterfall development

The second required skill is ” knowledge of agile development and waterfall development “.

The application engineer develops various applications as mentioned above. Since the development method differs depending on the application, each knowledge is required.

The differences between agile development and waterfall development are summarized in the following articles.

 • Differences between agile development and waterfall development
 • Use agile and waterfall properly

It also explains such things, so please refer to it.

What is the difference between agile development and waterfall development? Can it be used together?

3.3 [3] Direction and management

The third required skill is ” direction and management “.

Development is carried out by gathering multiple development members. Depending on the scale of the project, the application engineer may define the requirements and then select the members to assign.

Therefore, direction skills are required.

Also, just assigning work to the assigned members does not mean that development will proceed well. Proper management is also important, as technical issues can arise.

Summary,

  • Direction skills to assign members to the project
  • Assigned personnel and schedule management skills

Etc. are required.

3.4 [4] Business knowledge such as accounting and production control

The fourth required skill is ” business knowledge such as accounting and production control “.

Especially when developing business applications, “knowledge of accounting and production control” is indispensable. This is because if you do not understand the business, it will be difficult to understand the specific issues.

Business understanding is directly linked to system quality.

After putting in business knowledge

  • Issues that can be covered by operations
  • Problems to be solved by the system

Techniques for organizing such things as requirements definition and basic design will be required.

3.5 [5] Programming skills

The fifth required skill is ” programming skill “.

On a large scale, there are cases where a programmer is asked to develop. However, programming skills are essential when programmers have technical problems, code reviews, and so on.

Furthermore, in the case of a small project, there are cases where it is implemented as it is after designing. Of course, programming skills are required because you implement it yourself.

In addition, programming skills are necessary even for those who “do not have the opportunity to code review or do their own programming”.

This is because if you can’t imagine programming, you may end up with a “design that is technically difficult to implement.” If you realize that you cannot make a design when you want to implement it, you will have to start over from the design.

4. Qualifications to help application engineers

Here are three qualifications that will help you as an application engineer.

4.1 System Architect Exam

Source: System Architect Exam (SA) | IPA

The system architect test is a national qualification that asks for the knowledge necessary for the upstream process of system development. This qualification is also recommended for application engineers because it allows you to learn the knowledge required in upstream processes such as requirement definition and design.

Please check the following for the exam schedule, price, and venue.

Exam name System architect exam
Exam schedule Spring: 3rd Sunday of April ( 2021 will be held on April 18th (Sun) )
Exam cost 5,700 yen
Exam venue Tests conducted in major cities nationwide

4.2 Java SE 8 11 Certification

Source: Java SE 11 Certification | Oracle University

The Java SE 8 11 certification is a qualification that measures the knowledge and skills of the programming language Java. If you often use Java at work, this is a required qualification.

There are three levels, each with different knowledge and skills.

• Bronze
 An introductory qualification for language inexperienced people with the aim of having a basic knowledge of object-oriented programming using the Java language.

• Silver
 Qualification for beginners who have basic Java programming knowledge and can perform development work under the guidance of advanced users.

• Gold
 A qualification for intermediate and advanced users who understands the designer’s intentions correctly and can implement functions by themselves.

Please check the following for the exam schedule, price, and venue.

Exam name Java SE 8 11 Certification
Exam schedule You can take the test at any time
Exam cost Bronze: 15,000 yen (excluding tax)
Silver: 29,400 yen (excluding tax)
Gold: 29,400 yen (excluding tax)
Exam venue Pearson VUE test centers all over the country

4.3 Ruby Engineer Certification Exam

Source: Ruby Engineer Certification Exam | Ruby Association

The Ruby engineer certification exam is a qualification that asks for Ruby development knowledge and skills. If you mainly develop web applications using Ruby, this is a qualification you want to keep.

The Ruby Technician Certification Exam has two levels.

• Silver
 A test that asks you to have a basic skill level in Ruby grammar knowledge, Ruby classes and objects, and standard library knowledge.

• Gold
 A test that requires deeper knowledge of Ruby than Silver, as well as tests required for program design.

Please check the following for the exam schedule, price, and venue.

Exam name Ruby Technician Certification Exam
Exam schedule You can take the test at any time
Exam cost 16,500 yen (tax included)
Exam venue Test centers all over the country

5. Estimated annual income of application engineer

According to the annual income survey of application engineers conducted by the recruitment site “doda”, the average annual income of application engineers is as follows.

The average annual income of the application engineer was 4,404 thousand yen, and the bonus was 590,000 yen in winter and 588,000 yen in summer.
Source : Application Engineer | doda

Similarly, in doda’s average annual income ranking , the overall average annual income is 4.09 million yen. Compared to other occupations, you can see that the annual income of application engineers is high.

6. Future potential of application engineers

An application engineer is a job that can develop systems in various programming languages. This makes it easier to draw multiple careers.

Here, we will introduce the future potential by dividing it into three developments.

6.1 Business application development

The first is ” business application development .”

Full-scratch B2B application and business application development may be replaced by cloud services such as SaaS for corporations. For example, the following example.

(* Editor’s note: Unlike scratch development in-house, in SaaS for corporations) App review and version control can all be handled on the Yappli side, and anyone can operate corrections and updates from the management screen with CMS. Since it is a flat rate system, no additional cost is incurred. When I heard from the sales staff, I felt that we could almost solve the problems we had.
Source : Zero difficulty in operating apps and significantly reduced man-hours for operation –NEC | yappli

 

As a result, business applications may also become cloud-based. However, not everything can be replaced by the cloud, so

  • Learn the cloud and acquire the skills to develop SaaS
  • While continuing full scratch, acquire peripheral skills

It may be good to think about the career path in either.

6.2 Web application development

The second is ” Web application development “.

“It seems that the number of people starting Web engineers is increasing, and I’m worried about losing my job …”
“I’m worried that AI is evolving and I’m worried about losing my job …
” There are many. But don’t worry.

The work of web engineers is expected to continue to increase. There are three reasons for this.

    1. According to the “Survey on IT Human Resources Supply and Demand” published by the Ministry of Economy, Trade and Industry, it is expected that the shortage of IT human resources will continue to accelerate
       .
    1. The number of start-up companies is increasing, and many Web services are being developed
       → It is expected that the timing when Web engineers will be needed will increase in the future.
  1. Of the 10 top companies in the world, 7 are Web and IT related companies
     → It is unlikely that Web-related work will suddenly disappear

Please read the following articles for the above details and the characteristics of web engineers with high future potential.

Is there a future for web engineers? do not have? How to increase demand and market value

6.3 Smartphone application development

The third is ” smartphone application development .”

Until now, smartphone apps have been developed using the development languages ​​of iOS and Android. But in recent years

  • Hybrid development
  • PWA

Development methods such as are also increasing.

Hybrid development is a method of developing apps for multiple operating systems. It refers to an application development method that works on both iOS and Android.

PWA is an “app that can be run on the Web” even in hybrid development. If you can experience the same experience as an app on the Web without installing it, it is attracting attention because it can promote the use of the app smoothly.

However, even in the process of hybrid development, the demand for development in programming languages ​​dedicated to iOS and Android has not become zero. As for the direction,

  • Continue development of Swift (iOS app) and Kotlin (Android)
  • Acquire development skills using hybrid development languages ​​(React Native, Unity, etc.)
  • If you reach out to the realm of the web, acquire PWA development skills

It is recommended to think about the career path with three axes such as.

7. Summary

This time, I explained the work contents of application engineers, required skills, annual income, etc.

One of the tasks of an application engineer is not only to create a program but also to proceed with the upstream process with the client. Not only can you gain experience in various application developments, but you can also learn the entire development process.

You may also like

Leave a Comment