Software Engineer
Location
Germany
Job Type
Full-Time
Job Overview
This position is responsible for developing functionality across the Aegis product suite in a team setting, while interfacing with management and architects for tracking work progress. Will take on projects of all complexities.
Role Definition
You will be working with a team of engineering professionals to improve existing software or create new products. As a software engineer, your job duties include coding software while coordinating with other engineers. You will need excellent communication, coding, and analytical problem-solving skills, as well as the ability to work as part of a team.
Business Travel
Business travel of approximately 10 percent yearly is expected for this position.
Preferred Education
Bachelor's degree in computer science, software engineering, or another related field.
Work Experience
Typically has three or more years in an industry-related role.
Skills & Competencies
- Experience with PLC Integrations (OPC UA, TCP/IP or via middleware, e.g. Kepware).
- Working knowledge of full-stack .NET development with ability to work across User Interface, Business Logic, and Data Access Layers.
- Experience and/or working knowledge of multiple of the following technologies: WPF (Windows Presentation Foundation), WCF (Windows Communication Foundation), SQL Syntax, Entity Framework, LINQ, MVVM, Lambdas/delegates, .NET Remoting, Visual Studio 2015 / 2017 / 2019, TFS (Team Foundation Server), DevExpress, C++, WinForms, Unit Testing.
- Strong written and verbal communication and interpersonal skills.
- Proficiency in the English language (conversation and text).
- Proficiency in the German language optional.
- Great analytical, critical thinking and problem-solving abilities.
- Experience with the full Software Development Lifecycle.
- Strong adaptability and capacity to work in fast-paced environments.
- Good presentation skills.
- The ability to prioritize activities and deliver projects on time and within budget.
- Knowledge of Agile / Scrum methodologies.
- Set priorities and escalate issues appropriately. Proactively identify problems and propose solutions.
- Continuously and independently improve knowledge and skills.