Diamond Key Security (DKS) is bringing to market a unique set of security products that are designed and built upon the open and transparent CrypTech technology for a multitude of enterprise and individual applications.The CrypTech project initiative has succeeded in building a generalized module for cryptography functions that underpin secure communications and Internet technologies. The Diamond Key business will launch initial products in the near future and within a short-time have multiple product solutions, generating multiple revenue streams across diverse markets.The initial products will be Hardware Security Modules (HSMs) for DNSSEC applications and identity management.Software development expertise is required to implement mathematical security algorithms and software systems for control and integration of hardware cryptography solutions.
Software development position focused on designing and implementing software systems for cryptography algorithms and applications within a Hardware Security Module (HSM) and integration of software applications to interface with the HSM.Code development may and will likely include both embedded systems programming for the algorithmic design and implementation, application interface and driver programming for varying operation environments, and graphical user interface based application design for management systems and applications.
The following duties and tasks describe and outline the role of the Software Development Specialist. These duties should not be taken as exclusive of other tasks. The Software Development Specialist role will include other duties and tasks as assigned and requested by the Managing Director, Technology or other staff as delegated. It is understood that the Software Development Specialist will perform and function with high level of professionalism and be self-motivated to achieve the results and meet expectations of the job. The following points summarize some of the key aspects of the role.
- Validating independent, third-party applications interoperability with the HSM; including designing and enhancing the HSM interface to interface with said applications.
- Designing and implementing software systems and related algorithms related to cryptography
- Designing and implementing software solutions for application interface with varying computing platforms including but not limited to Linux, Windows, and MacOS
- Designing and implementing solution management software controlling operations and parameters for control of cryptography solutions including hardware security modules
- May include executing test plans and programs to verify Diamond Key Security, CrypTech and/or other third-party functionality, operation, and performance against requirements and plans
- Debugging faults found during testing: collect diagnostic information; co-ordinate with application developers and system software groups to devise and obtain fixes and workarounds; develop local software patches as necessary
Candidate RequirementsTechnical Knowledge and Experience
- BS in software engineering, computer science, or computer technology and two (2) to five (5) years of device driver and embedded software development in C, C++, or assembly required
- Experience with Linux required
- Knowledge in scripting languages (e.g. Python) is a strong plus
- Software development experience working closely with hardware development desired
- Familiarity and/or direct experience collaborating on open-source projects a strong plus
- Good understanding of embedded system architectures including FPGA systems desired
- Ability to document results and discovered processes for duplication by and edification of peers
- Familiarity and/or direct experience and interest with cryptography and/or IT security systems a strong plus
- Experience with TCP/IP, DNSSEC, or other core Internet software and/or functionality or applications a strong plus
- Motivated by, and committed to, to meeting challenging individual and team deadlines
- Comfortable working in a small team
- Keen to learn new skills, and apply existing skills in new areas
- Able to set own work targets and plan how to meet them
- Able to cope to short periods of intense pressure
- Methodical and well-organized
- Good written and oral communication
- Sets high personal standards for quality of work
- Self-motivated, energetic, and determined attitude with a flexible and teaming approach to work deliverables. Able to work well under tight deadlines and within a team environment
Palatine, Illinois USA or possibly remote
Will consider both direct hire, permanent staff or independent consultants for this position. Comprehensive health including medical, dental, vision and life plans and a generous corporate 401(k) contribution are included for this position for qualified direct hire applicants.