Understanding of object-oriented programming, networking with sockets, multithreading, and implementing cryptographic protocols for data at rest and data in transit.
Understanding of how operating systems use hardware protection capabilities to prevent cyber attack techniques, including buffer overflows, off-by-one vulnerabilities, memory leaks, and format string attacks.
Understanding of kernels, micro-kernels, and/or real-time operating system internals, including use of operating system APIs and hardware security boundaries.
Experience with reverse-engineering tools, including debuggers and disassemblers, and/or abilities creating code-generation automation tools.
Knowledge of version control systems and continuous integration/continuous delivery tools.
Ability to advise and assist teammates by clearly explaining complex techniques.
Ability to develop technical solutions to complex problems.
Responsibilities
Develop device drivers for current, new, and emerging hardware products centered on ARM, Intel, and RISC-V processors.
Develop tools and applications that work in both user and kernel space.
Develop custom capabilities used on live systems, especially capabilities focused on protecting systems.
Support operations and national security interests.
Desired Qualifications
Understanding of hardware, kernels, and reverse engineering of low-level central processing unit and system aspects.
Understanding of attacker techniques for bypassing protections such as stack canaries, data execution prevention, kernel address space layout randomization, control-flow integrity, kernel patch protection, supervisor mode execution prevention, and supervisor mode access prevention.
Experience using reverse-engineering tools, including debuggers and disassemblers, and/or creating code-generation automation tools.
Experience with Git or GitLab.
Comfort leading small teams and potentially functioning in a project leadership role.
Cohere is looking for software engineers with C/C++ and assembly skills, hands-on knowledge of operating system internals including writing device drivers for current, new, and emerging hardware products centered on the ARM, Intel, and Risc-V processors. You will be working with cutting-edge designs and will be encouraged to dream up unique and elegant solutions as a part of a highly motivated and productive professional team. Any hardware, kernel, knowledge and reverse engineering of low-level CPU and system aspects is a plus.
Clearance:
No clearance is required. However, we seek individuals that have an appropriate background for obtaining a high-level security clearance.
The Role
This position is for an Embedded Systems Software Developer position. Applicants should have an understanding of kernels, micro-kernels, and/or RTOS internals, including using OS APIs and security boundaries available in the hardware. As an Embedded Systems Software Developer, you develop capabilities in support of operations. Your primary focus will be developing tools and applications that work in both user and kernel space. You will play a crucial role in developing custom capabilities used on live systems especially focused on protecting system. You will be a key player supporting national security interests.
Requirements and Skills:
When assessing candidates for the Embedded Systems Software Developer position, Cohere is looking for candidates with the following knowledge, skills, and abilities:
Software – Candidates should be able to demonstrate extensive experience coding in C/C++ and Python, including understanding Object Oriented Programming, Networking (sockets), Multithreading, and implementing cryptographic protocols for data at rest and data in transit. You should be capable of developing technical solutions to complex problems.
Hardware – You should have some understanding of how operating systems use and leverage hardware protection capabilities and how to use these to prevent a wide range of cyber attack techniques, including stack and heap attacks such as buffer overflows, off by one vulnerabilities, memory leaks, and format string attacks. Any additional understanding in how attackers bypass protections like stack canaries, DEP, K/ASLR, CFG, KPP, SMEP/SMAP is a plus.
Reverse Engineering – Any experience using RE tools including both debuggers and disassemblers and/or abilities creating code generation automation tools is also useful.
Creative Thinking – as Operating Systems and Hardware evolve, tools that worked before probably will need improvements in the future. Migrating software quickly to new Hardware platforms will require beyond-the-norm abilities. We need team members who are driven to learn and excited about solving hard problems and who can adapt to changing environments.
Communication – Just as important as your technical skills, as a Subject Matter Expert, you are expected to advise and assist the other teammates. This requires being able to clearly break down and explain complex techniques to others.
Collaboration – You should know how to use a version control system and CI/CD tools, preferably git or gitlab.
Leadership – You may function in a project leadership role, and you should be comfortable leading small teams.
Interested in working in this space, but don’t feel you meet all the qualifications? Reach out anyway. Cohere is willing to mentor and develop promising candidates, ensuring they have the skills and abilities necessary to excel.
Cohere knows that our employees are our most valuable assets. Cohere offers competitive pay, commensurate with experience, labor categories, and current market demands.
FULLY PAID health care premiums for medical with PPO and HSA options
FULLY PAID dental, vision, and life insurance
Earn 240 hours PTO / year (30 days, accrued at 20 hours/month)
401k plan with matching employer contributions and profit sharing
Extremely lucrative referral programs
Monthly billable incentive rewards
Yearly training allowance for self-development
Flexible schedules
About Cohere:
Cohere was founded in 2015 by seasoned intelligence community engineers to unify and streamline both cyber and kinetic workflows for the Intelligence Community and the Department of Defense.
We are looking for candidates to join our team as we grow our cyber development department. This is an opportunity to join a close-knit team of engineers who are passionate about learning from each other and developing next-generation capabilities supporting our stakeholders’ operations. Your work will contribute directly to securing infrastructure from malicious cyber actors.
We invest in our people, offering tailored training and mentorship as we grow our engineers. We believe that providing opportunities to learn fuels individual and organizational success. At Cohere, not only will you take your technical skills to the next level, but if desired, you can learn the processes and skills necessary to launch your own company too. We offer mentoring opportunities to learn from experienced leaders on creating and growing your own contracting business.
If you have a background in coding and computer security and want to take your career to the next level, with the ability to learn from senior engineers invested in your success, apply today!