Project Description
.NET DEVELOPER WITH F# EXPERIENCE
Signaling Design Automation Products
Job Description
You will develop and maintain software for railway signaling design automation, at a company who is world-leading in design tools and applied formal verification for railway signaling. Our .NET products provide the most advanced technology packaged to be most useful for railway signaling engineers.
- Prover iLock is a complete tool set for simulation, formal verification and code generation of signaling systems.
- Prover Extractor reads relay schematics and converts them to logical expressions for formal verification.
New modules are written in F# while old modules were written in C#. Your job will be to develop new features and maintain old ones, in tight collaboration with a colleague. Work tasks include core algorithms as well as maintaining Python API’s and graphical user interfaces.
You will use the following techniques daily:
- Windows with Visual Studio
- Linux servers
- F#, C# and Python
- Windows Forms (WinForms)
- Git
- Continuous integration with Jenkins
You will be part of our R&D team which is located in Stockholm, Sweden. But we do some work remotely and plan to do so even more in the future.
Skills & Requirements
- .NET with F# experience
- Degree in computer science or software engineering (at least three years of university studies).
- Functional programming and object-oriented programming
- GUI implementation
- Development using version control (Git), using branches, merge requests and peer review
- Working with legacy code (adding tests, refactoring)
- Unix tools (bash, make, ssh, grep, cat, find, …)
- Fluency in English. (You don’t have to speak Swedish.)
The following skills and techniques are valuable as we use them frequently, but if you don’t know them you will have time to learn:
- Visual Studio
- C# and Python
- Compiler theory (language design, parsing, processing)
- Formal verification using SAT-based model checking
- Building native C libraries using Microsoft Visual C++