PEMDAS is looking for an experienced C#/C++ software engineer to join our geographically dispersed team. You will be part of a team developing the back-end data services of our environmental intelligence system to include building APIs, performance tuning algorithms, and architecting our solution going forward. We are in the process of converting most of our codebase from Python to C# .Net Core and all new effort will be written in C#. Occasionally some projects will require C++.
You will be expected to follow typical software development processes. Our developers use Git version control, continually integrate their software updates with automated builds, follow Agile software development processes, fully document their code, and follow accepted code style standards. This position offers a wide range of creative freedom, but utilizing these best practices allows us to maintain structure, consistency, and high quality products.
As we are a remote team spread across multiple US time zones, you must have the discipline to manage your time while working from home. Occasional travel will be required (<25%) in order to better coordinate implementation of complex solutions with our team and to facilitate demonstrations of our solutions to our government clients on site.
The Basics
- BS/MS degree in Software Engineering, Computer Science, or a related subject
- Ability to obtain a DoD security clearance (currently cleared a plus)
- Proficiency with C# and C++ (minimum 3 years)
- Proficiency with Linux
- Familiarity with ASP.Net Core and Entity Framework Core
- Familiarity with GIS concepts
- Familiarity with Atlassian or similar tool suite for task tracking and development processes
- Ability to document requirements and specifications
Preference given to candidates with:
- Experience with meteorological data
- Familiarity with Python
- Familiarity with MATLAB
- Experience with GIS systems
- Experience with containers
You will be a perfect fit if you:
- Develop well-designed, implementable, and testable software
- Enjoy working on new, unexplored problems
- Do not like working mundane tasks, but prefer the ability to develop creative solutions
- Can conduct feasibility studies and advise on alternative approaches (trades)
- Work well as part of self-organizing team and are open to pair programming
- Thrive when working in the comfort of your own home as part of a geographically separated team