Position : Java Developer with OSGI experience
Location : San Ramon, CA
Duration : 6+ Months
We are looking for an Staff Software Engineer to work in a team made up of developers, Quality Engineers, User Interaction Design Engineers, Architects, and the Product Owner team to lead the design, development, and delivery of high quality software in a fast paced, challenging, and creative environment.
· Be responsible for the design, develop and test multiple software modules
· Ensure implementation meets design objectives
· Investigate and evaluate new technologies
· Establish yourself as a thought leader across the software organization related to embedded and real-time software design and coding principals interfacing to cloud computing architectures
· Collaborate with other software developers in the team to implement software that align and extend platforms and systems for industrial internet
· Join a high-performing Agile team adept in the ways of scrum and test driven development
Qualifications / Requirements
· BS in Computer Science, Electrical Engineering, or Computer Engineering. MS is desirable.
· Minimum of 10 years’ experience in Object Oriented Design and Programming in Java or C/C++.
· Minimum of 5 years embedded software development experience
· Application / Software Stack experience
· Networking, Enterprise level Java experience
· Proficient in Java
· Strong knowledge in embedded systems stacks and developing embedded middleware with a preference for real-time experience in a network-connected device setting
· Knowledge of security/access control, scalability, high availability, concurrency, online diagnoses, deployment, upgrade/migration, internationalization, production support and other SaaS enterprise software issues.
· Proficient in applying common design patterns, ability to communicate design ideas effectively using UML.
· Experience with embedded OS development, kernel and device drivers is an advantage
· Experience with usage of Network/Packet Processor technologies
· Strong problem solving skills along with excellent verbal and written communication skills
· Experience with device management and control is required
· Microcontroller and DSP and FPGA programming experience desired
· Custom Platform Tool Chain and Build System experience desired.
· Experience with real time operating systems (RTOS), such as VxWorks, QNX, etc. is a plus
· Experience in Socket programming.
· Expert understanding of multi-threaded priority based systems
· Networked Appliance Solutions experience
· Multiprocessor/Multi-OS solutions experience
· Strong knowledge of Test Driven Development practices
· Deliver world-class usability and user interface in our products
· Experience working with Agile software development methodologies
· Familiarity with SOA, Cloud Computing and SW design principles related to SOAP/REST Web Services
· Able to work under minimal supervision
· High energy, results driven person with strong interpersonal skills