Software Engineer, Embedded .NET Development
The Software Engineer is responsible for design, development, and support of embedded software in Hart InterCivic’s election systems products written in C#. The engineer in this role must be experienced and skilled in the full software development life cycle with a concentration on interaction with peripheral devices, Microsoft stack and embedded user interaction development. The engineer in this role must work with architects, developers, quality assurance and application engineers as well as with engineering and product owners.
- Design, develop, and unit test software across the full .NET application stack
- Write and execute unit tests
- Follow strict software development processes and standards
- Utilization of documented architecture patterns & best practices
- Two to eight years’ experience as a software developer, majority within the C#/.NET environment
- Practical experience with C/C++ is useful, especially within the .NET environment.
- Cross section of practical .NET application development experience with LINQ, Dependency Injection, Regular Expressions, WCF, as well as multi-threading and inter-process communication
- Knowledge of common design patterns, including Repository Pattern, Unit of Work, Inversion of Control / Dependency Injection, Template Pattern, and Singleton Pattern
- Real world applied use of Object-Oriented Analysis and Design using UML modeling and SOLID principles
- Experience with version control systems (SVN preferred), defect tracking systems, and/or Jira
- Experience working closely with SQA teams
- Strong quality skills with unit test development
- Knowledge of ORMs such as NHibernate or Entity Framework
- Experience with writing modules of interactions with various peripheral devices: printers, scanners, displays, USB devices.
- Understanding of cryptographic primitives and security basics
- Experience with communication protocols: TCP/IP, HTTP, Serial
- Experience with state machine development is highly considered a significant plus
- Bachelor of Science degree in Computer Science, Electrical Engineering or equivalent combination of technical education and experience
Email your resume and cover letter to Hart InterCivic Jobs.