Software Engineer
Annapolis Micro Systems, Annapolis, MD, United States
Annapolis Micro Systems, Inc. is 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.
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 complex 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 for Software Products
- Manage Software Releases and Version Control
- Produce Software Documentation
- B.S. in Computer Science, Electrical or Computer Engineering
- Has received, or are willing to receive, the COVID-19 vaccine
- 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