Software Engineer

As an Essential Business with mission-critical commitments, Annapolis Micro Systems is full speed ahead. To maintain our positive momentum, we are seeking multiple Software Engineers.

We offer the variety, challenge, and stability you are looking for. We perform both government and commercial work, and members of our small, tight-knit team get to wear multiple hats. You will be working on high-profile programs that have an important bearing on national security and computing technology.

Woman-founded in 1982 and located in beautiful Annapolis, Maryland, we have a long history of designing and building the highest-performing embedded computing products. We offer a professional, friendly environment, with the opportunity to be compensated well for doing cutting-edge work.

Job Description

We are seeking an intelligent versatile software engineer to expand our Software Design Team. Our accelerator products employ FPGA technology to provide computing capabilities far beyond what general purpose processors can provide. Our new Product line will offer unprecedented processor interconnection bandwidth and performance. Members of our Software Design Team work as part of a group to create interfaces between conventional processor platforms and our FPGA based accelerators, develop and support IP product development of High Speed Protocols using FPGAs, such as PCIe, Infiniband, and 100Gbit Ethernet, as well as develop very high speed protocol switch products. In addition you will work with and develop on various microprocessor platforms. Your contributions will help us continue to lead our industry and expand our market.

Enjoy the benefits of working for a small privately-held company with on-site hardware and software design, as well as on-site manufacturing and test. The close coupling of all aspects of design and production under one roof allows us to create products and systems at a rapid pace while maintaining the highest possible quality. The opportunity to interact with other departments on a daily basis provides a first-rate opportunity to further develop your career as you diversify your experiences.

 Essential Duties and Responsibilities

  • Develop, Maintain, Test, and Deploy Software Products
  • Design and Test Device Drivers for Windows and Linux
  • Design and Test API, User Examples
  • Design Interfaces to Complicated ASICs
  • Design and Test VxWorks BSPs and Applications
  • Embedded development and deploying operating systems on our products
  • Interpreting Hardware Schematic Diagrams
  • Design Object-Oriented Software Architectures
  • Capture Requirements By Hands-on Hardware Development Support
  • Automate Build, Test and Deploy Software Products
  • Provide Second-Tier Customer Support of Software Products
  • Manage Software Releases and Version Control
  • Produce Software Documentation


  • B.S. in Computer Science, Electrical or Computer Engineering
  • Desired knowledge of languages: C/C++, Java
  • Desired knowledge of compilers: Microsoft Visual Studio, gcc
  • Desired knowledge of platforms: Microsoft Windows, Linux, Solaris, VxWorks, Cygwin
  • Desired knowledge of tools: make, Subversion, PERL, Python, Eclipse, SWIG, Ruby, Rails
  • Desired knowledge of: Object-Oriented Principles and Design, UML, XML, XSLT, HTML
  • Desired knowledge of: 1/10/40/100 Gigabit Ethernet, SDR/DDR/QDR/FDR Infiniband, PCIe Gen 3
  • Experience with real-time embedded environments (RTOS)
  • Experience with Interrupt Handlers and DMA
  • Experience with Device Drivers
  • Strong communication skills
  • U.S. Citizenship