Roles and Responsibilities:Design, develop, and implement software components for our XD products embedded systems (Embedded Linux) using C/ C . Utilize deep knowledge and understanding of embedded systems, including hardware-software interactions, low-level programming, and real-time constraints. Contribute to defining and designing the system architecture, including software components, interfaces, and system integration. Write efficient, maintainable, and well-documented code, and perform deb... more details
Business Unit:
Cubic Defense
Company Details:
When you join Cubic, you become part of a company that creates and delivers technology solutions in transportation to make people’s lives easier by simplifying their daily journeys, and defense capabilities to help promote mission success and safety for those who serve their nation. Led by our talented teams around the world, Cubic is committed to solving global issues through innovation and service to our customers and partners.
We have a top-tier portfolio of businesses, including Cubic Transportation Systems (CTS) and Cubic Defense (CD). Explore more on Cubic.com.
Job Details:
Roles and Responsibilities:
Design, develop, and implement software components for our XD products embedded systems (Embedded Linux) using C/C++.
Utilize deep knowledge and understanding of embedded systems, including hardware-software interactions, low-level programming, and real-time constraints.
Contribute to defining and designing the system architecture, including software components, interfaces, and system integration.
Write efficient, maintainable, and well-documented code, and perform debugging and troubleshooting for embedded systems.
Work closely with cross-functional teams, including developers, and quality assurance teams, to ensure seamless integration and functionality of embedded software.
Optimize software performance, memory utilization, and power consumption for embedded systems.
Develop test plans, conduct unit testing, integration testing, and validation of software to ensure reliability and compliance with specifications.
Create technical documentation, including design specifications, and guidelines for other team members.
Adhere to industry standards, best practices, and coding guidelines relevant software development.
Stay updated with the latest trends, technologies, and advancements in embedded systems, software development methodologies, and tools.
Identify and resolve technical challenges, performance bottlenecks, and issues.
Qualifications / Skills
Bachelor’s degree in Computer Science, Computer Engineering or related technical discipline plus 10 or more years of relevant experience or Master’s degree in a relevant field with 8+ years relevant work experience
Must be able to obtained security clearance
Comprehensive understanding of embedded systems, including hardware-software interactions, real-time constraints, and low-level programming concepts. Extensive experience in developing applications on Embedded Linux platforms, including kernel space and user space development.
Understanding of Linux kernel architecture, device drivers, and kernel modules Proficiency in C/C++ programming languages, including strong knowledge of memory management, data structures, and multi-threading.
Knowledge of embedded system security principles and best practices for securing embedded Linux application
Understanding of embedded hardware components, microcontrollers, microprocessors, and their interfaces with software.
Proficient in debugging tools and techniques for embedded systems to identify and resolve software-related issues.
Familiarity with development tools such as debuggers, emulators, compilers, and IDEs commonly used in embedded systems development
Understanding of network protocols (TCP/IP, UDP), network configuration, and interfacing embedded systems with network services.
Ability to design, architect, and develop software solutions for embedded systems, considering constraints and system requirements.
Proficiency in using version control systems like Git for managing and maintaining embedded software code.
Competence in creating test plans, performing unit testing, integration testing, and validation of embedded software. Capability to generate comprehensive technical documentation including design documents, APIs, and user manuals.
Job Abstracts is an independent Job Search Engine. Job Abstracts is not an agent or representative and is not endorsed, sponsored or affiliated with any employer. Job Abstracts uses proprietary technology to keep the availability and accuracy of its job listings and their details. All trademarks, service marks, logos, domain names, and job descriptions are the property of their respective holder. Job Abstracts does not have its members apply for a job on the jobabstracts.com website. Additionally, Job Abstracts may provide a list of third-party job listings that may not be affiliated with any employer. Please make sure you understand and agree to the website's Terms & Conditions and Privacy Policies you are applying on as they may differ from ours and are not in our control.
Welcome to Job Abstracts
We would like to take a second to Welcome You to Job Abstracts, the nation’s largest Pure Job Board. With over 3.1 million job listings from 15,000+ Companies & Organizations, we help job searchers find careers that match their interests. As an anonymous user, you have probably discovered how easy our system is to use. However, you have just scratched the surface of what we can offer.
We encourage you to Register so you can use our most powerful features: searching with multiple terms, setting up multiple locations, establishing favorite companies, and accessing your search history. If you find a job you like, you can apply directly for it, and then, keep notes on it. We will also keep a lookout for jobs that match your search terms and email you when we find something you may like.
You can register for free and the system is free to use. If you like our system so far, click on Register and unlock the power required by serious job searchers.
Any time you conduct a search, the system shows you job matches, ranked by their Relevance Score (RS).
The score is calculated by a proprietary algorithm that uses Intelligent Machine Learning.
The Relevance Score tells you how well the job opportunity matches your search term or terms.
When not logged in, the system is limited to one search term. Scores for single term matches are usually lower.
When you register, log in, and set up multiple terms prioritized by importance, the jobs found for you will receive a much higher Relevance Score.