Dec 02, 2019

Software Development Engineer

  • Green Hills Software
  • Santa Barbara, CA, USA
Full-Time Engineering

Job Description

A software engineer at Green Hills Software has complete engineering responsibility for one or more major components of the Green Hills product line. For an experienced programmer this is a satisfying position in which you have personal responsibility for creating a tool used by thousands of programmers around the world. Our engineers design and implement Real Time Operating Systems and virtualization, Hypervisor technology, Compilers, Debugger and Development Environment, Secure Virtualization Systems and Hardware Debugging Devices.


Here are the groups for which we are hiring:

  • INTEGRITY Real-time Operating System:Create, upgrade and maintain components of the INTEGRITY memory protected real-time operating system, such as device drivers, board support packages, networking stacks, other native application code, ports of third-party application code, or even the kernel itself. You will have the opportunity to work on one of the fastest growing products in the embedded industry, as well as the opportunity to make INTEGRITY work with bleeding-edge hardware. Projects in this area require familiarity with interfacing directly to hardware and with multi-threaded programming.
  • Compiler: Create, update, and maintain a language front end or a target architecture backend for the highly-optimizing family of Green Hills compilers. A compiler engineer might work on new language extensions, specific cutting-edge optimizations for the latest chips to hit the market, or on general optimizations that will benefit our entire product line. An ideal candidate understands low level microarchitecture designs and is comfortable working with assembly code, yet can also develop tools written in high level languages.
  • MULTI Development Environment: Create, upgrade and maintain a component of the MULTI development environment, such as the debugger, the editor, the builder, the configuration manager, the profiling system, the version control system, or one of several other components yet to hit the market.
  • Target Connections: Connect and extend the MULTI debugger to whatever our customers are building, so they can download and debug their code on their hardware. We build the highest performance debug probes supporting the broadest range of target CPUs. Members of this group are embedded programmers who use C and VHDL, but are also comfortable with extending our MULTI IDE to support new debugging concepts. Hardware experience and knowledge are welcome, but not necessary.
  • Advanced Products: Working closely with sales, engineers in the Advanced Products group will work across all of our products to develop solutions for our customers. Create, upgrade, and maintain products targeting the specific requirements of our customers. Work with customers and sales channels to establish requirements for future product development and participate in the design, development, implementation, and integration of those new solutions. Engineers in this group have a unique opportunity to help develop a complete solution, that combines technologies from across multiple product lines to address specific customer requirements. This position comes with the opportunity for business related travel.

Occupations

Electrical-Electronics Engineering,   Computer-Network Security,   Software-System Architecture  

States

CA  

Security Clearance

NO Security Clearance

Job Requirements

  • Strong programming skills in C/C++ required
  • Must be working toward or possess a BS/MS (CS, ECE, Math) or have 5+ yrs experience in the embedded software industry
  • A GPA of 3.25 or greater is required
  • Should feel comfortable with the idea of personally creating a fairly complex 25,000 line application in about a year
  • Must be willing and able to work independently and with little supervision
  • Should be innovative and passionate about coding
  • Should be excited to take on new challenges

Apply Now