Skip to main content

Software Engineer

The software engineer creates high-quality software solutions (incl. FPGA) by analyzing requirements and designing, developing, integrating, and testing software for products or systems.

Description

The software engineer implements solutions, including testing and debugging the software. Also included are maintaining and improving the software once it is in operation. For new development, different solutions should be evaluated. The best possible solution is selected depending on value, cost, or any other constraints.

Collaboration is an integral part of the job, as developers frequently consult with management, customer, and other developers to solve technical challenges and determine the requirements of the software system.

Software engineers are problem-solvers who possess analytical skills and the ability to think outside the box and comprehend advanced and complex technical systems in a customer context. The solution provided by the software engineer must be professionally developed and adhere to relevant standards, guidelines, and instructions.

Responsibilities

  • Understand the customer requirements and propose a possible solution (evaluate alternative solutions based on value, cost, quality, technology, etc.).
  • Design and implement the solution.
  • Ensure the quality of the solution (code reviews, static code analysis, code coverage, unit tests, etc.).
  • Integrate the solution into the product/system, and ensure it works as expected.
  • Improve the quality of existing software (correct defects, root cause analysis, etc.).
  • Increase knowledge of relevant new technologies that can be used in the future.
  • Work collaboratively and professionally with other colleagues in cross-functional teams to achieve goals.
  • Apply a sense of urgency, commitment, and focus on the right priorities in developing solutions in a timely fashion.
  • Provide information for manuals and review them for technical accuracy.
  • Ensure required policies and standards are followed (safety, security, open-source, etc.).
  • Ensure the required guidelines and instructions are followed (configuration management guidelines, style guides, etc.).
  • Utilize modern software engineering tools (Azure DevOps, SonarQube, Klocwork, etc.).