I’ve worked on projects with strong technical development teams and equally capable business sponsors who have struggled to understand each other. Sometimes it was because we used different terminology, and sometimes we just didn’t understand the subtleties of a business concept or the constraints of using a particular software component. This is why we need application engineers. It can be a challenging position to fill, so before you dive into application engineering, consider what it takes to succeed in this important and demanding role.
What Is an Application Engineer?
An application engineer is someone who focuses their engineering skills on improving the quality of services provided by an application. In some cases, this can mean they work closely with business sponsors to understand the business objectives and detailed workflows required to deliver a service to the company’s customers.
At other times, application engineers collaborate with application developers to ensure the developers understand requirements and choose wisely when balancing requirements and constraints on development. Application engineers also work with architects to plan new software architectures to enable the creation of scalable, reliable, and secure applications.
Another key responsibility of application engineers is ensuring reliable and performant operation of applications. When a service goes down, an application engineer should be identifying root causes, assessing mitigation options, and ensuring the problem is resolved.
What Skills Are Needed to Be an Application Engineer?
Application engineers have both technical and business skills. On the technical side, application engineers must be well versed in software engineering practices, including requirements gathering, software design, coding, automation, and testing. Application engineers must also have well-developed diagnostic and troubleshooting skills.
They should also be skilled with project management practices. Application engineers should be able to work with product owners and other team managers to plan work around application development and be a key stakeholder in product development, product redesign, and more. Beyond this, application engineers should be comfortable being customer-facing and collaborating with business customers who drive product requirements. This often requires understanding the details of the business domain, which could include finance, logistics, marketing, and product sales.
Figure 1. The varied mix of skills required of an application engineer.
Is an Application Engineer a Real Engineer?
Engineers design and build things. Civil engineers design and build roads, electrical engineers design electronics, and software engineers create systems by programming. Application engineers are real engineers—they’re members of engineering teams who design, build, and maintain applications; they troubleshoot issues with applications; and they work constantly to improve the quality of applications.
Application Engineer vs. Programmer
Although application engineers have software engineering skills, they don’t have the same role as a programmer. Programmers typically implement application code using software engineering tools such as integrated development environments, version control systems, and continuous integration and continuous delivery (CI/CD) pipelines. Programmers work with architects, data modelers, and others to determine how to implement and test new application features.
Application engineers don’t spend most of their time coding, although they can expect to write code occasionally. Application engineers focus on the overall operations and effectiveness of an application. This may require some work with programmers to implement a new service or devise a new algorithm to improve the performance of an application component.
Is Application Engineering a Good Career?
Application engineering is a good career path for people who like design things, investigate and solve problems, collaborate with others, and work on both business-oriented issues and technical challenges. There are currently more application engineering jobs available than people to fill them.
If you’re a software engineer and want to expand the kinds of problems you work on, application engineering is a good option. You can use your software application development skills and knowledge to help others understand application development processes and challenges. You can also leverage your troubleshooting and diagnostic skills, along with any technical support background, to help ensure the application is available and performant.
If you’ve been working in operations and systems management, application engineering is a career to consider. Working in operations means you’ve probably gained significant experience working with infrastructure, planning systems integrations, and detecting and resolving system-level problems. All these skills will help you succeed as an application engineer.
As an application engineer, you’ll be exposed to business and technical issues in the business, which is essential experience for someone who would like to move into management or other business-oriented roles.
How Do I Become an Application Engineer?
To become an application engineer, start by assessing the relevant skills you have and identify skills you should develop.
For example, if you’re a software developer with extensive coding experience but limited exposure to business topics, learn more about several areas of the business based on your interests. If you’re interested in business management, exposure to finance and project management will be helpful. If things like production operations pique your interest, learning about manufacturing processes, supply chains, and logistics are good areas to begin exploring.
For someone with work experience in systems operations and infrastructure and technical support, look for ways to improve your software development skills. It’s especially important to understand software development practices and tools, including agile development, source control, CI/CD, and observability.
Communication skills are another area to focus on improvement, especially if you don’t have many years of experience in this area. Interpersonal skills are an essential (and often overlooked) skill set that doesn’t come with a bachelor’s degree in computer science.
Best Tools for Application Engineers
Like other engineers, application engineers need tools to do their job. Some of the necessary tools overlap with those used by project managers and software developers. One area of application engineering especially dependent on effective tools is observability.
Application engineers need to understand the internal state of applications beyond basic performance monitoring. For example, if an API is experiencing long latencies, an application engineer might need to understand why and what impact it has on customers. To truly investigate, they need access to telemetry data like metrics, logs, and traces in a comprehensive, centralized view across the environment to help them more easily understand service relationships, dependencies, and availability.
SolarWinds® Observability is built to provide consolidated insights into the state of applications to help you better understand relationships and interactions between system components with integrated distributed tracing, log monitoring, and AIOps-driven notifications. SolarWinds Observability can help you gain deeper insights across the full stack of your applications and pinpoint the root causes of problems faster. See how by downloading a free trial here.