The Senior Linux Application Architect Developer leads complex software development projects utilizing Linux based compilers in the architecture, design and execution of embedded systems. This is expected to be a 6-12 month contract assignment.
· Ability to lead small team of engineers
· Architecting, implementing and Maintaining an Embedded Linux image for embedded products (Yocto, Wind River)
· Writing expert-level software in C/C++ for Embedded Linux devices
· Participating in software design process by asking questions, "poking holes," offering suggestions, etc.
· Following industry best practices when implementing software, especially around areas surrounding security and privacy
· Testing software via automated methods, including but not limited to writing and running unit tests, functional tests, and integration tests, as well as manual methods
· Using visual design, information architecture, and interaction design to assist the writing of working software
· Checking code into version control according to company version control policy
· Keeping up on changes and advances in the technical world
· Participating in architecture discussions and decisions
· Participation in code reviews
· Other tasks and responsibilities based on business needs
· Bachelor’s degree in Electrical Engineering
· At least 5-10 years of professional experience programming with C/C++.
· Demonstrated experience in complex embedded Linux application software architecture development, software design, implementation and test
· Expert level of understanding of Linux Applications on Embedded devices
· Expert level of understanding of threading, message queues, IPC, and memory management
· Detailed understanding of Remote Procedure Call and Data Serialization
· Understanding of advanced software engineering techniques
· Knowledge of multiple areas of software engineering
· Experience implementing automated tests, including unit, functional, and integration tests
· Advanced version control and SCM knowledge such as Subversion, Git, Mercurial.
· Testing and debugging experience on embedded Linux platforms
· Strong communication skills working with technical and non-technical levels
· Strong leadership skills, driving tasks through the development of, and maintain ownership of, complex engineering projects throughout life-cycle including specification, architecture, design, implementation, testing, and post-release maintenance
· Demonstrate a commitment to process/policy compliance and a willingness to promote continuous improvement initiatives
· Preferred experience as technical lead with responsibilities for architecture development, unit and system design, detailed implementation and test.
· Preferred experience developing Qt applications (or similar application framework experience)
· Experience designing and implementing JSON messaging
· Experience interfacing embedded devices with Enterprise or Cloud based systems
· Experience using a Linux platform build system like Wind River or OpenEmbedded/Angstrom
· Project planning/management
· Networking protocols: TCP, UDP, HTTP
· Security and encryption protocols such as SSL, TLS, SSH, PKI, AES
|Salary||0 to 0|
|Years of Experience ||5+ to 10 years|
|Minimum Education ||-|
|Willingness to Travel||-|
|Hours per week||0|