1 Click Easy Apply


Senior Embedded Software Engineer


Raleigh, North carolina


Senior Embedded Software Engineer Job Opening in Raleigh, North carolina - The Senior Embedded Software Engineer will be involved in many different aspects of the product life-cycle, ranging from product specification through software design and validation. Successful candidates will have a proven record of delivering high quality embedded software features within aggressive time frames. The ability to understand system concepts, hardware interfaces, and prior technical leadership experience is strongly desired.
Duties & Responsibilities:
Participate in the project planning process.
Provide guidance and complex subject matter training to lesser experienced team members.
Design and develop formal specifications of products and participate in system development phases.
Develop engineering level documentation and resource requirements.
Lead or participate in requirements gathering.
Design, develop, implement and troubleshoot application and system level software in a variety of programming languages.
Provide excellent written and oral communications to peers, customers and management staff as appropriate.
Determine forms, procedures and other documentation needed for the installation and maintenance of application programs.
Provide solutions to a variety of technical problems of moderate scope and moderate to high complexity and is proficient with sound engineering principles.
Investigate new technologies.
To work in fast paced environment while competing tasks and assigned duties
Qualifications:
Experience: This position requires a minimum of 4 years of related experience.
Experience in the following areas is required:
Algorithms and data structures.
Object Oriented Design and concepts.
Excellent C & C++ programming skills
Standard Template Library (STL) and Inter Process Communication (IPC) mechanisms such as Linux Pipes, Message Queues, Semaphores, and Shared Memory.
Shell scripting preferably in bash.
Understanding of Linux operating systems and programming in an embedded environment.
Debugging techniques.
Unit testing with at least one unit test framework e.g. CppUnit and integration testing
Source code control systems such as Git or Perforce
Ability to work independently with little direction
A consummate team player
Solid communication and collaborative skills
Experience in the following areas is highly preferred:
Writing secure code.
Low-level operating system knowledge such as kernel module or device driver development
Test-Driven development, Continuous Integration and other Agile practices.
Knowledge of profiling, memory leak detection and other code analysis tools e.g. Bounds Checker, Purify, valgrind, V-tune, CodeAnalyst, etc.
Additional skills in the following areas would be a big plus:
Knowledge of routers, firewalls, and network management including IPv4 and IPv6.
Familiarity with one or more of the following hardware interface: I2C, SPI, SDIO, JTAG, UART, I2S, USB, etc.
Familiarity with hardware debugging tools such as scope, logic analyzer, etc.
Knowledge of ARM & x86 processor architectures
Education: Bachelor's degree (Master's preferred) in Computer Science, Computer Engineering, Electrical Engineering or equivalent experience
Job Type: Full-time
Salary: $50.00 to $60.00 /hour
Job Location:
Raleigh, NC 27610
Required education:
Bachelor's

1 Click Easy Apply

TalentEinstein.com - Superhuman AI Recruiting Assistant | Terms & Conditions

All rights reserved
Swanco LLC