Build my resume
- Build a better resume in minutes
- Resume examples
- 2,000+ examples that work in 2024
- Resume templates
- Free templates for all levels
- Cover letters
- Cover letter generator
- It's like magic, we promise
- Cover letter examples
- Free downloads in Word & Docs
5 Embedded Software Engineer Resume Examples for 2024
- Embedded Software Engineer (ESE) Resume
- What Matters Most: Skills & Work Experience
You can do it all. You know hardware and you know how to build custom software for that hardware all the while managing the complexity of such projects.
How do you possibly include your entire skillset on your embedded developer resume? That’s where we can help.
Since starting BeamJobs, we’ve helped thousands of embedded software engineers land jobs, and these resume examples and guide are a highlight reel of what works (and what doesn’t).
Embedded Software Engineer Resume
or download as PDF
Why this resume works
- Start by digesting the job posting—read it over once, twice, whatever it takes. Then, scribble down all the relevant keywords, skills, and expectations you find. Got them? Great! Then, weave most of these features into your piece to align perfectly with what the hiring company seeks.
Embedded Software Engineer 2 Resume
Embedded Software Engineer 3 Resume
Embedded Software Engineer 4 Resume
Embedded Software Engineer 5 Resume
Related resume examples
- Software Integration engineer
- Security Engineer
- Python Developer
- Entry Level Software Engineer
- Software Engineer
What Matters: Your Work Experience & Skills
Just like you wouldn’t ask a dentist to do your plumbing, recruiters want to make sure you have the right tools for their embedded software engineer role.
Since embedded software engineering is such a blanket term and embedded systems change so drastically from one company to another, it is crucially important that you update your “skills” section for each role you apply to.
Here, recruiters are looking for a reason to throw your resume in the “no” pile. Don’t give them that reason!
Read the job description and include any skills mentioned that you know (i.e. that you’d be comfortable being interviewed on).
9 Top Embedded Software Engineer Skills
- Micro-controllers
- Design patterns
- Parallel programming
- Protocols: I2C, LIN
Sample Embedded Software Engineer Work Experience Bullet Points
Now that you’ve passed the “skills” test, it’s time to showcase what you’ve done in your past roles.
The key is to focus on your impact , not on a list of your job responsiblities.
Talk about your specific work within the scope of a project then talk about the outcome of the overall project. This is the place to give context for your technical skills.
If a particular project you worked on comes to mind as you read the job description of the role you’re applying to, be sure to include it.
Here are a few examples:
- Built custom software in C++ for a micro-controller within an AC unit that reduced the cost of annual maintenance by 6%
- Improved the speed of an embedded system by 17% by changing the microprocessor without changes in materials cost
- Created automated testing infrastructure for custom code written for embedded system for the entire team which reduced error rates by over 50%
- Collaborated with leadership to come up with cost saving measures within product and re-wrote C++ code to accommodate new materials, saving ~$500K annually
Top 5 Tips for Your Embedded Software Engineer Resume
- Imagine someone came up to you and said, “I am organized.” One, you’d wonder why they’re talking to you. And two, you would have no context for what they’re talking about. The same goes for your resume skills section. Focus on your technical skills here.
- Your resume should not just be the bullet points from your job description. Rather, they should be the outcome of those responsibilities. So, instead of saying “managed embedded system,” you might say, “improved efficiency of embedded system by 7%,” for example.
- Because there are so many different kinds of embedded systems, the role of an embedded developer changes so much from role to role. That’s why your work experience should be as specific as possible in terms of what tools and technologies you’ve worked with.
- As soon as you have some real-world experience under your belt, your work experience should be the focus of your resume. A good rule of thumb, it should take up at least 75 percent of your resume. So, for example, if you’re 10 years out of school you don’t need to list all the relevant classes you took while in school.
- Unless your career summary is going to tell a recruiter something new, it’s better to leave it out in favor of more work experience. A good way to make a summary valuable is to focus on your total career impact (in terms of revenue created, time saved, etc..).
Frequently Asked Questions
- You’ll want to focus on changing two areas: your skills section and the projects you mention in your work experience. Read the job description and note any skills that are mentioned and any projects you’ve worked on that come to mind.
- Your work experience can go back as far as you need as long as the work experience is relevant to the role you’re applying to. If an embedded developer job you held 15 years ago is hyper relevant to a role you’re applying to for example, you should definitely include it!
- Your resume work experience bullet points should focus on the tools you used and the impact of what you did. Your AI cover letter is the place to give more context and more details about those projects on your resume.
14 Embedded Software Engineer Resume Examples for 2024
Crafting a resume as an embedded software engineer can be a daunting task. This guide provides proven examples and tips to show your skills and experience clearly. From highlighting your programming expertise to detailing your project management success, learn how to present your professional story in a way that resonates with hiring managers. We will explore the essentials of documenting your career in embedded systems, ensuring you convey your qualifications effectively.
- 02 Nov 2024 - 1 new section (Highlighting leadership and growth) added
- 30 Sep 2024 - 1 new resume template (Embedded Systems Architect) added
- 09 Aug 2024 - 1 new section (Show leadership and growth) added
Next update scheduled for 22 Nov 2024
Here's what we see in top embedded software engineer resumes.
Metrics That Show Impact : Great resumes use numbers to show their impact. They may show how they increased efficiency , reduced memory usage , decreased boot time , or lowered power consumption . These numbers help you understand the engineer's impact.
Match Skills With The Job Description : Include skills you have that are also in the job description. Popular ones are C/C++ programming , RTOS , microcontroller interfacing , debugging , and firmware development . Choose the skills that fit you and the job.
Adapt To Technology Changes : You need to show you keep up with tech changes. Mention skills like IoT integrations or AI fundamentals . This shows you are up-to-date and ready for new challenges.
use this maybe to have a resume upload button widget 1: yellow Here's a short quick tip / warning for people to include. If your symptoms get worse or do not improve after 1 day, go to a lower altitude if you can. Try to go around 300 to 1,000 metres lower.
widget 2: red / but not serious Here's a short quick tip / warning for people to include. If your symptoms get worse or do not improve after 1 day, go to a lower altitude if you can. Try to go around 300 to 1,000 metres lower.
helpful blue / but not serious Here's a short quick tip / warning for people to include. Here's a short quick tip / warning for people to include. Here's a short quick tip / warning for people to include. Here's a short quick tip / warning for people to include. Here's a short quick tip / warning for people to include. Here's a short quick tip / warning for people to include. Here's a short quick tip / warning for people to include.
Embedded Software Engineer Resume Sample
Find out how good your resume is.
ummm here it is
Get your resume scored
Want to know if your resume stands out for embedded software engineering roles? Our AI-powered tool evaluates your resume based on key criteria used by recruiters in the tech industry. You'll get a clear score and useful feedback to improve your chances of landing interviews.
Upload your resume now for a free, unbiased assessment. Our tool will show you how to make your skills and experience shine, helping you take the next step in your embedded systems career.
Positioning your education
If you're an embedded software engineer applying for jobs, the positioning of your education section can greatly affect the impact of your resume. If you're an entry-level applicant or recently graduated, it's a good idea to place your education section at the top, highlighting your academic credentials. This showcases the theoretical and practical skills you've obtained through academics.
On the other hand, if you've been working for some time or are currently employed, position your education in a secondary place to your work experience. The emphasis then moves towards practical skills and achievements in real-world scenarios. Should you have recently completed significant higher education like a master's degree or special bootcamp courses, place this above your work experience to highlight your upgraded skillset.
Highlighting relevant skills
As an embedded software engineer, you need to highlight certain skills that can help you stand out. Proficiency in programming languages (like C and C++) and understanding of hardware architecture are key skills in this field. Be sure to mention any relevant projects or successful outcomes that came as a result of your skills.
Don't forget to mention your problem-solving abilities. Embedded software engineering often comes with unforeseen challenges where your ability to troubleshoot and problem-solve is tested. Share specific instances where you diagnosed and fixed issues in a time-bound environment.
Senior Embedded Software Engineer Resume Sample
Maintaining resume length.
For an embedded software engineer, the best length for a resume is one page. This is especially the case if you're an entry to mid-level candidate with less than a decade of relevant experience. This length is just right for showcasing your skills, experiences, and qualifications without overwhelming the hiring manager.
Too long can often come across as unfocused. If you're struggling to keep your resume to one page, consider adjusting your layout. Use a template with superior space utilization, remove older education entries or extracurricular activities that do not directly boost your candidacy.
Junior Embedded Software Engineer Resume Sample
Continuous learning emphasis.
In the realm of embedded software engineering, technology evolves rapidly. When potential employers see your commitment to continuous learning, it can significantly enhance your appeal. Mention any recent certifications, workshops, or courses related to the latest industry trends.
Keep in mind to also highlight how the new knowledge or skills you acquired contributed positively to your work. Whether it's a new language, troubleshooting methodologies, or software development practices, show how these new skills have bolstered your work efficiency or the success of projects.
Software Engineer II (Embedded) Resume Sample
Beat the resume screeners.
When you apply for a job as an embedded software engineer, your resume must get past resume screeners and Applicant Tracking Systems (ATS). These are tools that employers use to sort and rank resumes before a hiring manager sees them.
- Use keywords from the job description such as 'microcontroller,' 'firmware,' or 'real-time operating systems' to show your skills match the job.
- Make sure your programming languages are listed clearly, like 'C/C++' or 'embedded Linux,' as ATS often search for such specific terms.
Keep your formatting clean and avoid images or graphics that ATS can't read. Stick to standard fonts and bullet points to list your skills and experiences. This will help ensure your resume is ATS-friendly and reaches the hiring manager's desk.
Embedded Software Engineer with IoT specialization Resume Sample
Show relevant skills.
When you apply for a job, your resume should show what makes you a good fit. It's not just about showing you have skills, but the right skills. Think about what you read in the job ad and make sure your resume matches that.
- Point out the specific programming languages you know that are used in embedded systems, like C/C++ or Assembly .
- Show projects where you've worked with microcontrollers or other hardware relevant to embedded systems.
- If the job is with medical devices, list your experience with FDA software validation or other industry-specific standards.
Principal Firmware Developer Resume Sample
Ignoring key skills and accomplishments.
You may forget to show your skills in embedded systems. This is a mistake. You must list your core abilities. For example, include your experience with C or C++ programming and your knowledge of hardware interfaces. Also, if you have worked with real-time operating systems, this is important to show.
Do not only list your past jobs. Share what you achieved in these roles. For example, if you improved system performance, or you worked on a project that required low-level system optimizations, mention this. These details help employers see your value.
Lead Real-Time Systems Engineer Resume Sample
Use strong action verbs.
When you're applying as an embedded software engineer, your resume should show your ability to take initiative and drive results. Choose verbs that clearly convey your hands-on experience and problem-solving skills. Your choice of verbs can make a significant difference in how your experience is perceived.
Think about the tasks you have completed and select verbs that best describe your role in those achievements. Be direct and use verbs that match the impact you made. Here's a list to help you get started:
- To display your coding proficiency, use verbs like developed , programmed , engineered , debugged , and optimized .
- Showcase your design skills with architected , constructed , integrated , tailored , and implemented .
- For highlighting your role in team projects, verbs like collaborated , coordinated , partnered , contributed , and liaised are effective.
- If you have led projects or guided teams, demonstrate this with directed , managed , supervised , mentored , and oversaw .
- To show your problem-solving abilities, include verbs such as troubleshot , resolved , reformed , remediated , and refined .
Want inspiration for other action verbs you can use? Check out synonyms to commonly used action verbs like Cultivate , Troubleshoot , Increase , Enhance , Improve .
Autonomous Systems Embedded Developer Resume Sample
Show achievements, not tasks.
When you write your resume, focus on what you have accomplished as an embedded software engineer, not just what you did. This shows employers the value you brought to past projects. Here are two ideas to help you turn everyday tasks into achievements:
- Instead of writing 'Wrote code for embedded systems,' you could say 'Enhanced system efficiency by 15% through optimized embedded code.'
- Rather than 'Debugged software,' try 'Reduced software failure rate by 20% by implementing robust debugging protocols.'
By sharing specifics, like how much you improved a system or the impact of your debugging, you show your ability to deliver results. This is what employers look for.
Advanced Driver-Assistance Systems (ADAS) Engineer Resume Sample
Highlight your technical expertise.
On your resume, you should showcase the technical skills that make you a good fit for embedded software engineering roles. These skills are key to passing hiring software that scans for keywords, and they show that you know your stuff.
- C programming
- Embedded systems
- Microcontrollers
- RTOS (Real-Time Operating Systems)
- Embedded Linux
- Assembly language
- Firmware development
- Version control systems like Git
Include these skills in a dedicated section on your resume. This makes it easy for hiring software and managers to see your qualifications. Not every job will need all these skills, so match your resume to the job you want. Check the job description and focus on the skills that are mentioned most.
If you have worked on big projects or have examples of your work, list these under your experience. This shows how you have used these skills in real jobs. Remember, keep your resume clear and to the point, and you will have a good chance of getting an interview.
Systems Integration Engineer (Embedded Systems) Resume Sample
Highlighting leadership and growth.
As a hiring manager, I look for evidence that you can lead and adapt to new roles. Show any promotions or leadership roles you've taken on. These show you can handle more responsibility and guide others.
- For example, if you started as a junior embedded software engineer and now oversee a team, make it clear. Say 'Promoted from junior to senior engineer within two years, now leading a team of five.'
- If you've guided projects or trained new staff, these are leadership signs. You could write 'Led development of a high-reliability firmware project, resulting in a 20% performance increase.'
Think about times you've been trusted with important tasks or made decisions that helped your team. Even without formal promotions, these can show leadership.
Embedded Control Systems Engineer Resume Sample
Highlight impact with numbers.
When you write your resume, showing your impact with numbers can make a big difference. Numbers help hiring managers see the clear value you brought to past projects and roles. Here are ideas for how to do this as an embedded software engineer.
- Think about efficiency improvements. For example, if you optimized code that led to a 20% increase in system performance , make sure to list that.
- Consider how your work reduced errors or downtime. If you developed a feature that resulted in a 30% decrease in system crashes , that's a strong point to include.
- Reflect on any contributions you made to reduce power consumption or increase battery life in a product, such as a 15% reduction in energy use or a 25% extension of battery life .
- If you worked on a team, quantify your contribution. For example, if you were part of a project that led to a 50% reduction in customer support calls , highlight your role in that achievement.
- Consider any software you have embedded that improved data processing time or system boot-up speed. Mention specifics like a 40% faster data processing rate or a 10-second quicker boot-up time .
- If you have contributed to cost savings, quantify it. For instance, if your work on a firmware update led to a 5% cost saving in production, that's worth mentioning.
- Have you increased the number of devices your software can run on? State that expansion, like a growth from 10 to 50 devices .
- If your debugging efforts resulted in a 60% reduction in software bugs , that’s an impressive metric to share.
Use these numbers to show how you solve problems and make things better. Remember, even if you're not sure of the exact number, a good estimate of the impact you had is better than no number at all.
Embedded Systems Architect Resume Sample
Show leadership and growth.
As an embedded software engineer, showing progress in your career can make a big difference. If you've led a team or received a promotion, share these wins. This shows you are trusted and can handle more responsibility. Here are ways you might show this:
- Lead developer on a firmware update that improved system performance by 20%
- Promoted to senior embedded engineer after successfully managing a critical project rollout
Think about times when you took the lead on a project or when your role was made bigger. Even if you're not sure, here are two things to consider:
- Any project where you were given the lead role, even if it was temporarily
- Instances where you trained or guided new team members, showing your leadership skills
- Systems Engineer Resume Examples
- Site Reliability Engineer Resume Examples
- Entry Level Data Engineer Resume Examples
- Production Engineer Resume Examples
- Logistics Engineer Resume Examples
- Entry Level Electrical Engineer Resume Examples
- Electrical Power Engineer Resume Examples
- Materials Engineer Resume Examples
Quick links
Embedded software engineer, resume sample #1, resume sample #2, resume sample #3, senior embedded software engineer, resume sample #4, junior embedded software engineer, resume sample #5, software engineer ii (embedded), resume sample #6, embedded software engineer with iot specialization, resume sample #7, principal firmware developer, resume sample #8, lead real-time systems engineer, resume sample #9, autonomous systems embedded developer, resume sample #10, advanced driver-assistance systems (adas) engineer, resume sample #11, systems integration engineer (embedded systems), resume sample #12, embedded control systems engineer, resume sample #13, embedded systems architect, resume sample #14, additional resources, questions get in touch.
- • Led the design and development of advanced flight control software architecture, improving simulated test flight success rates by 30%
- • Spearheaded the integration of flight guidance systems, leading to a 15% reduction in integration time for new product development
- • Conducted rigorous testing and simulation on test benches, identifying and rectifying 150+ critical bugs before software release
- • Implemented a robust software development lifecycle in compliance with DO-178C, boosting development efficiency by 25%
- • Coordinated the coding efforts using C++, Python, and Matlab, increasing software performance metrics by 20%
- • Played a pivotal role in achieving software certification, meeting 100% of technical requirements within project deadlines
- • Developed critical Input/Output processing modules for A429 interfaces, enhancing data throughput by 40%
- • Integrated and validated A661 interface software components, leading to improved cockpit display interactions
- • Collaborated in an Agile environment to deliver functional software loads, reducing cycle time by 25%
- • Contributed to the optimization of SOC and Multi-core processors utilization, increasing system reliability by 18%
- • Led cross-disciplinary teams, successfully driving project milestones and growth in the electronics systems division
- • Enhanced Matlab Simulink models for flight control systems, resulting in a 10% increase in model accuracy
- • Implemented software configuration and change management practices, leading to a reduction of deployment issues by 50%
- • Authored and maintained documentation for software development processes and tool utilization
- • Involved in full-cycle software development from concept to end of life, directly affecting operational excellence
10 Embedded Software Engineer Resume Examples & Guide for 2024
An embedded software engineer focuses on developing and optimizing software that operates within hardware systems. Highlight your experience with programming languages like C or C++, your familiarity with real-time operating systems, and any projects where you've successfully integrated software with hardware components. Emphasize strong problem-solving abilities, knowledge of embedded systems, and proficiency in debugging tools. Mention your contribution to improving system performance and your role in a successful product launch to demonstrate your impact.
All resume examples in this guide
Single Column
Resume Guide
Resume Format Tips
Resume Experience
Skills on Resume
Education & Certifications
Resume Summary Tips
Additional Resume Sections
Key Takeaways
As an embedded software engineer, articulating the complexities of your projects and demonstrating how your deep technical skills translate to potential business value can be a significant resume challenge. Our guide offers tailored strategies to help you effectively communicate your expertise, ensuring hiring managers grasp the full scope and impact of your embedded system contributions.
- Embedded software engineer resumes that are tailored to the role are more likely to catch recruiters' attention.
- Most sought-out embedded software engineer skills that should make your resume.
- Styling the layout of your professional resume: take a page from embedded software engineer resume examples.
How to write about your embedded software engineer achievements in various resume sections (e.g. summary, experience, and education).
- EDI Developer Resume Example
- Software Specialist Resume Example
- Staff Software Engineer Resume Example
- J2EE Developer Resume Example
- Senior Oracle Developer Resume Example
- Integration Developer Resume Example
- Android Developer Resume Example
- Mobile Application Developer Resume Example
- Senior PHP Developer Resume Example
- Software Programmer Resume Example
Don't stress out over your embedded software engineer resume format
Remember, the elaborate design of your embedded software engineer resume isn't what impresses recruiters most. They are primarily searching for candidates who meet the job requirements. The main aim of your resume should be to clearly and concisely explain why employers should hire you.
Here are four straightforward steps to consider in your embedded software engineer resume design:
- Organize your resume based on experience : Start with your most recent roles. Besides using reverse chronological order, choose jobs relevant to the position you're applying for.
- Include your contact details (and portfolio or LinkedIn link) in your resume's header to ensure recruiters can easily reach you. If considering adding a professional photo, check acceptable practices in different countries first.
- Don't omit essential embedded software engineer resume sections such as the summary or objective, experience, and education. These sections should reflect your career progression and align with job requirements.
- Maintain conciseness in your resume. For those with less than ten years of experience, a one-page format is advisable.
Regarding the format to submit your embedded software engineer resume, PDF is preferable . PDFs are more likely to maintain their formatting when processed through recruitment software or ATS, saving you time in the application process.
When selecting a font for your embedded software engineer resume, consider the following:
- Choose ATS-friendly fonts such as Exo 2, Volkhov, Lato, etc., to keep your resume's content legible;
- All serif and sans-serif fonts are easily readable by ATS;
- While Arial and Times New Roman are common choices, opting for unique typography can help your resume stand out.
Concerned about ATS compatibility with charts and infographics? Our recent study has debunked this and other myths .
Upload & Check Your Resume
Drop your resume here or choose a file . PDF & DOCX only. Max 2MB file size.
Always remember that your embedded software engineer certifications can be quantified across different resume sections, like your experience, summary, or objective. For example, you could include concise details within the expertise bullets of how the specific certificate has improved your on-the-job performance.
Essential sections that should make up your embedded software engineer resume include:
- The header - with your contact details (e.g. email and telephone number), link to your portfolio, and headline
- The summary (or objective) - to spotlight the peaks of your professional career, so far
- The experience section - with up to six bullets per role to detail specific outcomes
- The skills list - to provide a healthy mix between your personal and professional talents
- The education and certification - showing your most relevant degrees and certificates to the embedded software engineer role
What recruiters want to see on your resume:
- Proficiency in programming languages such as C, C++, and Assembly specific to hardware interfacing and embedded system programming.
- Experience with real-time operating systems (RTOS) and understanding of microcontroller/microprocessor architectures.
- Demonstrated ability in hardware debugging and using tools like oscilloscopes, logic analyzers, and JTAG debuggers.
- Familiarity with communication protocols such as SPI, I2C, UART, CAN, and Ethernet used in embedded systems.
- Knowledge of version control systems such as Git and experience with embedded software development life cycle, documentation, and testing methodologies.
What is the resume experience section and how to write one for your past roles
The experience section in a embedded software engineer resume is critical for your profile and overall application. It should not only display your work history, but also highlight your achievements in previous roles .
Many candidates either simply list their duties or provide excessive details about past, irrelevant jobs. A more effective approach involves first examining the job advertisement for keywords - specifically, skills essential for the role . Then, demonstrate these key requirements throughout different parts of your resume, using accomplishments from your roles.
Format each bullet point in your experience section by starting with a strong action verb . Follow this with a description of your role and its impact on the team or organization.
Aim to include three to five bullet points for each role.
Finally, gain insights into how professionals have crafted their embedded software engineer resume experience sections by exploring some best practice examples.
- Engineered and integrated embedded systems for real-time data acquisition and control for automotive applications, enhancing vehicle efficiency by 20%.
- Led a team of 5 in the development of firmware for IoT devices, achieving a 30% reduction in power consumption through optimized code.
- Collaborated closely with hardware teams to design and implement robust software architecture for use in extreme environmental conditions, resulting in a 99% reliability rate for deployed military communication devices.
- Developed custom Linux-based operating systems for embedded platforms which led to a 25% improvement in system boot times.
- Authored technical documentation and provided training for 40+ staff on best practices in embedded software development.
- Implemented Continuous Integration/Continuous Deployment (CI/CD) pipelines that reduced time to market by 15% for new software releases.
- Executed complete firmware development lifecycle for commercial smart home devices, contributing to a 35% increase in product sales.
- Instituted rigorous code review and automated testing procedures that decreased critical bug occurrence by 40%.
- Spearheaded the migration from a monolithic codebase to a modular approach, greatly enhancing maintainability and scalability.
- Engineered embedded software for medical diagnostic devices adhering to strict FDA standards ensuring compliance and patient safety.
- Devised an algorithm for predictive maintenance in industrial machinery, which cut down on unexpected downtime by 25%.
- Optimized cross-compilation and toolchain setup for embedded applications, which accelerated development cycles by 20%.
- Developed SCP/SSL communication protocols for secure embedded applications that improved data security by 50%.
- Performed root-cause analysis on embedded system crashes, reducing system failures by 60% within the first year.
- Guided the transition to an Agile development environment, which increased team productivity by 30% and improved interdepartmental communications.
- Led a cross-functional team in the development of aerospace embedded systems, achieving a 99.9% success rate in mission-critical software deployments.
- Incorporated machine learning algorithms into embedded systems for predictive analytics, elevating product intelligence and customer value.
- Established benchmarking standards for software performance, which served as the guideline for subsequent development projects and improved system throughput by 20%.
- Coordinated international teams in the development of cutting-edge automotive infotainment systems, which captured a 15% larger market share.
- Pioneered the use of advanced static analysis tools in the embedded software development cycle, which mitigated potential security vulnerabilities by 70%.
- Contributed to the open source community by developing custom Linux drivers which were adopted by major hardware manufacturers for next-gen devices.
- Customized real-time operating systems for data-intensive satellite communication systems, achieving a 50% improvement in signal processing time.
- Conducted in-depth performance tuning of system-level software, which led to a 25% increase in the overall efficiency of embedded solutions.
- Directed the upgrade of firmware for robotics systems, which enhanced motion control precision and reduced energy consumption by 10%.
The following content includes information from "O*NET OnLine" by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. The data represents the top responsibilities present on the task lists for embedded software engineer professionals.
Top Responsibilities for Embedded Software Engineer:
- Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Confer with data processing or project managers to obtain information on limitations or capabilities for data processing projects.
- Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
- Coordinate installation of software system.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
- Determine system performance standards.
- Develop or direct software system testing or validation procedures, programming, or documentation.
- Modify existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
Quantifying impact on your resume
- Highlight the optimization of code that resulted in a measurable performance increase, such as reducing execution time by a certain percentage.
- Document the reduction in memory usage achieved through efficient programming, noting the percentage decrease in resources required.
- Detail the number of embedded systems projects completed within strict deadlines, demonstrating project management and efficiency.
- Specify the size of the codebase maintained or developed, giving a clear indication of your experience with large-scale software.
- Report on the successful integration of embedded software with hardware, citing the number of devices your software is running on.
- Mention any contributions to power saving, including quantifiable battery life extensions or energy efficiency improvements.
- Outline the number of firmware updates or patches released that have improved system stability or added features.
- Include the scale of automated testing frameworks established, for example, covering X number of functions or features.
Action verbs for your embedded software engineer resume
Writing your embedded software engineer experience section without any real-world experience
Professionals, lacking experience, here's how to kick-start your embedded software engineer career:
- Substitute experience with relevant knowledge and skills, vital for the embedded software engineer role
- Highlight any relevant certifications and education - to showcase that you have the relevant technical training for the job
- Definitely include a professional portfolio of your work so far that could include university projects or ones you've done in your free time
- Have a big focus on your transferable skills to answer what further value you'd bring about as a candidate for the embedded software engineer job
- Include an objective to highlight how you see your professional growth, as part of the company
Recommended reads:
- How to List a Major & Minor on Your Resume (with Examples)
- How to Put Cum Laude on Your Resume
If you failed to obtain one of the certificates, as listed in the requirements, but decide to include it on your resume, make sure to include a note somewhere that you have the "relevant training, but are planning to re-take the exams". Support this statement with the actual date you're planning to be re-examined. Always be honest on your resume.
The right balance between hard skills and soft skills for your embedded software engineer resume
Wondering what the perfect embedded software engineer resume looks like? The candidate's profile meets job requirements by balancing both hard skills and soft skills across their resume.
- Hard skills are all the technologies you're apt at using . Prove you have the right technical background by listing key industry hardware/software in your embedded software engineer resume skills section and noteworthy certifications.
- Soft skills are both your personal, mindset, communication, analytical, and problem-solving talents . Use your embedded software engineer resume achievements section to show how you've used a particular soft skill to reach a tangible outcome.
When writing about your unique skill set, always make sure to refer back to the job advert to see what are the key requirements. This ensures you've tailored your resume so that it matches closer to what the ideal candidate profile is.
Top skills for your embedded software engineer resume:
C/C++ programming
Embedded systems design
RTOS (Real-Time Operating Systems)
Microcontrollers and Microprocessors
Debugging and troubleshooting
Embedded Linux
Hardware-software integration
Communication protocols (I2C, SPI, UART)
Version control systems (Git)
Embedded software development tools (e.g., IDEs, debuggers)
Problem-solving
Attention to detail
Team collaboration
Effective communication
Time management
Adaptability
Critical thinking
Analytical skills
Project management
Next, you will find information on the top technologies for embedded software engineer professonals from "O*NET OnLine" by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license.
Top technologies for Embedded Software Engineer’s resume:
- Oracle Java 2 Platform Enterprise Edition J2EE
- Oracle SQL Developer
- Blackboard software
- Apache Spark
Including your education and certification on your embedded software engineer resume
The significance of your resume education section is paramount. It can show your diverse talents and experiences that are relevnt to the position.
- Incorporate educational qualifications, mentioning the institution and period.
- If you're on your academic journey, pinpoint your expected completion date.
- Opt for leaving out degrees that don't serve the job's purpose.
- Provide an overview of your educational experiences if it spotlights your milestones.
When recruiting for embedded software engineer roles, candidates with relevant education and certification definitely stand out amongst competitors.
Showcase your academic background in the best way possible by:
- Listing all degrees and certifications that are part of the candidate qualifications in the embedded software engineer advert
- Including any extra certificates, if they make sense to your application
- Not going over the top in details - the certificate name, institution, and dates are enough
- If you're in the process of obtaining a degree or certificate that's relevant to the job, include your expected graduation/certification dates
The education and certification sections help back up your application with years of experience in the industry or niche.
Select some of the most cutting-edge or applicable credentials for your next embedded software engineer application from our list:
The top 5 certifications for your embedded software engineer resume:
- Certified Software Development Professional (CSDP) - IEEE Computer Society
- Certified Systems Engineering Professional (CSEP) - International Council on Systems Engineering (INCOSE)
- Certified Reliability Engineer (CRE) - American Society for Quality (ASQ)
- Certified Secure Software Lifecycle Professional (CSSLP) - (ISC)²
- Embedded Systems Certificate - University of California, Irvine Division of Continuing Education (UCI DCE)
The content below includes information from "O*NET OnLine" by the U.S. Department of Labor, Employment and Training Administration (USDOL/ETA). Used under the CC BY 4.0 license. The data represents the top associations for embedded software engineer professionals.
Top US associations for a Embedded Software Engineer professional
- Association for Computing Machinery
- Association for Information Science and Technology
- Association for Information Systems
- Association for the Advancement of Artificial Intelligence
- Association for Women in Computing
Showcase any ongoing or recent educational efforts to stay updated in your field.
- How to List Expected Graduation Date on Your Resume
- When You Should (And Not) Add Dean's List On Your Resume
Practical guide to your embedded software engineer resume summary or objective
First off, should you include a summary or objective on your embedded software engineer resume?
We definitely recommend you choose the:
- Resume summary to match job requirements with most noteworthy accomplishments.
- Resume objective as a snapshot of career dreams
Both the resume summary and objective should set expectations for recruiters as to what your career highlights are.
These introductory paragraphs (that are no more than five sentences long) should help you answer why you're the best candidate for the job.
Industry-wide best practices pinpoint that the embedded software engineer resume summaries and objectives follow the structures of these samples:
Resume summaries for a embedded software engineer job
- With 7 years of experience in automotive software development, proficient in real-time systems and fluent in C/C++, I have successfully led a team to innovate ADAS technologies, resulting in a 20% increase in system efficiency at CarTech Inc.
- An experienced software professional with over a decade at TechGlobal Solutions, transforming business processes into robust embedded systems, accomplished in Java and RTOS. Key achievement includes pioneering an IoT product that captured a significant market share.
- Transitioning from a seasoned background in cybersecurity, bringing forth a rich knowledge base in secure coding practices and a Master's in Software Engineering. Eager to apply 8 years of expertise to the embedded systems landscape and develop secure, resilient firmware solutions.
- After 5 years excelling in high-stakes financial software environments, I am now enthused to pivot my expertise in Python and data analytics to embedded software engineering, aiming to contribute a wealth of cross-industry critical thinking and problem-solving abilities.
- Seeking to enter the embedded software engineering field, equipped with a recent Bachelor's in Computer Science and a passion for robotics. Dedicated to mastering C/C++ and eager to leverage academic project experience to develop cutting-edge firmware.
- As a recent graduate from the University of Technology with a degree in Electrical Engineering and hands-on experience with microcontrollers, I am enthusiastic about applying my foundational knowledge in embedded systems, aiming to specialize in automotive software development.
Average salary info by state in the US for Embedded Software Engineer professionals
Local salary info for Embedded Software Engineer.” Source: My Next Move, National Center for O*NET Development. Accessed 10/15/2024
Beyond your embedded software engineer resume basics - extra sections
Ensure your embedded software engineer resume stands out from the crowd by spicing it up with a couple of supplementary sections that showcase your:
- Prizes - as a special nod to what matters most in the field;
- Projects - ones that would really further support your application;
- Hobbies - include only if you think they'd further your chances at landing the role with personality
- Community impact - to hint at the causes you care about.
Key takeaways
- Invest in a concise embedded software engineer professional presentation with key resume sections (e.g. header, experience, summary) and a simple layout;
- Ensure that the details you decide to include in your resume are always relevant to the job, as you have limited space;
- Back up your achievements with the hard and soft skills they've helped you build;
- Your experience could help you either pinpoint your professional growth or focus on your niche expertise in the industry;
- Curate the most sought-after certifications across the industry for credibility and to prove your involvement in the field.
Looking to build your own Embedded Software Engineer resume?
- Resume Examples
14+ Hobbies & Interests for CV (Including Examples & Ready-To-Use Template)
When you should (and not) add dean's list on your resume, sick of dating apps see how the dating resume might change the game, can chatgpt help write your resume tried and tested prompts, how to create and follow a strategic job search plan in 2024, why i put "immigrant" on my resume.
- Create Resume
- Terms of Service
- Privacy Policy
- Cookie Preferences
- Resume Templates
- Resume Builder
- Resume Summary Generator
- Resume Formats
- Resume Checker
- AI Resume Review
- Resume Skills
- How to Write a Resume
- Modern Resume Templates
- Simple Resume Templates
- Cover Letter Builder
- Cover Letter Examples
- Cover Letter Templates
- Cover Letter Formats
- How to Write a Cover Letter
- Resume Guides
- Cover Letter Guides
- Job Interview Guides
- Job Interview Questions
- Career Resources
- Meet our customers
- Career resources
- [email protected]
- English (UK)
- French (FR)
- German (DE)
- Spanish (ES)
- Swedish (SE)
Made with love by people who care.
© 2024 . All rights reserved.
Embedded Software Engineer Resume Example for 2024: Expert Tips & Templates
Craft an exceptional Embedded Software Engineer Resume with our online builder. Explore professional example templates tailored for various levels and specialties. Captivate employers with a refined, professional Resume. Secure your dream job today!
Table of Contents
As the world becomes increasingly reliant on technology, the role of an Embedded Software Engineer has never been more crucial. These professionals are the backbone of countless devices, from everyday household gadgets to complex industrial systems. A well-crafted resume is not just a document; it’s your ticket to showcasing your expertise and landing that coveted role. In a field where precision and innovation are key, your resume must reflect your technical skills and experience while also standing out in a competitive job market.
In this comprehensive guide, we will delve into the essential components of an effective Embedded Software Engineer resume. You will learn about the core responsibilities and skills that define this role, the best formats to adopt for clarity and impact, and the common mistakes to avoid that could undermine your chances. We’ll provide tailored resume examples suitable for all experience levels, alongside expert tips on resume writing and advice on selecting the right resume templates to enhance your presentation. Whether you’re a seasoned professional or just starting in the field, this guide will equip you with the tools necessary to craft a standout resume that effectively communicates your qualifications and passion for embedded systems.
Key Responsibilities and Skills for a Embedded Software Engineer
As an Embedded Software Engineer, you will be responsible for designing, developing, testing, and maintaining software for embedded systems. This role often involves collaborating with hardware engineers to ensure seamless integration of software and hardware components. Key responsibilities typically include:
- Developing and implementing embedded software solutions for various applications.
- Writing efficient, maintainable code in languages such as C, C++, and assembly.
- Conducting thorough testing and debugging of embedded systems to ensure reliability and performance.
- Collaborating with cross-functional teams to define system requirements and specifications.
- Documenting software designs, algorithms, and processes for future reference.
- Optimizing software performance by analyzing and profiling code.
- Staying up to date with industry trends and advancements in embedded systems technology.
To excel in this role, certain skills are essential. Here are some of the key skills required for an Embedded Software Engineer:
- Proficiency in programming languages (C, C++, Python, etc.)
- Strong understanding of embedded systems and microcontrollers.
- Experience with real-time operating systems (RTOS).
- Familiarity with hardware interfaces (I2C, SPI, UART, etc.).
- Knowledge of debugging tools and techniques.
- Ability to work with version control systems (Git, SVN).
- Strong problem-solving and analytical skills.
- Excellent communication and teamwork abilities.
Highlighting these skills effectively in the resume skills section is crucial, as it allows potential employers to quickly identify your qualifications for the role. Tailoring these responsibilities and skills to match the specific job description can significantly enhance your chances of being considered for the position. Additionally, reflecting on how these skills can be presented in a strong CV will further demonstrate your suitability for the role and can make a positive impression on hiring managers.
Best Resume Format and Structure for a Embedded Software Engineer
When crafting a resume for an Embedded Software Engineer position, it's essential to present your qualifications and experiences in a clear and compelling manner. A well-structured resume not only showcases your technical skills but also reflects your professionalism. Here’s a detailed guide on the best resume format and structure for this role.
Contact Information
- Name: Clearly state your full name at the top of your resume, using a larger font size to make it stand out.
- Phone Number: Include a reliable phone number where you can be reached.
- Email Address: Use a professional email address, ideally a combination of your name.
- LinkedIn Profile: If applicable, include a link to your LinkedIn profile or a personal website showcasing your projects.
- Location: You may include your city and state, but it is not necessary to provide your full address for privacy reasons.
Professional Summary
- Write a brief summary (2-4 sentences) highlighting your experience, skills, and what you can bring to the company. Focus on your years of experience, key technologies you’ve worked with, and your primary strengths as an Embedded Software Engineer.
- Tailor this summary for each job application, emphasizing the skills and experiences that align with the job description.
Work Experience
- List your work experience in reverse chronological order, starting with your most recent position.
- For each job, include the following:
- Job Title: Clearly state your role.
- Company Name and Location: Include the name of the company and its location (city, state).
- Dates of Employment: Format this as Month/Year – Month/Year.
- Responsibilities and Achievements: Use bullet points to describe your key responsibilities and accomplishments, focusing on quantifiable results when possible (e.g., “Developed firmware for microcontrollers, improving system efficiency by 30%”).
- Highlight specific technologies, programming languages, and tools you used in your projects.
- List your degrees in reverse chronological order.
- Include the following information:
- Degree: State your degree (e.g., Bachelor’s in Computer Engineering).
- Institution Name and Location: Name the university or college and its location.
- Graduation Date: Include your graduation date (Month/Year).
- If you have a higher degree or relevant coursework, mention it here.
- Create a dedicated section for technical skills, listing programming languages, technologies, and tools relevant to embedded systems (e.g., C/C++, Python, RTOS, Git, etc.).
- Use a bullet point format to make it easy to read.
- Consider categorizing skills into sub-sections, such as Programming Languages, Tools & Technologies, and Soft Skills.
Certifications
- If you have certifications relevant to embedded systems or software engineering, include them in this section.
- Format this similarly to your education section, stating the certification name, issuing organization, and date obtained (Month/Year).
Additional Tips
- Use a clean and professional layout with consistent font styles and sizes.
- Ensure there is plenty of white space to make the resume easy to read.
- Tailor your resume for each job application by incorporating keywords from the job description.
- Keep your resume to one page if you have less than 10 years of experience; two pages may be acceptable for more extensive experience.
The format of your resume should complement your cover letter. In your cover letter, reiterate key points from your resume while adding more personal insights about why you are interested in the specific role and how your background aligns with the company’s goals. Use a similar design and language style in both documents to create a cohesive application package, enhancing your professional image.
By following this structure and these tips, you can create a compelling resume that effectively showcases your qualifications as an Embedded Software Engineer.
Writing Tips and Best Practices for a Embedded Software Engineer Resume
When crafting a resume as an Embedded Software Engineer, it's essential to present your skills and experiences in a clear and compelling manner. Start with a strong summary that highlights your key qualifications, and ensure that your resume is tailored to the specific job you are applying for. Use industry-specific keywords to pass through Applicant Tracking Systems (ATS) and catch the attention of hiring managers. Remember to quantify your achievements with specific metrics to give potential employers a clear picture of your impact. Adhering to professional resume writing tips will not only enhance the visual appeal of your resume but also ensure that it effectively communicates your expertise. Additionally, consider how these best practices can be applied when writing your cover letter , as consistency across both documents can strengthen your application.
- Use action verbs such as "developed," "designed," "implemented," and "optimized" to convey your contributions effectively.
- Quantify your achievements by including metrics, such as "improved system performance by 30%" or "reduced debugging time by 20 hours per project."
- Incorporate industry-specific keywords relevant to embedded systems, such as "RTOS," "microcontrollers," "C/C++," and "hardware-software integration."
- Keep formatting consistent with clear headings, bullet points, and professional fonts to enhance readability.
- Tailor your resume for each job application, ensuring that the most relevant skills and experiences are prioritized.
- Highlight relevant certifications or training, such as in Agile methodologies or specific programming languages.
- Include a section for relevant projects, demonstrating practical applications of your skills, especially if you have limited professional experience.
- Proofread thoroughly to eliminate any spelling or grammatical errors, as attention to detail is critical in engineering roles.
Common Mistakes to Avoid in a Embedded Software Engineer Resume
When crafting a resume for the position of an Embedded Software Engineer, it's crucial to present your skills and experiences effectively. Many candidates make common mistakes that can hinder their chances of standing out in a competitive job market. Avoiding these pitfalls can elevate your resume, making it more appealing to hiring managers and recruiters. Here are some prevalent mistakes to steer clear of:
- Overloading your resume with excessive information that can overwhelm the reader.
- Using generic job descriptions that do not highlight specific accomplishments or technologies relevant to embedded systems.
- Failing to tailor your resume for the specific job you are applying for, leading to a one-size-fits-all approach.
- Neglecting to quantify your achievements, which can diminish the impact of your contributions.
- Using technical jargon or acronyms without explanation, assuming the reader will understand.
- Not including relevant skills or technologies that are critical in the embedded systems field.
- Formatting inconsistencies that can distract from the content and make your resume hard to read.
- Ignoring the importance of proofreading, which can lead to typos and grammatical errors that reflect poorly on your attention to detail.
- Omitting soft skills that are essential for teamwork and collaboration in engineering projects.
- Failing to include a summary or objective statement that clearly communicates your career goals and expertise.
To ensure your resume is free from these errors, consider reviewing the common mistakes to avoid in a resume . Additionally, be mindful of your cover letter as well; common cover letter mistakes should also be avoided to present a cohesive and professional application.
Sample Embedded Software Engineer Resumes
As the demand for innovative embedded systems continues to grow, the role of an Embedded Software Engineer has become essential across various industries, including automotive, telecommunications, and consumer electronics. Crafting an effective resume tailored for this role is crucial to stand out in a competitive job market. Below, you'll find three sample resumes: one for an experienced professional, one for an entry-level candidate, and one for a career changer. Each example highlights relevant skills, experiences, and education to help you create your own standout resume.
Sample Resume - Experienced Embedded Software Engineer
John Doe 123 Tech Lane, Silicon Valley, CA 94043 (555) 123-4567 [email protected]
Professional Summary Results-driven Embedded Software Engineer with over 8 years of experience in designing, developing, and optimizing embedded systems for various applications. Proficient in C/C++, Python, and real-time operating systems. Strong background in hardware-software integration and firmware development.
Technical Skills
- Programming Languages: C, C++, Python, Assembly
- Tools: Git, JIRA, Keil, Eclipse
- Operating Systems: Linux, RTOS
- Protocols: UART, SPI, I2C, CAN
- Hardware: Microcontrollers, FPGAs, DSPs
Professional Experience
Senior Embedded Software Engineer XYZ Technologies, San Jose, CA June 2018 – Present
- Led a team of 4 engineers in developing embedded software for a next-gen automotive control system, improving performance by 30%.
- Designed and implemented firmware for low-power microcontrollers, achieving a 20% reduction in energy consumption.
- Collaborated with cross-functional teams to integrate hardware and software solutions, successfully launching 5 products within deadlines.
Embedded Software Engineer ABC Innovations, Mountain View, CA May 2015 – May 2018
- Developed and tested firmware for IoT devices, enhancing connectivity features and user experience.
- Conducted code reviews and maintained documentation, improving team efficiency and reducing bugs by 15%.
- Participated in Agile development processes, ensuring timely delivery of projects.
Education Bachelor of Science in Computer Engineering University of California, Berkeley Graduated: May 2015
Sample Resume - Entry-Level Embedded Software Engineer
Jane Smith 456 Innovation Drive, Austin, TX 73301 (555) 987-6543 [email protected]
Objective Detail-oriented and passionate recent graduate with a Bachelor’s degree in Computer Engineering. Eager to apply programming skills and theoretical knowledge in a challenging Embedded Software Engineer position.
- Programming Languages: C, C++, Python
- Familiar with: Linux, Git, MATLAB
- Basic understanding of embedded systems and microcontrollers
- Strong problem-solving and analytical skills
Education Bachelor of Science in Computer Engineering University of Texas at Austin Graduated: May 2023
- Smart Home Automation System : Developed an embedded system to control home appliances via mobile app using Arduino and Raspberry Pi.
- IoT Weather Station : Created a weather station that collects and displays temperature and humidity data using sensors and microcontrollers.
Internship Experience
Embedded Software Intern Tech Solutions Inc., Austin, TX June 2022 – August 2022
- Assisted in developing firmware for smart devices and participated in testing and debugging processes.
- Collaborated with senior engineers to optimize code and improve device performance.
Sample Resume - Career Changer to Embedded Software Engineer
Michael Brown 789 Engineering Blvd, New York, NY 10001 (555) 654-3210 [email protected]
Summary Motivated software developer with 5 years of experience in application development and a strong interest in transitioning to embedded systems. Proven skills in software engineering principles and a passion for hardware integration.
- Programming Languages: Java, C#, C, C++ (self-taught)
- Software Development: Agile, RESTful APIs, Unit Testing
- Familiar with: Linux, Git, Arduino, Raspberry Pi
- Strong understanding of software design and architecture
Software Developer Tech Innovations, New York, NY March 2018 – Present
- Developed web applications and backend services, contributing to a 25% increase in user engagement.
- Collaborated with cross-functional teams to ensure high-quality software delivery, improving project timelines by 15%.
Education Bachelor of Science in Computer Science New York University Graduated: May 2017
Additional Training
- Completed online courses in Embedded Systems and Internet of Things through Coursera.
- Participated in local hackathons focusing on embedded system projects.
For further inspiration, explore more resume templates . Don't forget that corresponding cover letter examples can help you create a complete job application package.
Checklist for a Embedded Software Engineer Resume
- Proofread for Spelling and Grammar: Carefully read through your resume multiple times to catch any spelling or grammatical errors. Consider using tools like Grammarly for additional assistance.
- Check for Consistency: Ensure that font sizes, styles, and bullet point formats are consistent throughout the document. This helps maintain a professional appearance.
- Tailor Your Resume to the Job Description: Align your skills and experiences with the specific requirements of the job you are applying for. Use keywords from the job description to enhance relevance.
- Highlight Relevant Projects: Include specific projects you've worked on that demonstrate your skills in embedded systems, software development, and programming languages relevant to the position.
- Quantify Achievements: Where possible, quantify your accomplishments with metrics or outcomes to provide concrete evidence of your impact (e.g., reduced system boot time by 20%).
- Include Technical Skills: Clearly list relevant technical skills, tools, and programming languages (e.g., C/C++, Python, RTOS) in a dedicated section for easy visibility.
- Keep it Concise: Aim for a one-page resume if you have less than 10 years of experience. If you have more, ensure that all information is pertinent and does not exceed two pages.
- Use Action Verbs: Start each bullet point with strong action verbs (e.g., designed, implemented, tested) to convey your responsibilities and achievements effectively.
- Ask for Feedback: Have a colleague or mentor review your resume for clarity and effectiveness. Fresh eyes can catch errors you might have missed.
- Consider Using an AI Resume Builder: To ensure all elements are well-organized and visually appealing, consider using an AI resume builder .
You can follow a similar checklist when creating a CV or cover letter to enhance overall quality and presentation.
Key Takeaways for a Embedded Software Engineer Resume Guide
As you embark on crafting your resume as an Embedded Software Engineer, remember that a well-structured document can significantly enhance your chances of landing your desired role. Utilize the examples and tips provided in this guide to highlight your technical skills, project experiences, and problem-solving abilities effectively. Consider next steps like downloading a tailored resume template from resume templates or exploring our selection of cover letter templates at cover letter templates . For a more personalized approach, try our resume maker to create a standout resume that reflects your unique qualifications. Additionally, adhering to similar guidelines will also assist you in crafting a compelling CV and an impactful cover letter . Take action today to enhance your job application materials and increase your chances of success in the competitive field of embedded software engineering!
Build your Resume in minutes
Use an AI-powered resume builder and have your resume done in 5 minutes. Just select your template and our software will guide you through the process.
Make a cv in minutes
Pick your template, fill in a few details, and our builder will do the rest.
- Resume Builder
- Resume Templates
- Resume Formats
- Resume Examples
- Cover Letter Builder
- Cover Letter Templates
- Cover Letter Formats
- Cover Letter Examples
- Career Advice
- Interview Questions
- Resume Skills
- Resume Objectives
- Job Description
- Job Responsibilities
- FAQ’s
Embedded Software Engineer Resume Examples
Writing a resume as an embedded software engineer can be daunting. It requires a specialized set of knowledge and skills in order to accurately convey your experience and expertise to potential employers. In this blog post, we will provide an embedded software engineer resume writing guide, including tips and examples to help you create a compelling resume that stands out from the competition. With the right approach and the right information, you can create a resume that will get you noticed.
If you didn’t find what you were looking for, be sure to check out our complete library of resume examples .
Start building your dream career today!
Create your professional resume in just 5 minutes with our easy-to-use resume builder!
Embedded Software Engineer
123 Main Street | Anytown, USA 99999 | Phone: (123) 456-7890 | Email: [email protected]
I am a highly experienced Embedded Software Engineer with over 10 years of experience in designing, developing, and testing software for embedded systems and microcontrollers. My expertise lies in developing efficient and robust software solutions that meet customer requirements. I am proficient in a variety of programming languages and have extensive experience in debugging and troubleshooting of embedded systems. Besides, I am well- versed in developing and maintaining software development life cycles and have a good understanding of project management and software process engineering.
Core Skills :
- Proven knowledge of embedded software engineering principles and practices
- Extensive experience in developing software for embedded systems and microcontrollers
- Thorough understanding of software development life cycles
- Skilled at debugging and troubleshooting embedded systems
- Proficient in a variety of programming languages, including C, C++, and Java
- Excellent project management and software process engineering skills
- Strong communication and problem- solving abilities
Professional Experience :
- Software Engineer at ABC Inc., 2015- Present
- Developed and maintained software for embedded systems and microcontrollers
- Designed, implemented, and tested software applications for embedded systems
- Debugged and troubleshot software and hardware problems
- Assisted in the development and maintenance of software development life cycles
- Provided technical support to customers and other teams
- Software Engineer at XYZ Ltd., 2010- 2015
- Developed software solutions for embedded systems and microcontrollers
- Created and tested software applications for embedded systems
- Identified and resolved software and hardware issues
- Participated in the development of software development life cycles
- Collaborated with other teams to ensure software development process is efficient
Education :
- Bachelor of Science in Computer Engineering, University of London, 2008- 2010
Create My Resume
Build a professional resume in just minutes for free.
Embedded Software Engineer Resume with No Experience
Recent college graduate with a Bachelor of Science in Computer Science looking to gain entry- level experience in embedded software engineering. Highly experienced in C++ programming, debugging, agile methodology and proficient in computer software development. Possess strong analytical skills and problem- solving abilities with ambition to use my knowledge to contribute to the growth of the organization.
- Programming: C/C++, HTML, Java, JavaScript, Python, MATLAB
- Debugging: Visual Studio, Codeblocks, Eclipse IDE, GDB
- Methodology: Agile Development, OOP, TDD, XP
- Software: Git, SVN, Jenkins, JIRA
Responsibilities
- Develop, implement, maintain and improve embedded software systems
- Design, troubleshoot and resolve embedded software issues
- Collaborate with software engineers and senior level personnel to develop and test embedded software systems
- Assist in debugging and generating code to meet customer requirements
- Prepare technical documentation to ensure quality control in accordance with standard embedded software engineering guidelines
- Perform research and development of new technologies and solutions related to embedded software engineering
Experience 0 Years
Level Junior
Education Bachelor’s
Embedded Software Engineer Resume with 2 Years of Experience
Embedded Software Engineer with 2 years of experience in software engineering, design, and development. Proven ability to develop and validate embedded software, applications, and systems. Excellent technical skills and knowledge in C, C++, and Python. Effective communication and problem- solving skills, with a focus on producing high- quality, efficient, and reliable embedded systems and software.
- Programming Languages: C, C++, Python
- Embedded Software Design: UML, Embedded C, RTOS
- Testing and Debugging: JTAG, In- Circuit Emulator, System Verilog
- IDE/Tools: IAR, KEIL, ARM, Atmel Studio
- Database Systems/Platforms: MySQL, Oracle, MongoDB
- Web Technologies: HTML, CSS, JavaScript, AJAX, JQuery
Responsibilities :
- Developed and maintained embedded software applications and systems
- Tested and debugged embedded software and hardware
- Designed and implemented embedded software solutions
- Provided technical support and troubleshooting of hardware and software
- Resolved complex design and development issues
- Created and maintained technical documentation
- Evaluated, identified and implemented technical solutions to meet customer and business requirements
- Participated in design reviews, code reviews and integration tests
Experience 2+ Years
Embedded Software Engineer Resume with 5 Years of Experience
Highly motivated and experienced Embedded Software Engineer with over 5 years of expertise in the design, development and testing of embedded software for a variety of industries. Proficient in all aspects of embedded design and programming, from device drivers to system- level coding. Experienced in C, C++ and Python, as well as debugging and embedded protocols such as I2C, SPI, and UART. Possesses excellent problem- solving and analytical skills, and a proven ability to collaborate cross- functionally on complex projects.
- Device Drivers
- Embedded C/C++
- Python Programming
- I2C / SPI / UART
- Systems Analysis
- Software Design
- Project Management
- Cross- Functional Collaboration
- Developed and maintained embedded software for various industries
- Debugged code, wrote test plans and wrote code to meet customer specifications
- Designed and implemented new software features, as well as existing software enhancements
- Worked closely with hardware teams to ensure optimal embedded software performance
- Researched and evaluated new technologies to be implemented in the software
- Provided technical direction and guidance to junior software engineers
- Assisted with software requirement reviews and design reviews during the development process
Experience 5+ Years
Level Senior
Embedded Software Engineer Resume with 7 Years of Experience
I am an experienced Embedded Software Engineer with 7 years of experience in developing software for embedded systems, with a strong background in C/C++ programming for various applications. I have a passion for developing software for embedded systems that are reliable, efficient and optimized to the customer’s requirements. I am also well versed in embedded hardware and have extensive experience in debugging, testing and troubleshooting software and hardware issues. I have expertise in creating and using embedded protocols, such as CAN, I2C, and SPI, and in designing and implementing user interfaces. I also have experience in creating real- time operating systems.
- Embedded Software Development
- C/C++ Programming
- Debugging and Testing
- Embedded Protocols
- User Interface Design
- Real- Time Operating Systems
- Developed software for embedded systems using C/C++ programming languages
- Debugged and tested software for various embedded applications
- Implemented various embedded protocols such as CAN, I2C, and SPI
- Designed and developed user interfaces for embedded systems
- Created real- time operating systems for embedded systems
- Troubleshooted and resolved software and hardware issues
- Collaborated with the team to ensure efficient development process
Experience 7+ Years
Embedded Software Engineer Resume with 10 Years of Experience
Highly- motivated Embedded Software Engineer with 10+ years of experience in designing and developing embedded software for various platforms. Experienced in developing a broad range of products, including medical, automotive and consumer electronics. A highly adaptable engineer with a keen eye for detail, I excel at debugging and troubleshooting embedded systems, while providing the necessary guidance and support to other developers.
- Integration and debugging of embedded software
- Design and development of embedded systems
- Resourceful problem- solving
- Team collaboration and coordination
- Software optimization and automation
- Knowledge of different development environments
- Written and verbal communication
- Collaborated with cross- functional teams to design and create embedded software for various platforms
- Troubleshooted, debugged and fixed issues with embedded systems
- Developed necessary tools to test and optimize the embedded software
- Conducted technical analyses to identify potential areas of improvement
- Created software documentation to facilitate maintenance and future development
- Provided technical support and guidance to junior developers
- Reviewed and tested code to ensure quality and reliability
Experience 10+ Years
Level Senior Manager
Education Master’s
Embedded Software Engineer Resume with 15 Years of Experience
Experienced Embedded Software Engineer with 15 years of expertise in designing and developing embedded software systems. Proven ability to develop software for embedded applications based on industry standards and customer requirements. Experienced in configuring microcontrollers, writing and debugging code, and integrating hardware and software components. Possesses a Master’s degree in Software Engineering and is certified in multiple embedded software development platforms.
- Design and develop embedded software for microcontrollers
- Configure microcontrollers for embedded applications
- Write, debug and troubleshoot embedded software systems
- Integrate hardware and software components for embedded systems
- Create and execute test plans for embedded software
- Identify and troubleshoot software issues
- Write and maintain technical documents
- Design and develop firmware for embedded systems
- Modify existing software for new requirements
- Analyze user requirements and develop software solutions
- Monitor software performance
- Developed and implemented embedded software systems for various microcontrollers and microprocessors
- Performed system analysis, architecture design, and concept development for embedded software systems
- Designed and developed embedded firmware for various microcontrollers
- Developed device drivers and device interface software
- Created and executed software test plans to verify system functionality
- Debugged and troubleshot software issues in embedded systems
- Developed user and technical documentation for embedded systems
- Provided technical support for embedded software applications
- Researched and implemented new technologies for embedded software applications
Experience 15+ Years
Level Director
In addition to this, be sure to check out our resume templates , resume formats , cover letter examples , job description , and career advice pages for more helpful tips and advice.
What should be included in a Embedded Software Engineer resume?
A well-written resume for an Embedded Software Engineer position should highlight a combination of technical and soft skills and experience. The job requires expertise in embedded systems, C/C++ programming, and debugging on various platforms.
To stand out from other candidates, an Embedded Software Engineer resume should include the following:
- Technical Skills: List any technical skills related to embedded systems, C/C++ programming, and debugging. Also include any hardware skills, such as circuit design and microcontroller programming.
- Education: Include any educational qualifications that are relevant to the role, such as an undergraduate degree in computer science or electrical engineering.
- Work Experience: Include any relevant work experience, such as internships or previous jobs as an Embedded Software Engineer. Describe the projects that you worked on and the skills that you developed.
- Soft Skills: Demonstrate any soft skills that are relevant to the role, such as adaptability, problem-solving, communication, and teamwork.
- Certifications: Include any certifications that demonstrate your skills in embedded systems and programming languages.
By including these components in your resume, you can create a clear and compelling case for why you are the ideal candidate for the Embedded Software Engineer position.
What is a good summary for a Embedded Software Engineer resume?
A good summary for an Embedded Software Engineer resume should focus on the candidate’s technical abilities, programming skills and problem-solving abilities. It should also highlight the candidate’s knowledge of embedded software and hardware, as well as any relevant experience they may have with designing, developing, testing, and deploying embedded software. Additionally, the summary should showcase the candidate’s excellent communication and teamwork skills, as well as any relevant qualifications they may have, such as a degree in computer science or software engineering. Finally, the summary should emphasize the candidate’s passion for technology and their commitment to delivering quality results.
What is a good objective for a Embedded Software Engineer resume?
A good objective for an embedded software engineer resume should emphasize the candidate’s qualifications and experience for the job. A resume objective should also reflect the candidate’s enthusiasm for the position and provide a glimpse of the candidate’s qualifications and skills.
An effective objective for an embedded software engineer resume should include:
- Demonstrated knowledge of embedded software engineering principles and applications
- Experience with embedded software development in multiple platforms
- Ability to troubleshoot and debug embedded software systems
- Ability to design and implement innovative solutions for embedded systems
- Excellent problem-solving, critical thinking, and decision-making skills
- Strong written and verbal communication skills
- Knowledge of current industry trends and standards
How do you list Embedded Software Engineer skills on a resume?
When listing your skills as an Embedded Software Engineer on a resume, it is important to include the specific skills that are necessary for the job. Here are some of the key skills to emphasize on your resume:
- Programming: Experience with C, C++, Java, Python and other programming languages used to develop embedded software.
- Firmware: Knowledge of Firmware development, debugging and testing.
- Embedded Systems: Knowledge of microprocessors, microcontrollers, and other embedded system hardware.
- Operating Systems: Familiarity with operating systems such as Linux, Windows and Embedded RTOS.
- Debugging: Ability to debug software and hardware issues and identify root causes.
- Communication: Experience writing, editing and debugging API documentation and firmware code.
- Network Security: Understanding of network security protocols and encryption techniques.
- Testing: Experience with software testing and quality assurance techniques.
- Troubleshooting: Ability to quickly identify, diagnose, and resolve software and hardware issues.
By including these skills on your resume, you can demonstrate to potential employers that you have the necessary knowledge and experience to be a successful Embedded Software Engineer.
What skills should I put on my resume for Embedded Software Engineer?
When constructing a resume for a job as an embedded software engineer, it is important to highlight your technical skills above all else. Employers want to see that you have the necessary skills to succeed in the role. As such, make sure to include the following qualifications when crafting your resume for an embedded software engineer position:
- Knowledge of Hardware and Software: As an embedded software engineer, you will be expected to understand both the hardware and software components involved in the development of embedded systems. Make sure to highlight any experience you have in creating software that runs on embedded hardware and your understanding of embedded hardware components.
- Programming Languages: You should be familiar with a variety of programming languages such as C, C++, Java, and Python. Mention any additional languages you have experience with like MATLAB, assembly, and Verilog.
- Processors and Microcontrollers: Having knowledge of microcontrollers, processors, and interfaces such as RS232 and SPI will be invaluable when performing the duties and responsibilities of an embedded software engineer. List the different microcontrollers and processors you have experience working with.
- Debugging: As an embedded software engineer, you will be expected to identify, troubleshoot, and fix errors in software. Make sure to mention any debugging experience you have as well as any tools and techniques you use to debug software.
- Communication Skills: Demonstrate your ability to communicate effectively with colleagues by mentioning any presentations, technical writing, and customer support experience you have.
By ensuring that you list the skills above on your resume, you should be able to showcase your qualifications to potential employers and demonstrate your value as an embedded software engineer.
Key takeaways for an Embedded Software Engineer resume
A resume is a summary of an individual’s professional experience and qualifications. As an embedded software engineer, it is important to include essential information on your resume in order to highlight your qualifications and experience. Here are some key takeaways for an embedded software engineer’s resume.
- Include a summary of your technical abilities: As an embedded software engineer, it is important to highlight your technical abilities on your resume. This includes your experience working with hardware and software, programming languages, and any other related engineering skills.
- Focus on your experience: While a summary of your technical abilities is important, your resume should focus on your experience more than your technical abilities. Include any relevant engineering projects you have worked on, as well as any other relevant engineering experience.
- Showcase your communication skills: As an embedded software engineer, it is important to be able to communicate effectively with both technical and non-technical personnel. Highlight any experience or skills you have that demonstrate your ability to communicate clearly and effectively.
- Detail your educational background: Although experience is more important in the embedded software engineering field, employers still want to know about your educational background. Include any degrees or certifications you have, as well as any relevant courses you have taken.
- Make sure the resume is tailored to the job: Tailor your resume to the specific job you are applying for. Include any experiences or skills that are relevant to the job, and make sure to use keywords from the job description in your resume. This will help ensure that your resume is read and stands out from the competition.
By following these key takeaways, you can ensure that your resume is effective and highlights your qualifications and experience as an embedded software engineer. With the right information, you can create an impressive resume that will help you stand out from the competition and get the job you want.
Let us help you build your Resume!
Make your resume more organized and attractive with our Resume Builder
Resume Builder
- Resume Experts
- Search Jobs
- Search for Talent
- Employer Branding
- Outplacement
- Resume Samples
- Software Architect
Embedded Software Engineer Resume Samples
The guide to resume tailoring.
Guide the recruiter to the conclusion that you are the best candidate for the embedded software engineer job. It’s actually very simple. Tailor your resume by picking relevant responsibilities from the examples below and then add your accomplishments. This way, you can position yourself in the best way to get hired.
Craft your perfect resume by picking job responsibilities written by professional recruiters
Pick from the thousands of curated job responsibilities used by the leading companies, tailor your resume & cover letter with wording that best fits for each job you apply.
Create a Resume in Minutes with Professional Resume Templates
- Creates, implements and coordinates engineering product development projects that will support the creation, design, and improvement of electronic products
- Contribute to Systems Engineering projects to develop new and/or improved processes and innovations to provide value for Tenneco
- Work within a development team using change control and source code management systems
- Software stack development, test and debug on various platforms, including software models, development boards and shipping products
- Provide timely communications on significant issues or developments
- Develop embedded Linux/RTOS solutions for STB and also develop and integrate interfaces to connect SW Application layers
- Work in an Agile iterative development environment
- Develop recommendations within established guidelines; work and decisions are reviewed by technical leads before implementation
- Working independently or in small teams to develop new hardware products or make design changes to existing products
- Development of an automated testing framework for use by external developers
- Provide technical support to the factory, Supply Management, and Product Support during key product development phases
- Align daily work to process framework provided by A-SPICE and ISO26262
- Work with product line managers and purchasing to aid in the development of suppliers and products
- Strong background in embedded / network software development, and knowledge of Embedded Object Oriented Development methodologies and approaches
- Creativity / innovation – Possessing curiosity and a passion for driving continuous improvement through spotting opportunities and seeking the views of others
- Assist electrical engineers during initial avionics bring up and product debugging
- Assessing and communicating the impact of design decisions on other organizations. Working cohesively with other areas to resolve these issues
- Evaluating, verifying and validating developed software in the lab with physical modems as well as simulators
- Assists with Release to Manufacturing (RTM) - the transition of products from engineering prototype to Manufacturing
- Participates in project leadership and/or program planning including providing technical input to product development plans and concept documents
- Work in a start-up-like environment with the resources of a large company developing cutting-edge solutions for TV and Movie consumer facing solutions
- Strong ability to work independently, take follow-up on project deliverables, go above and beyond the task at hand
- Knowledge and experience of DSP software development highly desirable
- Experience in model-based software development using MATLAB/Simulink/Stateflow strongly desirable
- A strong desire to constantly find smarter and better ways to develop our products so we can continue providing the best quality of care to our patients
- Comfortable with basic concepts in one or more areas of
- Strong general computer science knowledge, including operating systems, databases, software systems, and networking
- Good knowledge of applying C in a multitasking embedded environment
- Creativity and ability to learn quickly are essential
- Solid Mathematical and Electrical Engineering knowledge / background
- Ability to quickly come up to speed on new projects
15 Embedded Software Engineer resume templates
Read our complete resume writing guides
How to tailor your resume, how to make a resume, how to mention achievements, work experience in resume, 50+ skills to put on a resume, how and why put hobbies, top 22 fonts for your resume, 50 best resume tips, 200+ action words to use, internship resume, killer resume summary, write a resume objective, what to put on a resume, how long should a resume be, the best resume format, how to list education, cv vs. resume: the difference, include contact information, resume format pdf vs word, how to write a student resume, embedded software engineer resume examples & samples.
- You must possess a minimum of a Bachelor Degree in Computer, Electrical Engineering or Engineering in a related field with at least 5 years of working experience in Linux/Android/Windows/RTOS in area of network Connectivity
- Must have good understanding in at least one of the following network protocols and drivers: Ethernet, Wireless LAN, Bluetooth, ZigBee, 6LoWPAN, WirelessHART, ZWAVE and/or Cellular 3G/4G LTE
- Strong debugging and system integration skill. Must be capable of troubleshooting in the development OSes of choice
- Strong Programming Skills in C/C++. Knowledge of Assembly language and occasional hardware troubleshooting is a plus
- Good understanding of OS and kernel system and architecture
- General knowledge of embedded CPU system-level architecture, in particular interaction of driver and hardware interrupts, DMAs, resources allocation. In-depth knowledge of Intel Architecture is an added advantage
- Working knowledge in the software engineering development process, project life cycle. Experience in Scrum agile software development framework is an added advantage
- Good communication and documentation skills. Ability to drive technical discussion with key stakeholders is a must
- Ability to work well in a diverse team environment and with others in cross-site organizations
Senior Embedded Software Engineer Resume Examples & Samples
- Strong Programming Skills in C/C++, Python. Knowing HTML5 web programming, Java/Lua is a plus
- Strong debugging and system integration skill
- Good knowledge in Linux middleware/device drivers programming
- Good knowledge in IoT Technologies and protocols (e.g. MQTT, OSGi, ZigBee, 6LoWPAN)
- Knowing cloud platforms (e.g. xively, axeda, carriot, etherios) is a plus
- Good Intel Architecture system-level knowledge
- Android or Linux driver development
- Version control systems (e.g. Git)
- Multimedia software development (graphics/OpenGL, display) )
- Knowledge about multimedia power and performance analysis and optimization
- Embedded debugging tools (Jtag debugging, tracing)
- Experience with embedded SW development on Intel processors
- Multimedia software development (camera,video,imaging) )
- Driver development for camera interface, sensors
- Knowledge about image quality aspects (image signal processing, sensor tuning, autofocus/-exposure/-whitebalance tuning)
- Android Middleware and Hardware Adaptation Layers
- Linux Kernel/Drivers
- RTOS and firmware development
- System Power & Performance optimization
- Telephony, Wireless Connectivity (WiFi, BT, BLE, GPS, NFC) and Audio
- System Integration and Debug
- C/C++/Java development
- Software planning skills (e.g. the ability to create personal development milestones)
- Ability to ramp-up on huge & complex software sytems and root cause bugs from lowest layers to applications (need strong debugging methodologies)
- Fluent English & French
- Good communication skills and the ability to work effectively with team members in different geographies
- Minimum travel required
- Work with architects to capture requirements and develop specifications for system infrastructure
- Work with cross functional team to develop software that integrates appropriate technologies in accordance with design goals and business requirements
- Design and implement major portions of software using appropriate tools and technologies
- Strong experience in C++
- Experience in developing high availability or clustering software
- Experience with developing web services (SOAP/REST)
- Experience with XML/XPath
- Experience with iterative development methodologies (Agile/Scrum)
- The analysis and fixing of software defects
- Masters or PhD. Degree in Electrical Engineering, Software Engineering, Mobile Communications or Related Areas
- 4+ years of experience with at least one High Speed IPC Technology (USB, PCIe, MIPI LLI, etc.) including knowledge about related System Architectures, Hardware Modules, related standards, as well as Driver Design and Development
- 4+ years of Hands-on experience with Embedded Real-Time OS Environments and Linux/Android
- 4+ years of programming skills in C/C++ with a strong Embedded Background
- 4+ years of experience with Real-Time System Designs
- 4+ years of experience in Multiprocessor Programming
- Knowledge of Protocol Standards for Wired and/or Wireless Communications
- Ability to analyze problems using state-of-the art tools and methodologies
- Pronounced technical leadership skills, ability to share your knowledge and work with others efficiently
- Collaborative, self-organized, take responsibility and have a dedication to deliver results in time and with high quality
- MS Degree in EE or Equivalent
- 10+ years of experience in Embedded Low Level Software in C
- 10+ years of experience in Assembly Code preferably in the Domain of Power Driver Development, Core Driver Development and Boot Systems and working closely with Hardware Blocks
- 5+ years of experience with Low Level Drivers, Clocks, Voltages and Power Levels in Silicon (Preferably in the area of Wireless Systems)
- 5+ years of experience with Operating Systems
- 5+ years of experience with Emulators, Analyzers, Oscilloscopes, Test Equipment and other such infrastructure for Embedded Systems
- Collaborate with colleagues to determine customer needs and turn them into reality
- Design and implement new software features and deliver them into the hands of customers
- Be proactive and reach across team boundaries to get things done
- Mentor and nurture the development of more junior engineers
- At least 6+ years of experience
- Mastery of C and/or C++
- Expertise with distributed systems
- Expertise developing large software applications
- Knowledge of at least one flavor of UNIX
- Machine software feature development
- Identification and resolution of software defects
- Software reviews
- Four-year degree
- Experience in embedded software development (could include school class experience)
- Experience with embedded software development tools such as ClearCase, Git, debuggers, and compilers (could include school class experience)
- Experience developing embedded real-time software or systems for mobile, earthmoving, agricultural, industrial, or off-highway applications
- BA/BS in Computer Science or directly related technical field
- Strong foundation in computer science, with strong competencies in data structures, algorithms and software design
- 3-6 years relevant work experience
- Programming experience in C/C++
- Embedded programming experience
- Object-oriented analysis, design, and programming skills
- Design patterns experience
- Driven, resourceful and proactive
- Agile development experience a plus
- Knowledge of Android
- MS or equivalent in Computer Science or related field
- Android mobile application development experience
- Programming experience in Java
- Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, or Computer Science from an ABET accredited program
- 5-7 years of embedded software product development experience
- Experience leading small technical teams or a desire to lead
- Experience working with embedded operating systems
- Proficient in C or C++
- Experience with various communications protocols (e.g. RS-485, Modbus, J1939 CAN, TCP/IP)
- Understanding of good software design and documentation practices. Experience working in structured work environment
- Experience in software development processes, software version control, object-oriented programming, and embedded software
- Hands on experience with one or more of the following: Lauterbach/Trace 32, ETAS INCA, Vector CANalyzer/CANape/CANoe, Green Hills or Wind River Compilers, Keil Tools for ARM processors, or other emulators and debuggers
- Experience with layered software architectures in embedded products
- Experience in generating formal system requirements and specifications
- Ability to work on and complete multiple tasks in a timely fashion
- Experience with model based software development tools including Matlab/Simulink/Real-Time Workshop/Targetlink strong desired
- Serves in a leadership capacity for carrying out embedded software development in C, C++, assembly language or other selected languages
- May serve as a Lead Software Engineer for a complex software development projects
- Designs and/or reviews architected modules and software systems supporting new technology or improving capability/performance of existing functionality
- Breaks down functional requirements into well defined tasks
- Balances quality, quantity and complexity in work output
- Offers peer technical assessments in areas of expertise, new technologies and software designs
- Assist design engineering as needed with component datasheet review and schematic design review
- Evaluates new technologies as they apply to existing functions
- Makes substantial contributions toward determination of project goal/objective feasibility
- Mentors and/or supervises to less experienced Software Engineers (1 & 2)
- Independently determines general approach and specific solutions to technical problems
- Provides reliable solutions to a wide range of difficult problems using sound problem solving techniques
- Applies good judgment in setting schedules and risk taking
- Master of Science Degree in Computer Science, Electrical Engineering, Computer Engineering, Software Engineering, Aerospace Engineering, Math or Physics or another relevanat engineering/technical field AND a minimum of 3 years relevant experience OR Bachelor of Science Degree in any of the fields noted above AND a minimum of 5 year relevant experience OR an equivalent combination of education and relevant experience
- Demonstrates proficiency with designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality
- Must demonstrate competence with researching fundamental problems and implementing appropriate algorithmic solutions
- Demonstrated ability to serve as a lead software engineer for a complex software project
- Must possess the ability to decompose functional requirements into well defined tasks while balancing quality, quantity and complexity in work output
- Demonstrated capability to offer peer technical assessments in areas of expertise, new technologies and software designs
- Must possess proficiency in writing software in C, C++, Assembly language as appropriate for performing the essential functions of this job description
- Must possess relevant experience and/or training in data structures or object oriented design methodology relevant to Garmin’s business needs
- Must possess relevant education and/or experience in software design, development and maintenance, as required for the successful performance of the essential functions of the position
- Garmin Cochrane: Registered as a Professional Engineer (P. Eng) in Alberta
- Ownership of system design and firmware on hardware projects through integration, test and manufacturing
- Collaborating with electrical and mechanical engineers on the hardware design and implementation process
- Inventing the future feature set of virtual reality
- Experimenting with and implementing interfaces to various sensors
- Developing USB HID based interfaces and bootloaders
- Writing firmware to drive novel display systems
- Devising and implementing low-latency network interface protocols
- Writing programs and scripts as necessary to test embedded systems
- Experience with C and C++ required
- Experience of Object Oriented Software Development
- A good understanding of TCP/IP networking
- Experience of developing software in an embedded environment essential
- Experience with Embedded Linux or any RTOS
- Experience of scripting languages especially Python
- Scouting of novel technologies related to connected vehicle applications
- Implementation of technology solutions into test vehicles for validation
- Prepare and communicate results to other Volkswagen Group teams and management
- Successful transfer of technology concepts into series production
- 2 – 3 Years
- Master's degree in Computer Science or Computer Engineering
- C/C++, Java, XML, Linux
- Embedded SW development experience
- Knowledge of ARM architecture
- Python, SQL, QNX, Windows, .NET
- Navigation algorithms
- Open GL ES/Open CV
- Expert knowledge of embedded Linux user level 'C' code application development
- Linux administration knowledge sufficient to load programs, run scripts and manage files
- Linux kernel experience a plus but not required
- Experience writing documented, maintainable code in a production environment using source code control software and bug tracking software
- Strong knowledge and understanding of the full software development lifecycle, with some engineering and business analysis experience a plus
- Experience with MQTT a plus
- Write and test firmware for embedded Linux platform
- Assist software platform architects and other developers and technical writers in creating software platform documentation
- Bare metal embedded design, development and verification
- Knowledge of product requirement gathering and detailed testing
- Definition, development, verification and maintenance of embedded
- Support innovation and research activities by developing/customising
- Embedded software design, development and verification, particularly in C
- Understanding of electronics, software and PCB design
- A disciplined approach to design, planning, coding and testing
- C Programming
- Firmware Development
- Low Level programming
- Micro-processors
- 1 - 3 years minimum
- Master's in Computer Science or an equivalent education
- Java for Android development
- Python, SQL, Flash, Linux, Windows, .NET
- Embedded SW development experience in Automotive area (i.e Navigation, Infotainment systems)
- Experience on Pre-Development and Development
- Embedded Linux
- Strong C with C++ experience
- Strong OO/Multi-threaded experience
- GStreamer / glib experience required
- Some knowledge of RTP/RTSP
- Develop C/C++ middleware for Ford’s SYNC infotainment system
- Lead integration, build, and release of firmware images for Ford SYNC platform
- Lead root cause analysis of software defects. Lead optimization of boot-up performance and system responsiveness
- Master's degree in Computer Engineering, Electrical Engineering or Computer Science
- 4+ years C/C++ software development experience on embedded, mobile, or consumer electronic platforms
- Proficiency of C/C++ language, GNU toolchain, and Unix: QNX, Linux, or equivalent
- Automotive product development process and quality experience (i.e., A-SPICE, FMEA, etc.)
- Commercial experience of designing and implementing real-time embedded software
- Hands on experience of software design lifecycle within Aerospace or similar controlled industry
- Experience of C, C++, Assembler or Ada
- Experience of target hardware (C167, C269, PowerPC, Coldfire, PIC Microcontroller, TMS320)
- Experience of RTCA DO-178B / EUROCAE ED-12B or similar rigorous development standard
- Experience with Aircraft Power Distribution software
- Demonstrable success in achieving and exceeding internal customer milestones
- Good problem solving and solution building skills
- Good communication skills to team, peers, and management
- Bachelor’s Degree in Computer Engineering, Computer Science or Electrical Engineering from an accredited college or university
- Minimum of 1 years of experience with C / C++ programming in an embedded environment
- Minimum of 1 year of experience with Operating Systems
- Minimum of 1 year of experience with Operating Systems, in real-time operating systems (e.g., VxWorks, Linux, QNX)
- Experience with web markup, including HTML5 and CSS
- Previous system administration experience with Linux and Windows
- Demonstrated ability to deliver on innovative ideas for products and processes
- Demonstrated experience working on teams that use the Agile Scrum development methods
- Knowledge of Ethernet and other Fieldbus (PROFINET, Profibus, DeviceNet) network communication protocols
- Knowledge of C# / .NET development
- Knowledge of Intel (x86), PPC or ARM microprocessors and/or microcontrollers
- C/C++ and assembly language experience and familiarity with scripting languages such as Python
- Experienced as a project lead software engineer providing technical guidance and assigning tasks to other software engineers on the project team
- Demonstrated ability to work cross-functionally with other team members including project management, electrical, mechanical and quality engineers and act as the software technical contact partner for the (internal as well as external) customer
- Excellent oral and written communications skills, including ability to produce clear and concise technical software documentation
- Solid understanding of the need for industry best practice software development processes
- Automotive industry experience a plus
- Prior experience with asymmetrical multi-core SoC processors
- Prior experience with automotive networking protocols such as CAN and MOST, or other network and serial communications protocols (e.g. TCP/IP, RS-232, SPI, I2C)
- Experience with multiple real-time operating systems and embedded systems
- Experience writing and modifying device drivers and boot loaders
- 8+ years of experience developing real-time embedded software
- Strong software development skills and knowledge/experience in software engineering best practices (i.e. OOD, modularity, extensibility, reusability, and maintainability)
- Deep working knowledge of DSP hardware architecture, especially ADI SHARC and TI floating point
- Analysis and optimization of DSP MIPs and memory utilization
- Practical experience with Iterative/Agile Software development process
- 2+ years of experience developing real-time embedded software
- Working knowledge of DSP hardware architecture, especially ADI SHARC and TI floating point
- Oscilloscopes
- Logic Analyzers
- JIRA defect tracking
- Office Productivity (Word, Excel, Visio, Project)
- Proficiency in software and hardware architectures
- Proficiency programming in C
- Proficiency programming in Assembly (any architecture)
- Competency programming in C++
- Competency with software development tools (editor, compiler, linker, debugger, etc)
- Competency with algorithms
- Competency with data structures
- Proficiency developing device drivers
- Proficiency with at least one of these protocols: I2C, I2S, SPI, UART
- Competency with TCP/IP protocol
- Knowledge of USB protocol
- Proficiency reading and understanding datasheets
- Proficiency reading schematics
- Competency using lab equipment (multimeter, oscilloscope, logic analyzer, etc)
- Competency performing technical presentations (team meetings, etc)
- Analysis of product requirements specification
- Development of adequate software design in cooperation with project team
- Creation of software design documentation
- Software implementation in compliance with internal Software Development Guidelines for cooking appliances
- Preparation of artefacts necessary for safety approval / certification
- Performing tests on software modules, subsystems and applications, according to defined test plans with support of software test tools
- Observation of novelties in software technologies and tools for embedded systems
- German or Italian is an advantage
- New product development and design
- Quality control
- Technical support
- Minimum 5 years of experience
- Computer Science or Engineering degree
- Experience in embedded software development required
- Linux kernel basics for ARM
- Background in IT infrastructure and design requirements
- Knowledge of standard network protocols
- Background in audio and video processing
- Linux driver development for ARM experience
- OMX and/or Gstreamer expertise
- QT, PHP, JavaScript
- In Elster’s Agile development environment, participate in Daily team Scrums and sprint content planning meetings
- Analyze technical requirements/user stories for planned Agile sprints and create/execute test plans to meet project timelines
- Develop firmware for microcontrollers for solid-state electricity meters and AMI (Advanced Metering Infrastructure) and
- AGI (Advanced Grid Infrastructure) devices used in utility communication systems
- Design and architect the product, evaluating and validating design alternatives to create optimum products/systems to maximize function/cost ratio in an agile environment
- Document the design in a detailed product specification to describe the functionality and facilitate product verification testing
- Implement the product specifications by writing embedded firmware per Elster coding standards
- Unit test the firmware to verify the functionality
- Use in-circuit emulators, oscilloscopes, logic analyzers and other test equipment
- Work with firmware and system verification teams to develop test plans to verify functional compliance of the design to its specification
- Work with manufacturing to configure and test the product
- Carry the design from concept to manufacture according to the product development process
- Modify existing embedded firmware to fit unique customer needs and configurations
- Adhere to existing coding standards and development processes
- B.S. degree in Computer Science, Computer or Electrical Engineering
- 3-5 years of experience in real-time embedded C programming; assembly language is a plus
- Familiarity with device drivers, interrupt handlers and multi-threaded / multi-tasking real-time operating systems (RTOS)
- Familiarity with object-orientated design concepts, revision control and bug tracking systems
- Experience using scripting languages such as Python
- Experience with metering products, low power designs and AMR/AMI systems is preferred
- Experience working in an Agile development environment and using Agile project tools, such as Rally, is preferred
- Test Driven Development (TDD) or Acceptance Test Driven Development (ATDD)
- You have a Master’s degree in computer science engineering or ICT with at least 5 years of relevant experience
- You have knowledge of communication protocols (TCP/IP; Smart metering; M2M Cellular) and Embedded Linux development or Embedded RTOS
- You have knowledge of JAVA or C/C++ programming
- Understanding of the interaction between hardware and software at different levels (component, sub-system and system) is required
- You have excellent problem solving skills and you learn new technologies quickly
- You are a team player with strong interpersonal skills
- Experience in DevOps is an advantage
- Work with R&D managers, Software team leaders to derive development plans, produce estimates and budgets Work closely with project managers to ensure that projects are delivered to plan and within budget
- Participating in the maintenance of system architectures and design concepts by attending design brainstorming sessions and review meetings
- Honors degree in Electronics/Physics, Computer Science, Software engineering or similar subject. Post Doctorate degree desirable
- 4+ years experience in developing embedded real time software in a team environment. Knowledge of the complete software development life cycle, from requirements through to implementation and test
- In depth technical background in whole life cycle development of complex embedded systems using C and C++ (knowledge of assembler would be advantageous)
- In depth experience of working with Real Time Operating Systems
- In depth Experience of low-level device driver development for Real-Time systems using assembler or C or C++
- In depth knowledge and experience of DSP software development
- In depth knowledge of microprocessor-based hardware system design
- Very strong analytical and technical problem solving skills
- Ability to lead and prioritise team activities
- Develop firmware applications and scripts on different platforms
- Collaborate with sales and marketing to define features
- Troubleshoot support inquiries escalated from internal technical support group
- Experience with Java runtimes; JVM debugging; JNI programming
- Experience debugging 3rd party software packages
- Good C programming skills with cross-compiler tool chain experience
- Experience with Agile software development methodologies
- Experience with Java programming development
- Bachelor's degree plus 4 years of relevant embedded software development experience or Master's degree plus 2 years of relevant embedded software development experience
- Experience in networking applications, Core TCP/IP, Multicasting, Routing, etc
- Development and Debugging of C/C++ applications
- Linux, and Windows host environments
- Troubleshooting and debugging issues in a real-time embedded environment
- Familiarity of major processor families: PowerPC, Intel and ARM
- Experience with device drivers, BSPs and HW design
- Exceptional team player who works well in collaborative environment
- Self-managed, fast learner with the desire and ability to master new technologies
- Bachelor of Science Degree in Computer/Electrical Engineering or Computer Science
- Knowledge of PCB level electrical design (digital and analog)
- Experience in writing software for embedded processors (C, Assembly)
- The following are desirable but not necessary to obtain this position
- Familiarity with power conversion system (rectifiers, inverters)
- C/C++ and TI C2000 Assembly language
- Understanding of real time control and signal processing (interrupts, PI control, A/D acquisition and digital filtering etc)
- Knowledge of a schematics CAD program (PCAD, Pads etc)
- Experience designing printed circuit boards
- We are looking for a professional Embedded Software Engineer to execute complete embedded. software development lifecycle. The goal is to create scalable and optimized software systems
- 3+ years of experience in embedded software engineering
- Knowledge on RTOS, Device Drivers and Application development
- Familiarity with software configuration management tools, defect tracking tools, and peer review of design & code
- Experience in hands-on development and troubleshooting on embedded targets
- Solid programming experience in C or C++ and knowledge on OOP concepts
- Excellent verbal, written and interpersonal skills.Integrate and validate new product designs
- Worked extensively in creating modular software using C
- Familiar with real time system concepts
- Familiar with atleast one rtos like MicroC Os, ecos, nucleus
- Should have at least one year of experience designing or architecting object oriented modules
- Experience in writing multithread software and class libraries is desired
- SHOULD be able to mentor new team members and also guide the team in resolving technical challenges
- Must have a strong knowledge of C/C++ and experience developing software for real-time embedded systems including multi-threaded applications and event-driven software architectures
- Experience with Object Oriented Analysis and Design methods and the Unified Modeling Language (UML)
- Candidates should have knowledge of software development processes, documentation, and CMMI
- Development experience with VxWorks or other real-time embedded operating systems
- Design experience with an Enterprise Architect or other UML modeling tools
- Use of standard office PC tools experience (MS Word, Excel, PowerPoint, etc.)
- Data modeling and database design knowledge a plus
- Knowledge/experience in build management
- Knowledge of web technologies including HTML, XML, Javascript
- Contribute to an enthusiastic and talented team of Software Engineers to bring new products and compelling experiences to the market
- Own part of the system and features by collaborating with partners like User Experience Designers, Program Management, and Marketing
- Integrate technologies like NFC, WiFi, and Bluetooth to build cohesive products
- Enhance processes and devops to improve quality and increase efficiency by focusing on continuous improvement
- Superior critical thinking skills and able to think in abstraction
- Excellent object oriented design (OOD) and object oriented programming (OOP) using C++
- Extensive experience with at least one embedded operating system (Linux-preferred, VxWorks, Nucleus, ThreadX, Integrity, etc.)
- Excellent analytical, problem solving, verbal and written communication skills
- Demonstrated capability to comprehend large scale system architecture and understand why it should fail or succeed
- Strong experience with one scripting language like Python, Perl or Shell
- The design, implementation, integration, documentation and testing
- The optimization of SW for performance and size
- The effective communication and collaboration with peers and stakeholders
- Design, Implement and test the software features, with high quality standard
- Collaborate with cross-functional teams at various stages such as PRD, functional spec, design reviews, coding and testing
- Support customer queries, escalations, to keep high customer satisfaction
- Uses expertise and creativity, to seek opportunity to improve, simply the existing features or innovate new features, solutions
- Implement advanced software development techniques in compliance with technical reference architecture
- Participate in on-going code reviews to improve software stability and security
- Work on new designs for new software solutions
- Contribute to all levels of software design and implementation
- BS and 8+ years experience or MS degree and 5+ years’ experience with degrees preferably in Computer Science, Computer Engineering or a related technical field
- 8+ years experience developing external storage systems
- Strong C/C++ experience
- Demonstrated expertise in problem-solving and technical innovation
- Writing code to manage high-performance data paths
- Caching algorithms
- Fault tolerant systems
- Storage virtualization
- High availability applications
- Writing software functional and design specifications
- Integration Test Automation experience
- SW version control systems experience
- Implementing features and defect correction in legacy code bases
- Experience in Agile code development methodology
- At least 8 years of embedded real-time firmware development experience (requirements analysis, design, testing, documentation) using C, C++ and /or other middle to high level languages
- Proven ability to analyze and solve complex problems which involve both firmware and hardware
- Experience with real-time analog and digital data acquisition and control
- Experience with typical embedded control peripherals (i.e. RAM, Flash, UART, PWM, A/D, CAN, I2C, and SPI)
- Understanding of bus architectures and inter-processor communication strategies
- Proven ability to develop embedded firmware that optimizes run time performance, memory requirements and code re-use
- Demonstrated skills in the firmware development process such as waterfall, spiral or Agile
- Experience with version control, use case, requirements, design, coding, and unit test
- Familiarity with embedded firmware development tools, including the capability to debug, setup through code and perform traces
- Experience with writing and executing firmware test specifications
- Able to multitask and handle a large amount of detail
- Quick learning, self-starter who works well with a dynamic team
- Determines annual and multi-year technical objectives for designated engineering systems or project(s)/program(s)
- Assess and/or develop requirements, and design, implement, integrate and test work products
- Represents the assigned systems or projects(s)/program(s) as a prime technical expert
- Act as expert consultant and advisor in identified area(s) of engineering
- Advises or directs the activities of assigned project(s)/program(s) to achieve technical objectives
- Directs and allocates technical resources and professional staff to achieve objectives
- Develops new and/or expands existing business opportunities
- Ensures compliance, reporting, and safety standards are maintained
- Participates in the planning, selection, retention, and development of the professional staff
- Publishes and present technical papers and abstracts and participate in internal and external technical program reviews
- Maintains the strict confidentiality of sensitive information
- Typically requires a bachelors degree, masters degree or PhD in engineering or a related technical discipline from an accredited institution and progressive engineering experience as follows; fifteen or more years of experience with a bachelors degree, thirteen or more years of experience with a masters degree, or ten or more years with a PhD. May substitute equivalent engineering experience in lieu of education
- Ability to obtain and maintain a DoD Security Clearance is required
- Both C and C++ programming experience is required
- Demonstrates a detailed and extensive technical expertise and application of engineering principles, concepts, theory, and practice as well as project and/or program leadership including organizing, planning, scheduling, and coordinating workloads to meet established project deadlines or milestones
- Experience with RTOS, ARM A/M, ADI DSPs, VxWorks, VME, PPC, I2C, SPI, CAN, LabVIEW, and Linux is desirable
- Experience with satellite or missile avionics flight code is desirable
- Must posses the ability to contribute to the development of new concepts and principles; resolve unusually complex technical problems; serve as spokesperson on projects and/or programs; and be a technical expert in one or more areas of engineering
- Strong communication, presentation, and interpersonal skills are required enabling an effective leadership interface with other departments, all levels of management, professional and support staff, customers, potential customers, and government representatives
- Customer focused, formulates plans based on the development of innovative new designs in resolving advanced technical engineering problems
- Able to work extended hours as required
- Support research, engineering, and development of innovative solutions to support operational cyber missions
- Engineer robust infrastructure, end-point capabilities, and command and control systems
- Performing Windows (and some Linux) programming for 32-bit (and 64-bit) systems
- Developing Windows Applications and services (driver experience desired)
- Apply understanding of technical issues surrounding the designing, building and testing of software development kits supporting Windows platforms and frameworks
- Apply understanding of cryptographic protocols and compression technologies and their implementation in C/C++
- Minimum of 6 years related experience is required
- Minimum of a Secret clearance is required
- Solid programming skills in Python, Java, C++, C, or Assembly
- Understanding of computer, network exploitation techniques and methodologies to include application and mitigation techniques
- An understanding of public exploits and awareness of new unpublished
- Embedded software experience across multiple architectures including ARM, Intel, or other vendors (Android, Arduino Processing, Launchpad C, WindRiver VxWorks, RobotC, etc.)
- Understanding of operating system internals for Windows, iOS, Linux, and/or Android, such as process synchronization techniques (i.e., semaphores, messages, threading), process scheduling, resource and device access
- Performing C/C++ programming (use of Visual Studio)
- Apply coding experience on Intel or AMD platforms
- Bachelors degree in a related technical field. An additional four (4) years of related experience may be substituted in lieu of degree
- Minimum of 10 years related experience is required
- Knowledge of x64 assembly and kernel development
- Applied knowledge/experience developing and testing applications on Windows and Linux systems
- Top Secret, SCI security clearance with polygraph
- Exposure to embedded system programming or low-level hardware interfacing experience (such as using embedded hobby boards like the Arduino, Raspberry Pi, Launchpad, Beagle, etc.)
- Real-time, embedded systems
- C++, C#, SQL
- Test Planning and Unit & Integration Test
- 4 years of C/C++ software development
- Experience with software development process including, requirements development, software design, software coding and testing, integration, and acceptance testing
- Unix/Linux development system experience
- Good teamwork skills; desire to work with high performance software development teams
- Service Oriented Architecture development
- Experience with the software development lifecycle
- Real-Time Operating System experience
- Virtual Machines
- Atlassian Tools (JIRA/Stash)
- Experience with aerodynamic systems or small UAVs
- Network architecture and design
- High volume graphical user interfaces and displays
- Designs, develops, documents, tests and debugs applications software
- Participation in development reviews
- Requires extremely detailed problem identification/troubleshooting & root cause analysis of a complex system
- BS degree in Computer Science, Computer Engineering or STEM degree
- 5 years experience in embedded, real-time processing environments
- 5 years experience with C/C++ development and integration
- Ability to obtain and maintain DoD Secret Clearance and Program Access
- Experience developing software for DOD aircraft
- Knowledge/experience developing with C and C++ software development language
- Experience in an Agile / SCRUM development environment
- Knowledge/experience with Object Oriented methodologies
- Knowledge/experience with Green Hills Integrity / MULTI
- Knowledge of configuration management methodologies and tools
- Experience using software static code analyzers
- Ability to translate system performance and operational specifications into software requirements, design, and test specifications
- Ability to test, debug and integrate on embedded systems
- Knowledge in using requirement management, configuration management and change management tools
- US Citizenship with the ability to obtain and maintain Security Clearance
- Experience programming embedded software such as: C and C++
- Experience programming application software such as: C#, .Net, Java
- Experience on complex systems of systems utilizing parallel processing, distributed processing, multi-core, secureprocessing, Big Data, GP-GPU
- Experience using RTOS such as: VxWorks, INTEGRITY, PSOS and/or Embedded Linux
- Experience with CMMI Level 3, 4 and/or 5
- Experience in using MATLAB and Simulink
- Experience with tools such as: DOORS, ClearCase, ClearQuest and Rhapsody
- Experience using Model Based Engineering, UML, SysML, OOAD and OOP
- Experience with interfaces such as: 1553, Ethernet, Fiber, USB, Serial and/or PCI-E
- US citizen with active Secret or Top-secret clearance
- BS degree Computer Science, Computer Engineer or equivalent engineering degree
- 5+ years of relevant experience (3+ years with MS degree)
- Active Secret level clearance
- Experience in C++ software development
- Knowledge of embedded software development practices
- Experience with multiple phases of the Software Development Lifecycle (Requirements, Design, Implementation and I & T)
- Ability to collaborate within a team structure
- Experience with real-time embedded software development
- Experience with open architecture software development
- Multi-threaded application programming experience
- Experience with Electronic Warfare systems
- Software architecture skills are a plus: Design Patterns, Object Oriented design with Artisan Studio
- Bachelor degree in Computer Science or STEM degree
- Minimum of 2 years experience in Software Design with demonstrated progressive experience of software engineering and architectural concepts in C/C++/Python, embedded RTOS environments, Linux O/S, and Agile software development
- Ability to obtain and maintain DoD Secret Security Clearance
- Experience developing software for military aircraft
- Software / Systems Engineering experience of large, complex weapons systems
- Operating Systems Experience: INTEGRITY, VxWorks, Linux
- Experience with Fibre Channel and Ethernet Network communication
- Rhapsody Software Design tool experience
- Python and PERL scripting experience
- Experience debugging low level hardware and kernel software interfaces and functionality a plus
- Bachelor’s degree or higher in CS, CE or a related Engineering discipline with a full appreciation and knowledge of software engineering process and practices
- 5 years of related experience with a Bachelor's Degree; 3 years with a Masters; 0 years with a PhD
- Current/Active Secret Clearance with the ability to obtain and maintain a Special Access Clearance
- Experience with C/C++ Embedded Development
- Embedded Linux Software C/C++ programming experience
- Configuration Management using Git
- BS (or higher) in Computer Science, Electrical or Computer Engineering
- Understanding of embedded systems and hardware/software interactions
- Experience with object-oriented programming with a working knowledge of one or more common languages such as Python, C++, C, Java, Perl, etc
- Familiarity with good software development practices including approaches to design, implementation, testing, documentation, and debugging
- Basic knowledge of low level processor architectures, operating system concepts, and hardware interfacing
- Experience with implementing signal processing algorithms
- Familiarity with Linux/BSD user and kernel environments
- Experience with low-level hardware/software system debugging
- Background in commercial wired and wireless networking protocols
- Working with a cross-disciplinary team of similarly bright and motivated engineers on projects of national importance
- Sponsored attendance of conferences
- Support and bonuses to develop and teach training courses
- Opportunities to learn new skills and work on a diverse range of projects
- BS (or higher) in Computer Science, Electrical or Computer Engineering and 3+ years of experience
- Candidates should have a strong foundation in object-oriented programming and should have experience with common languages such as Python, C++, C, Java, Perl, etc
- Strong software development skills including design, implementation, testing, documentation, and debugging
- Experience with POSIX interfaces
- Experience with custom hardware architectures, board bringup, low-level system debugging
- Experience with Embedded Software development
- Experience using C or C++
- Knowledge of Matlab/Simulink
- Experience supporting real-time embedded avionics software projects
- Familiarity with the software development life cycle and processes
- Computer Engineering or Electrical Engineering degree preferred
- Provide third-level support to field engineers
- Maintain released products
- May lead projects
- Proven experience of RTOS development
- Professional C++ and C experience in an embedded environment
- Experience of the software lifecycle from concept, to production, and into maintenance
- Experience in communication protocols over serial, Ethernet
- Specify the requirements, designs, implements, integrates, tests and releases embedded level software used in medical imaging products
- Develop functional, design, interface and test specifications and/or tools with minimal supervision
- Conduct specification/work reviews of his/her designs under the direction of the project manager
- Accurately estimate the time to complete scheduled tasks and evaluate on a regular basis the actual versus the planned task times, providing input to the schedules as necessary
- Participate in design reviews under the direction of upper level engineers
- Ensure that design implementation, test and maintenance methods/processes are developed and executed in a manner, which supports all applicable quality standards
- Knowledge of practical software solutions and be able to apply software design techniques to the development of embedded systems software
- In-depth experience in development of functional, design and interface aspects of a product at board, sub-system and system level
- Significant experience in the development of software under an RTOS environment
- Ability to comprehend existing code and perform analysis to produce state/timing charts from code constructs
- Ability to manage time to be able to handle multiple overlapping projects
- Ability to work comfortably in both individual and team environments
- Bachelor degree in Computer Science/Computer Engineering/Computer Systems with at least ten years’ experience in a related field, including at least 4 years in an Embedded Software role
- Masters Degree desired
- Knowledge of Freescale processors and controllers
- Knowledge of ARM processors and controllers
- Project management tools/techniques
- State machines/finite automata/logic reduction techniques
- Knowledge of communications protocols (e.g., CANBus, I2C, RS-232/485)
- Experience with a variety of development tool chains
- Device Driver experience under Windows or UNIX/Linux
- Experience with embedded real-time graphics displays
- Bachelor's (BS) or Master's (MS) degree in Computer Engineering, Computer Science or Electrical Engineering with software focus
- Software development coursework or experience, with knowledge of C/C++
- Excellent verbal / written communications skills
- Must be a U.S. citizen with the ability to obtain necessary security clearance as required by government contracts. Some contracts may have higher-level clearance requirements
- Bachelors Degree in Computer Engineering Computer Science or Electrical Engineering. 1 + years of experience in C/C++ *Must be a U.S. citizen with the ability to obtain necessary security clearance as required by government contracts. Some contracts may have higher-level clearance requirements.Want to create a job search agent? Send this job to a friend
- Practical experience with embedded software development
- Alternatively, practical experience in object-oriented or functional design and development
- Effective written and interpersonal communications
- Robot Operating System (ROS)
- Embedded Linux on Beaglebone, Raspberry Pi and/or similar platforms
- MSP430, PIC, etc, microcontroller programming on custom hardware
- Android and/or iOS
- Application networking concepts (DNS, DHCP, IPv4/6, NAT, Routing, DMZ)
- Relational databases and SQL
- GUI/HCI design
- Version control (Git, Mercurial, Subversion)
- Master in Industrial Sciences, Master in Applied Computer Science with minimum 5 year experience
- Programming languages: C++
- Technology: OO, XML, Boost libraries, SNMP, embedded linux, POSIX threads, network programming ;JSON
- Tools: Svn, Git, Qt Creator, cmake, KDevelop.Buildbot
- Scrum methodology
- Develop new technologies for quantitative gas analysis
- Optimize existing products
- Manage development projects with interdisciplinary teams
- Communicate results to management
- Work / Coordinate with external development resources
- Develop firmware and software for Rosemount Flame & Gas products
- Continue to the architectural evolution of Rosemount Flame & Gas products by using industry best practices in software development
- Give input to and follow software development plans for each new product development project
- Ensure that our software designs are compliant with Rosemount’s New Product Development Process and with the commitments made by Rosemount to SIL-certifying agencies to maintain certification control over our software and firmware releases
- 4 year ABET accredited degree in electrical engineering, computer engineering, or computer science
- Four (4) years related experience
- Object oriented analysis/design, C/C++, embedded systems, requirements, code reviews, software configuration management
- OO Analysis/Design, UML
- Industrial digital protocols (e.g. CANopen, Modbus, Foundation Fieldbus, HART, Ethernet)
- B.S or Masters in Computer Science, Computer Engineering, Electronics or related field
- 7+ years of related Software development experience is a must
- Strong background in electronics and electrical engineering is a must
- Knowledge of embedded software development and design
- Knowledgeable with communication protocols such: I2C, SPI, UART etc
- Smalltalk experience desired
- Excellent knowledge of Object Oriented Software implementation and design e.g.: Design Patterns and Finite State Machines
- Strong software engineering skills: modular design, data structures and algorithms
- Experience with Source Control and Development life cycles
- Analytical approach to root cause analysis
- Knowledge of multithreading is a must (preemptive thread scheduling)
- Understanding of Networking/TCPIP
- Experience in distributed embedded controls systems is a must
- Experience with real-time operating systems desired. (VxWorks preferred)
- Experience in Automation Engineering preferred in Semiconductor Industry
- Ability to learn to design, implement, and test software for embedded systems either as an individual or as part of a larger team
- Design, implement, and test pc based software tools for building and testing code
- Implement and support of software automated test as an integral part of software development
- Participate in special projects and assignments as directed by supervisor
- Assist with: selection and deployment of software tools, writing specifications, collection and processing of metrics, etc
- Ability to organize, and plan a small project
- Ability to design software at the component level
- Ability to learn and understand concepts and instructions easily
- Ability to work alone or as part of a team
- Knowledge of linux and networking / TCP/IP a plus
- Bachelor’s degree in Electrical, Mechanical or Mechatronics Engineering, and five (5) years of progressive post-baccalaureate experience as an Engineer or Intern
- In lieu of a Bachelor’s degree and five years of experience, the employer will accept a Master’s degree in Electrical, Mechanical or Mechatronics Engineering, and three (3) years of experience as an Engineer or Intern
- Employer will accept any suitable combination of education, training and experience equivalent to a Bachelor's degree and five years of experience or a Master's degree and three years of experience
- As part of the experience being required, applicants must have had: experience in requirements analysis, design, programming, and testing of real time control algorithms and embedded software in C/C++; experience in the use of embedded software tools to analyze, design, develop and implement embedded software modules; experience in analyzing, debugging, and correcting software anomalies; experience in implementing regression testing using automated test supervisor framework; experience in the implementation, unit testing, and code review of embedded software modules; experience in generating test result summaries, logging anomalies and conducting failure analysis based on regression testing; experience in motion control and / or robotic control and its application to the control of industrial robots; experience with object-oriented analysis and design; experience in the application of mechanical motion modeling and simulation tools, Matlab/Simulink and SolidWorks; and experience in the programming of Programmable Logic Control (PLC)
- Design and implementation of embedded firmware and application software
- Design of MAC layer interfaces and RF protocol implementations
- Support, maintain and document the embedded software
- Identify and evaluate new software technologies and tools
- Assist in hardware bringup, product design and validation
- Participate in application software design meetings to review technical documents
- Maintains and archives design documents, source code, and other work products necessary for the project
- As necessary, works independently or with quality assurance personnel to plan and execute product testing
- Bachelor degree in Electrical Engineering or related fields
- Good C, C++, Python programming skills
- Strong knowledge of signal processing algorithms and implementation techniques
- Working knowledge of IDE's
- Knowledge on high level programming languages
- Effective in firmware/software design and implementation
- RFID and/or wireless expereince
- New development and maintenance of embedded software applications on Loadrite proprietary platforms across Trimble Loadrite suite of scale products predominantly using C and C++ languages including implementation of appropriate testing frameworks and processes
- New development and maintenance on Third-Party and/or OEM platforms for Loadrite suite of scale products
- New development and maintenance of Loadrite support tools and simulators
- Elaboration of product requirements into detailed technical requirements
- Planning and estimation of tasks within an Agile environment
- Developing new products and implementing improvements for released products
- Tertiary engineering, computer science or related degree
- Proven track record in an embedded software design role
- Excellent with C/C++ programming languages
- Knowledge in use of unit testing frameworks and automated testing tools/processes
- Experience in Agile development processes
- C# .NET skills an advantage
- Able to work with existing code base as required
- Knowledge of microprocessors and microcontroller architecture
- We are looking for a self-motivated embedded software engineer (Connectivity) to design and develop our next generation of portable diagnostics platforms. In this position you will be responsible for the requirements, design specifications and final implementation of the code
- The right candidate for this position will be an experienced engineer who has demonstrated success designing, documenting and implementing high quality application level embedded software with a focus on connectivity
- Duties include but are not limited to
- Deep experience in delivering highly embedded and portable systems in a regulated industry (e.g. Medical Devices, Automotive, Aerospace, Pharma)
- 5+ years of experience as a software engineer designing and supporting development of complex embedded systems
- Expert level programming skills in C and C++ for embedded systems
- Experience working with XML data formats
- Working knowledge implementing device communication protocols using various healthcare standards (e.g. ASTM, HL7, POCT-1A)
- Working knowledge implementing application communication protocols over different transport layers (TCP/IP, Serial)
- Working knowledge setting up and configuring different physical layers (e.g. RS-232, Ethernet, Wifi, Bluetooth, IrDA and NFC)
- Able to take complex designs from concept to implementation with minimal supervision
- Experience estimating and planning software development projects
- Big proponent of formal unit testing
- Experience eliciting and writing software requirements and use cases
- Experience with OOA/OOD and UML
- Experience with SCM tools (Git, SVN)
- Strong written, verbal, interpersonal and presentation skills
- Bachelor of Science, Computer Engineering, Computer Science, EE or equivalent (MS preferred)
- Willingness to travel up to 10% as needed
- Experience in delivering products for the medical for the Medical Device industry (IVD industry preferred)
- Proficient with Medical Device regulations (ISO 13485, ISO 14971, IEC 62304, 21 CFR part 820.30-Design Controls, FDA SW Guidelines…)
- Experience using Agile methodologies (e.g. SCRUM, XP, TDD)
- Expert level programming skills in C and C++ for real time environments
- Experience developing GUI for mobile/portable devices on various platforms (Android, Linux, Qt)
- Experience designing and implementing complex algorithms and functions, including code optimization
- Experience developing software in various RTOS environments (QNX, Embedded Linux, VxWorks)
- Experience designing relational databases for embedded systems using small footprint (e.g. RDM Embedded, QLite, solidDB..)
- Working knowledge implementing communication protocols using various technologies (TCP/IP, CANBus, USB, DBus …)
- Experience debugging embedded code with JTAG
- Experience with Qt GUI design. Familiar with QML and common UI design patterns
- 70% - Design, code, test and integrate embedded software for demonstration prototype systems as well as production systems. Develop technical solutions to complex software problems
- 5% - Analyze requirements provided by Systems Engineering to develop software architecture and software design
- 5% - Work closely with Systems Engineers in developing processor efficient algorithms
- 5% - Provide input to project schedule, financial and technical goals as assigned
- 5% - Provide input on documentation of all software products and deliverables including embedded, system control (GUI), factory test and simulation software
- 5% - Compliance with, and process improvement recommendations of Mustang’s Software Development Process (MSDP) - an agile software process that meets the demands of rapid prototype and product development
- 5% - Compliance with, and process improvement recommendations of software coding standards and software configuration management process and plans
- 4-8 years of experience designing, implementing, and integrating technical embedded software solutions
- Experience with integrating embedded software on Digital Signal Processors and interfacing with FPGA’s
- Fluent in C and C++
- Technical expert in the use of the C/C++ application and technical theories. Candidate uses and applies technical standards, principles, theories, concepts and techniques associated with C and C++ development for embedded multiprocessor systems
- Ability to work independently, without appreciable supervision
- Must be adaptable and willing to work varying assignments
- Desire and ability to work as a team member is essential
- Must be self starter that possesses excellent communication skills
- Excellent people skills to include collaborating in a multi-disciplinary, diverse, and dynamic team environment
- Outstanding work ethic and commitment to organizational success
- Proficient with Microsoft Office products
- Excellent communication skills (written, verbal, and presentation)
- TI OMAPL138 or Xilinx Zynq processor experience
- Defense experience
- Working knowledge of radar fundamentals
- Interfacing with custom hardware
- Device drivers
- Int errupt Driven Systems
- Matlab experience
- Real Time Operating Systems
- Serial communication protocols
- Experience with version control (e.g., Subversion)
- Experience with issue tracking and resolution (e.g., Bugzilla)
- Applying engineering principles/concepts to solve problems and makes modifications as necessary
- Recommending and implementing design solutions for complex subsystems
- BS/MS in Electrical Engineering, Computer Science, or Computer Engineering with 5+ years specific education/experience in embedded software development. Equivalent experience will be considered in lieu of degrees
- Knowledge and programming experience in C++/C
- Experience with object oriented development and programming
- Strong presentation and writing skills
- Experience with VxWorks, GreenHills Integrity, Unix, Linux, Windows
- Experience with signal processing or control systems
- Experience with hardware/software integration
- Experience with UML
- Working knowledge of networking
- Bare metal and Embedded RTOS development
- Application development using different programming languages including ADA and C/C++ (other programming and scripting languages are a plus)
- Object-oriented as well as structured design methods
- Development environments using Window, Linux and Solaris
- Familiar with various source control repositories
- Have solid presentation and writing skills
- Development and troubleshooting on embedded targets
- Familiarity with software configuration management tools, defect tracking tools, and peer review techniques
- Excellent knowledge of operating systems, VxWorks, Linux, GreenHills Integrity, Unix, Windows
- Working knowledge of signal processing, control systems, digital video/audio, networking, TCP/IP/UDP, RS-485, RS-232, low-level driver development and/or 1553 protocols, wireless communications and reading hardware schematics
- 10+ years of experience in embedded software engineering
- BS/MS in Computer Science, Computer Engineering or EE with embedded software experience, or equivalency
- Solid programming experience in ADA, C and C++
- Proven experience in embedded systems design and RTOS
- Design and execution of automatized software module tests (SIL & HIL)
- Participation in design and project reviews
- Failure analysis and bug fixing
- Evaluating internal and external software design change requests
- Requirements engineering/management process
- Familiar with automotive software development processes
- BS in Computer Science, Electrical Engineering, Computer Engineering or related field with equivalent experience
- Expert level C development skills
- Basic Linux proficiency a minimum requirement. Highly qualified candidates will have deep familiarity with the building and configuring the Linux kernel, bringing up Linux systems, and developing Linux kernel drivers, libraries, and daemons
- Basic familiarity with RTOS/super loop style embedded development. Highly qualified candidates will have familiarity with common commercial/free RTOS environments and an understanding of interrupt driven I/O and event driven programming
- Familiarity with commonly used busses and interconnects (IIC, UART, SPI, etc)
- Self-motivated independent worker, able to learn new technologies, and identify and solve problems rapidly and efficiently with minimal oversight
- Strong C/C++ development skills following secure coding practices required
- Strong Linux and VxWorks experience required
- Strong embedded design and development skills required
- Multi-threading experience required
- Strong test and debugging skills at multiple levels (software & hardware)
- Experience with the entire software lifecycle is required
- Experience with TCP/IP and UDP protocols is a plus
- Up to 20% travel is required
- US Citizen/Ability to obtain DOD secret security clearance
- Years of Experience: BS: 2+ years, MS: 0+ years
- The In-vehicle Security section is directly engaged with the entire end-to-end solution for Vehicle Security
- This includes embedded security with client Electrical / Infotainment Engineering and system architecture design, development, and validation methodology and processes for SYNC, embedded modem, and other connected modules
- This includes security for the back-end solution delivery network, dealer tooling, CAN Plug-in Devices, Azure cloud infrastructure, future V2V infrastructure, and mobile applications
- This position is specifically related to support and maintenance of the underlying security infrastructure supporting vehicle messaging, software update and platform security validation
- Strong programming experience (C/C++/C Sharp)
- General understanding of software development, source and build management and associated tools (Visual Studio)
- Familiarity with general IT, Security and Architecture Concepts, processes, and methods
- Understanding of architecture, development, design principals a plus
- Must work well in a small team and be flexible enough to work on any aspect of the project as needed
- Ability to develop and maintain technical documentation as required
- Electrical or System Engineering background will be a plus for module-related work
- Mobile Phone Application Programming, Bluetooth, Networking familiarity
- B.S. Information Systems, Computer Science or equivalent work experience in the requested field
- Be an accomplished C programmer
- Be familiar with Python
- Be familiar with ARM's AARCH64 architecture
- Have experience with the GNU toolchain
- Have experience creating BSPs with U-Boot and Linux
- Have experience with Buildroot and/or OpenEmbedded/Yocto
- Have experience reducing IC and platform specs into software (drivers, etc.)
- Have experience working with typical board-level interfaces: DDR, SPI, I2C, PCIe, Ethernet, etc
- Have experience using lab equipment, such as logic analyzers and oscilloscopes
- Have experience bringing up new silicon and/or platforms
- Be capable of working effectively in a fast-paced and self-directed environment
- Experience with C++, Powershell, or Bash
- Experience with Windows 10 / Server, RedHat Linux, or ESX VmWare
- Design and Development of real-time operational software
- Knowledge of C, C# or Java
- Define Software Requirements
- Experience using software CM tools such as ClearCase or Git
- Typically requires at least 5+ years of experience if you have additional experience you can take on additional responsibilities
- Excellent programming skills in C
- Strong experience in RTOS, software development and verification methodology, version control and automation tools
- Experience in low-pin-count communication buses (I2C or UART or SPI)
- Experience with troubleshooting tools (JTAG, SWD, oscilloscopes, logic analyzers)
- Scripting experience with any of the following Python or Perl or Lua
- Knowledge of ARM architecture is a plus
- Excellent programming knowledge of C
- Experience with memory and power constrained micro-controllers and working with new peripherals, features, and development environments
- Development experience on Unix, Linux or Mac OS X
- Excellent collaborative skills
- Outstanding written and verbal communication
- ARM M0+, I2C, Perl/Python, RTOS
- XML/XSLT, Fixed-Point Math, and GIT
- Recent college graduate with a Bachelor’s degree (Master's preferred). Emphasis in Computer Science, Computer Engineering or Electrical Engineering preferred
- Familiar with C/C++ (preference given to those with C#, WPF experience) and development environments such as MS Visual Studio, and software version control systems
- Experience with multithreaded real time embedded programming and operating system (i.e. VxWorks, embedded LINUX, etc.), Android and/or IoS platforms are highly desired
- Object-oriented programming, TCP/IP networking, and distributed programming is a plus, along with experience with communications systems/theory
- Candidates must have excellent written and verbal communication skills
- Develop C/C++ driver and kernel-level software for Ford’s SYNC infotainment system
- Participate in bring-up and validation of new hardware and boot-up performance optimization
- Experience in C/C++ language, GNU toolchain, and Unix: QNX, Linux, or equivalent Posix based operating system
- Experience in scripting languages including: Python, Perl, Shell Scripting, Lua
- University class-based knowledge of the software development process
- Experience in writing device drivers for QNX/LINUX platform
- Knowledge of User Interface or HMI development tools including: QT/QML
- Working Knowledge of the serial data communication including: CAN, LIN, I2C, and SPI
- Knowledge of the bus interfaces including: USB, PCI, SDIO, and memory-mapped interfaces
- Experience with embedded build systems including: QNX system builder, buildroot, open embedded, or equivalent
- Object Oriented (OO) software development experience with the C++ programming language
- Experience in embedded real-time software development, debug and test
- Interrupt Service Routine, Device Driver, and chip level software development and debugging experience
- Experience with full software development lifecycle
- Working knowledge of hardware/software analysis tools (debuggers, logic analyzers, oscilloscopes, emulators, etc)
- Proficiency with Linux and Linux based software development tools
- Familiarity with DOORS (Requirement Management System), Rational Rose, Rhapsody, Razor and Synergy tools
- Experience with CMM/SEI or equivalent software development process
- Experience with space craft or launch systems software development is highly desired
- BSEE/BSCS, related degree or equivalent work experience; MSEE/MSCS is a plus
- Three plus (3+) years of experience in software engineering, especially in C/C++
- Understand and speak Chinese (Mandarin) is a plus
- Automated testing experience
- Programming languages and concepts: C, C++ (C++x11), Python, IPC, threading, data structures
- Audio: basic concepts of audio/sound, CODECS and containers (MP3, FLAC, AAC, SBC, others), Linux sound (ALSA), streaming transports (HLS, ect), digital sources (S/PDIF, Bluetooth)
- Version control systems: SVN and GIT
- Excellent knowledge of Operative Systems, coding techniques, communication protocols, interfaces and hardware subsystems
- Computer architecture
- PowerPC/Intel assembly programming
- ADA programming
- Bachelor Degree in Computer Science, Software Engineering, or Computer Engineering from an accredited institution with 9+ years of experience
- Expertise with C/C++
- Expertise in one or more bus or line protocols (RS-232/-422/-485 and PPC 60x)
- Experience developing with cross-compilers and building custom kernels
- Experience loading and starting software on custom circuit boards
- Experience developing device drivers
- Strong familiarity with systematic testing methods
- Expertise with processes/threads/core level synchronization
- Familiarity with branching conventions for software configuration management
- Basic understanding of safe/secure coding practices
- Experience using the Agile Scrum methodology
- Expertise developing and troubleshooting Ethernet, USB, PCI/PCIe, Serial RapidIO, VME/VME64x, RACE++, CANbus
- Extensive hard/soft real-time development experience
- Debugging with Integrated Circuits
- Experience in system and network administration
- Experience with Clearcase/git/subversion on Linux
- BASc, MEng or MASc in Electrical Engineering or Computer Engineering
- 8+ years embedded software development experience in a complex product environment
- A team player with a solid work ethic and a reputation for delivering cutting-edge, world class solutions with high quality and outstanding performance
- Strong embedded C/C++ programming skills required
- Expertise in embedded software development for Linux and VxWorks
- Experience with PowerPC and ARM architecture
- Experience with embedded SW development for routers/switches
- Experience tuning real time sensitive code to get maximum system performance
- System level debugging under complex, real time communication and application operations
- Experience with firmware development for Fiber Optic MPLS products
- Expert knowledge of LAN/WAN topologies and network layer protocols
- Experience with NMS software development preferred
- Experience following formal engineering development processes, practices, and procedures
- Well organized, methodical, detail oriented, and excellent analytical skills
- Must be a driven individual, self-starter, capable of performing and delivering without extensive management oversight
- BS/MS in EE, CE, CS or equivalent is required
- Fluent in English (spoken and written) is required
- Experience with C programming and debugging is required
- Good concept of Software/Firmware/Application design in embedded software development is required
- Familiar with wireless communication protocol, networking protocol and Bluetooth/low energy technology is preferred
- Basic knowledge on common interface / bus like USB, UART, SDIO, PCM, I2S is preferred
- Experience with Windows programming, Linux Kernel is a big plus
- Strong communication skills and the ability to work through technical issues with customers and the off-shore teams
- Prior hands-on experience designing, developing, and debugging embedded software for industry
- Proficient writing C or C++ software for embedded targets
- Experience developing multi-threaded applications with a real-time operating system (RTOS) or pthreads
- Emphasis on clean code organization, modular design, and attention to detail
- Comfortable learning new platforms and technologies on-the-fly as needed
- Comfortable working on significant portions of projects with minimal need for supervision
- Ability to obtain a US Government security clearance is required
- Experience working with Linux as a development host and/or as an embedded target
- Experience working with Python and/or MATLAB
- BS or MS in Electrical Engineering, Computer Engineering, Computer Science, or related discipline
- Minimum required experience is 6 years depending on education
- 4+ years of embedded software development experience
- 3+ years ‘C’ language embedded software development
- Previous Software Architect experience with IoT products
- Development experience must include designing, developing and troubleshooting software on a deployed onboard system
- Experience with embedded Control Software with Real-Time Operating Systems
- Experience with Cat Electronics PC Based Software Development Environment
- Experience with Unified Modeling Language (UML)
- Experience with Motorola 32-bit (Motorola 68336, MPC555) embedded processors
- Experience with OSI, SCADA, Protobuf, etc
- BS degree in Software Engineering, Computer Science, Mathematics, Electrical Engineering or a related field
- 2+ years of experience developing software in C/C++ for embedded processors with real time operating systems
- Understanding of software development process concepts including requirements, documentation, source control, and testing
- Experience working both in a team environment and individually
- Effective communication skills (i.e. Oral, Written & Listening)
- U.S. Citizen able to obtain/maintain TS/SCI clearance
- Active TS/SCI clearance within the last 2 years
- Embedded software development experience in areas such as
- Programming for applications and interfaces for firmware/FPGA components
- Creating root file systems for new board designs
- Practical development and test experience in the areas of wireless communications and DSP
- Experience with a signal simulation tool (e.g. MATLAB)
- Experience working in multiple phases of the software development life cycle
- Experience with lab testing equipment like spectrum analyzers and signal generators
- Experience scripting with modern languages such as Python, Ruby, or Perl
- Experience and/or knowledge of network protocols such as TCP/IP
- Understanding of telecommunications and data communications systems
- Ability to work effectively on diverse multi-discipline teams
- Required Skills:(Make as explicit as possible. These should not contain comparative or non-objective skills.)
- 2+ years’ total experience in embedded Linux based software development and includes 1 of these areas
- Active Top Secret clearance within the last 2 years
- Experience in these areas
- Troubleshoot problems, including analyzing and suggesting technical solutions
- Ability to work with onshore and offshore development and testing resources across time zones and locales
- Produce technical documentation which includes functional design, technical design, use cases, and technical release documents
- Conduct tests, both unit and integration testing, of software configurations
- Assist in the design or modifications of complex systems or subsystems
- Performs design changes for product improvements/upgrades
- Provide accurate estimates for proposed projects
- Interact with cross-functional teams to deliver solutions
- Communicate status of projects to stakeholders
- Bachelor degree in Computer Engineering, Electrical Engineering, Software Engineering, Computer Science or related field
- Experience writing firmware for various microcontrollers in C
- Experience writing device drivers and platform/OS level software for Android and Linux systems
- Programming languages: Java, C, C++
- Experience with source code revision control, defect tracking, code analysis, code review and testing software
- Experience developing software for hardware systems using software and hardware; tools such as debuggers, In Circuit Emulators, Oscilloscopes, Logic Analyzers, etc
- Knowledge of device drivers, especially under Linux/Android
- Understanding of PCs and embedded microprocessor systems hardware and operating systems architectures
- Knowledge of software and driver development in Windows and Windows CE is also desirable
- Knowledge of various communication buses such as SPI, I2C, USB, SATA, RS-232, RS-485, CAN, etc. is desirable
- Knowledge of serial communications protocols is desirable
- Knowledge of other programming languages and scripting is desirable
- Knowledge of assembler code (x86, MIPS, SHx, etc.) is desirable
- BS degree in Computer Engineering or Electronic Engineering
- Minimum 5 years of experience in embedded software development utilizing "C/C++" languages and software product development for high-volume production
- Experience with 8 and 16 bit microcontrollers is required
- Experience developing embedded software with RTOS or multitask environments
- Good understanding of SDLC, as well as the tools associated to it (i.e. Subversion, Jira, Enterprise Architect, Contour, Crucible, etc)
- Experience working with custom hardware. Be able to use tools such as logic analyzer, oscilloscope, multimeter, etc
- Experience in implementing/updating communication protocols such as RS-232, SPI, and I2C
- Bilingual English/Spanish with excellent written and verbal communication skills
- Experienced in the use of MS Office suite, MS Project, Visio and Adobe Acrobat
- Strong multitasking capability
- Abilities to excel in a multi-cultural and multi-lingual environment
- Ability to work independently, and within a global organization
- Ability to travel as required (occasionally for extended periods)
- Organized with the ability to manage a diverse workload
- Organized and thorough in release of required documentation
- Master degree in Computer Engineering, Electronics Engineering or Embedded Systems related fields
- Experience with ARM architecture, Atmel microprocessors and IAR Systems compiler a plus
- Experience with TI, Microchip, etc microprocessor is useful as well
- Engineering tools experience (i.e. Expedition, etc.) a plus
- Develop and launch core product features
- Influence our overall strategy by helping define product features, drive the system architecture, and spearhead the best practices that enable a quality product
- Create world class software and firmware
- Interact with cross-functional engineering teams across the company
- Dive into and take ownership for critical design issues
- Address all aspects of technology readiness, including manufacturability
- 4+ years of industry experience, building firmware, SDKs and supporting services
- Proficiency in developing object-oriented software, with deep experience in one or more relevant languages (Python, Java, C, C++, and/or C#)
- Strong Computer Science fundamentals in data structures, algorithm design, and problem solving
- Linux kernel programming experience
- Ability to read and understand schematics
- Familiar with debugging tools such as an oscilloscope, DMM and logic analyzers
- Experience developing a product across the hardware lifecycle, from prototyping to release to manufacturing and production support
- Experience with embedded system RTOS environments such as FreeRTOS, QNX, VxWorks, Nuetrino, etc
- Artificial Intelligence and Machine Learning knowledge are a bonus as well
- Strong sense of ownership, urgency, and drive
- Through the use of analytical ability, application of imagination, and creative effort, solve control system problems in the areas of integrated electronic hardware and embedded software leading to advances in new product design
- Act as primary lead technical resource on cross-functional development teams throughout the course of product development within the framework of the Branson product development process, including the formulation of a development proposal, evaluation of the design, and introduction of the product
- Create, design, develop, prove and implement software for BSPs, hardware drivers, application code, and OS. Including: writing test software, debugging and integrating application software in multi-faceted systems
- Oversee the implementation of circuit design into hardware (PCB, harness, component selection, etc.) to insure design intent is achieved; review and approve related documentation
- Provide technical guidance to marketing in resolving customer application issues
- Remain current on the advances in embedded technology, both hardware and software, through research into the state of the art in components, sub-systems, software, and related technologies and demonstrate their applicability in improving products
- Continue personal development through formal and informal education and training, including participation in professional associations, to remain current with advances in technology
- Provide recommendations for the improvement of process related to Engineering activities
- Ensure project V & V objectives are met; including static code analysis, unit testing, and automation testing
- Is a critical thinker that challenges assumptions
- Seeks new ideas
- Actively solicits opposing perspectives and alternative ideas
- Proactively shares accomplishments, knowledge, lessons, and updates across the organization
- Drives customer value versus meeting customer demands
- Persistently drives activity to achieve results
- Participate in full software development lifecycle from idea conception through release and maintenance
- Utilize various microprocessor development kits to determine design compatibility
- Collaborate with hardware team during design, development and integration
- Assist with the maintenance of source repositories
- Partner with Software Quality Assurance during software test process
- Bachelor’s degree in software related discipline
- 7 years of relevant embedded software development experience
- 4 years of C programming experience with embedded real-time OS like QNX or Embedded Linux or similar
- 2 years of system level debugging experience using JTAG or other similar interfaces
- Familiarity with shell scripting
- Experience with TCP/IP, RS232 and RS485 protocols
- Experience with board bring up for new products
- Liaise with other departments such as Manufacturing, Product Support, Technical Authors and SQA
- Professional experience of C software development in an embedded environment
- Proven experience of low level software development on microcontrollers using an IDE
- Experience in serial communication protocols such as I2C, SPI, and RS485 based network protocols
- Good Understanding of Digital Electronics and interfacing to hardware with software
- Experience developing signal processing algorithms
- Professional hardware design experience using microcontrollers
- Professional C++ experience in an embedded environment
- Full life cycle software development from architecture through development, release and maintenance
- Requirements analysis and specification
- Designing, coding, and debugging systems in C/C++ required and python is also desired
- Implementation of software for inventory, configuration, fail over, environmental monitoring, enclosure management, event handling, etc
- Inter-component interface design (both SWHW and applicationsystem software)
- System power on and bring-up
- Integration with existing infrastructure, and cross-team development to support new features and capabilities
- Vendor requirements specification and follow through to system delivery
- Software for firmware management including versioning, updating, minimizing availability impact, etc
- Participating in high-level architecture design as a member of the design review team
- Documenting the software design and conducting peer reviews to ensure designs meet requirements
- Developing software that meets the requirements, performs unit tests, and integrates software with the modem software system
- Working within a cross functional team of system, RTL, test and hardware engineers
- Providing required status to the Program Manager and/or Project Engineer and supporting the successful execution of projects/programs
- Demonstrating consistent ability to solve problems independently
- Maintaining embedded software for advanced Fire Detection and digital Voice-Alarm systems. The role encompasses the whole life-cycle development from requirements capture through the analysis, design and implementation phases to validation and subsequent maintenance
- Manage software projects and maintain project schedules by utilizing Gantt charts, action plans, prioritization information,
- Make Improvements to the software design process and set a high standard for engineering competence by helping to implement Quality procedures, participating in technical reviews and adopting best software engineering practices
- Mentoring young engineers and graduates
- Degree in Electronics/Physics, Computer Science, Software engineering or similar subject
- 2+ years experience in developing embedded real time software in a team environment
- Knowledge of the complete software development life cycle, from requirements through to implementation and test
- Experience of Configuration management and version control systems
- Knowledge and experience of DSP software development
- Strong ability to communicate technical and non-technical information effectively
- Working closely with other developers and testers, develop an expert level understanding of how our products work and how they are used in clinical practice in order to specify, design, and develop our next generation diagnostic systems
- Work with other development engineers to design, code, test, and document new features and functionality
- Interface with Product Management and Domain Experts to identify product improvements and design new product features
- Develop software unit tests and interface with Test Engineers to explain functionality to ensure features are properly tested
- Be determined in searching for potential product improvements and insist on the highest levels of code quality
- Apply and share knowledge of new and emerging technologies and the opportunities to integrate them into our products
- Strong Object Oriented coding skills in .NET/C#, C++, or Java
- Strong understanding of software design principles, algorithms, data structures, design patterns, and multithreading concepts
- Deep understanding of the Windows Operating System. Experience with Android, UNIX, and RTOS is a plus
- The employee must occasionally lift and/or move up to 30 pounds
- 0-3 years work experience
- Develop software in a LINUX environment using C, C++
- Participate in Agile Scrum product planning and management activities
- Takes responsibility for cross platform (on-board and display system) design and development
- Provides technical input to the department’s strategic operating plans and product migration plans
- 8+ years of experience as an embedded software engineer developing commercial applications on embedded LINUX systems using C or C++
- Architectural design experience for embedded LINUX systems. Solid LINUX background is a must
- Embedded micro-processor experience: ARM 7, 9, Cortex-A8
- LINUX system administration
- Experience creating LINUX Board Support Packages - Timesys experience is a plus
- Exposure to other embedded RTOSs: Nucleus, VxWorks, etc
- Demonstrates technical leadership
- BS and 10+ years experience or MS degree and 8+ years’ experience with degrees preferably in Computer Science, Computer Engineering or a related technical field
- 10+ years experience developing external storage systems
- Hands on experience in one or more of the following
- Ensures work-product is of high quality through best practices such as requirements, documentation, static analysis, code reviews and testing
- Participates in the requirements gathering, requirement analysis, design, code, test and maintenance phases of software product development lifecycle
- Become the subject matter expert for a product system component
- Function as a technical lead for the design and implementation of various sub-systems
- BS in CS, CE, Electrical Engineering, or equivalent experience
- 5+ years of experience as an embedded software engineer developing commercial applications on embedded systems using C or C++
- Design experience for embedded LINUX systems. Solid LINUX background is a must
- Embedded micro-processor experience, such as: ARM 7, 9, Cortex-A8
- Expert in iterative software development processes
- Ability to lead a project focused development effort
- LINUX shell script programming
- LINUX kernel configuration experience
- Exposure to LINUX Board Support Package (BSP) generation - Timesys experience is a plus
- HTML experience
- Familiarity with Eclipse programming environment
- Demonstrates project ownership - ability to see a project through to completion
- This position requires the candidate to design, implement, integrate, and commercialize various user and kernel mode software modules on processor that meet specified performance, latency, power, robustness, and stability metrics
- Responsibilities also include requirements analysis, software maintenance, and troubleshooting of video applications, framework, and drivers
- BS Degree with 3+ years industry experience required in one or more of the following areas: -
- Embedded software development on Linux - C/C++ programming skills
- Experience in Gstreamer development and Linux Kernel development with a focus on V4L2 is highly desired
- Design, Code and Test control and monitoring software for embedded systems
- Lead a team of product specialists
- Identify & record metrics for Software activities
- Liaise with other departments such as Manufacturing, Product Support, Technical Authors, SQA and Marketing
- May lead small projects: preparing project plans and reporting on progress
- Job may involve some International travel
- Senior level professional experience of C software development in an embedded environment
- Proven expert experience of low level software development on microcontrollers using an IDE
- Experience in using an oscilloscope and similar test equipment
- Experience of presenting project plans and technical proposals to commercial and management teams
- Work with Systems Engineers on the implementation and verification of Systems Requirements
- Work with Systems and Hardware Engineers on debugging of problems
- Experience of designing, implementing, verification and debug of real-time embedded software
- Hands on experience of software design lifecycle within Aerospace or similar regulated industry
- Experience of C Programming Language and Assembler
- Experience of target hardware ( one or more of the following; PowerPC, Coldfire, PIC Microcontroller, TMS320, Freescale P1011)
- Good communication skills to team, peers, and management Demonstrable success in achieving and exceeding internal customer milestones
- Skills in use of: DOORS, TI Code Composer Studio IDE, WindRiver Workbench, LDRA (or similar), Rally and Jenkins
- Exposure in dealing with Certification Authority activities, including SOI Audits
- Develop or enhance existing code base and design new but reusable application architectures
- Work with data scientists on algorithms applying machine learning features in embedded devices
- System level development with integration and debugging in Software, Firmware and Hardware
- Work with various hardware and software vendors on complex system integration tasks
- Document functional specification and engineering process
- 2+ yrs. experience in hardware system communication protocol (USB, I2C, SPI, Ethernet)
- Work independently on automation initiatives
- Make suggestions for code improvements
- Develop test automation that interfaces with the low level bootloader, OS and application code
- Develop test automation for specific subsystems such as cellular, Wi-Fi and power
- Develop test frameworks to streamline manual and automated testing
- Ability to debug and isolate failures within a system consisting of mobile, embedded and enterprise components
- Subject Matter Expert on automation efforts
- Train team members on use of automated tools
- Partner with development engineers and other SETs to help champion creative solutions across teams
- Promote the adoption of automated testing
- BS from an accredited four-year college or university in Computer Science, Electrical or Computer Engineering or equivalent
- 2+ years of experience building automation frameworks or testing tools for an embedded environment
- 2+ years of experience with embedded systems
- 2+ years of experience in coding and scripting languages such as C\C++, C#, Java or Perl
- 1+ years Linux operating system experience
- 1+ years of experience developing and executing manual and automated test cases
- Experience with Unit, Integration, Functional, and Load testing
- Knowledge and experience in Wi-Fi, Bluetooth, GPS, and Cellular is a plus
- Knowledge and experience using MQTT and RESTful web services
- Development and testing experience in transportation, logistics, or fleet management
- 6+ years’ total experience in embedded Linux based development
- 6+ years’ software application development experience using C and/or C++ and object-oriented design
- Demonstrated ability to work effectively on multi-discipline teams
- Programming for interfaces with firmware/FPGA based components
- Low level programming for peripherals/interfaces
- Assembling Linux BSPs
- Porting and customizing u-boot loaders
- Creating/customizing Linux device drivers for embedded applications
- Building custom x86, PPC, and ARM Linux kernels
- Experience as a software team/task lead; includes planning and overseeing execution of software design, construction, test and integration activities for teams of 3-5 software engineers
- Experience in build and test automation, and release configuration
- Experience with Python, Perl, and Linux/Unix shell scripting
- Knowledge and experience with sockets, TCP/IP, secure SSL/SSH communications and web services programming experience
- Experience with GNU and Eclipse based tool chains
- Embedded web application development experience using PHP, Javascript, XML, HTML and web services
- Engineering development experience for embedded telecommunications, wireless communications and/or networking products
- Understanding of telecommunications, data communications and/or wireless communications concepts
- Understanding of signal processing fundamentals; knowledge of networking protocols
- BS degree in Computer Engineering, Electrical Engineering, Computer Science or equivalent
- 10+ years of experience developing real-time embedded software
- Good understanding of electronic hardware and use of measurement tools
- Highly creative and persistent individual, not shy of tackling challenging software systems
- Strong C language experience; C++, assembly and scripting languages a plus
- Good working knowledge of ARM-Cortex processors and associated debug tools
- Familiar with DSP hardware architectures, preferably ADI SHARC and/or TI C66x DSP
- Experience with boot strategies as well as bus & memory configuration and management
- Experience with real-time operating systems (Vector, Micrium) and AUTOSAR
- Experience writing efficient and reusable drivers for typical high-performance processor peripherals
- Experience as a lead-engineer able to drive projects toward results independently
- Demonstrated ability to work cross-functionally with multi-disciplinary A/D team members
- Excellent oral and written communications skills. Produce clear and concise documentation
- Solid understanding of industry best practice software development processes
- Automotive or equivalent industry development experience
- Experience with security related software development
- Experience with multi-core SoC development environments
- Network driver/stack development (ex. CAN, MOST, Ethernet (AVB) and associated protocols)
- Work experience with Linux based operating systems
- A genuine passion for embedded software development
- Proficiency in C/C++
- Experience with debuggers such as gdb, lldb, etc
- Familiarity with scopes and logic analyzers
- Understanding of UEFI and the x86 platform
- Knowledge of Intel CPU and device power management
- Able to comprehend hardware specs and schematics
- Familiarity with standard hardware protocols (usb, uart, spi, i2c, pcie, mipi, hdmi, etc.)
- Familiarity with some form of scripting (bash, perl, python )
- Ability to deliver on tight schedules
- Excellent collaborative skills, should be a great team player
- Bachelor's Degree in Computer Science or Electrical Engineering (or equivalent)
- At least 3- 5 years work experience in firmware or embedded software development required
- Experience with web based embedded applications is highly desirable
- Bachelor’s Degree in Computer Science or Computer Engineering
- Experience with embedded Linux or a bare metal OS
- Excellent coding skills in C
- Experience in embedded firmware design, development and debugging
- Board bring-up experience
- 8+ years’ experience as a software engineer
- Linux kernel configuration, cross-compilation and device driver experience
- Key contributor on an embedded design
- Experience with at least one scripting language (Perl, Python, Bash)
- Experience with Linux development environment (makefile, gdb, Ubuntu, Git)
- Experience with debugging tools (logic analyzer, JTAG, oscilloscope, etc)
- Knowledge of serial interface busses (I2C, SPI, CSI)
- Experience with USB and Ethernet
- Linux camera experience
- Power management experience
- ARM Cortex-M or Cortex-A
- As a senior embedded software engineer you will provide expertise in developing software for hardware and instrument control
- You will act as a trusted expert to the team by being a strong team player and taking ownership of your work and by the same time supporting others to better results and affecting the overall success of the business
- Several years of hands-on experience in C++ and C development for embedded software and hardware
- Experience in PLCs, motor and IO controls, CAN BUS and similar
- Knowledge in different processor architectures, e.g. ARM Cortex, etc
- Experience in working with real-time operating systems, uC/OS-II or similar
- Understanding in electronics and ability to read schematics and troubleshoot problems
- Good understanding and experience of software development tools (IAR Systems and Visual Studio), quality assurance, application lifecycle management tools as well as SW development best practices
- Demonstrated ability to involve internal and external stakeholders in a proactive manner
- Strong communications skills. Capable of interacting with a diverse population of internal and external contacts in proactive manner
- Ability and motivation to create mandatory technical documentation as requested for IVD products
- Finnish language skills is considered as plus
- Writing embedded software for scientific instruments
- Windows, C# and SQL experience
- UI design (e.g. WPF, UWP, QT, UI design patterns and guidelines)
- Deliver high quality system-level software for various hardware components
- Driver development and new hardware enablement
- Performance and power optimizations
- Packaging and software build system integration
- Work with a cross-functional team consisting of members from hardware to UI/Applications to QA and Validation teams
- Development and debug of firmware such as u-boot, coreboot or Tianocore
- Security features such as SELinux, crypto, verified boot and trusted execution environments
- Performance tuning of complex workloads
- Real-time and low-latency software development
- Functional safety and software reliability, ISO 26262, ASIL, etc
- Familiar with one or more build environments such as buildroot, OpenEmbedded, Android
- Comfortable with Python, shell scripting, make, etc
- Design, build, test and maintain world class software solutions
- Contribute towards the technical appraisal of new software solutions
- Provide technical support to the operations, power systems and commercial teams
- Perform such other tasks as are consistent with the position and in support of the Head of your team
- Act in the best interests GE at all times
- UK travel may be required
- Graduate with degree, or equivalent, (2:1 or above) in electrical/electronic engineering, computing or a related discipline
- Excellent programming skills in C and C++
- Experience of Embedded System Development
- Experience in both Linux and Windows environments would be an advantage
- A working understanding of power system protection, control and/or operation would be an advantage
- Excellent understanding of power system and automation protocols such as IEC 61850, DNP3.0, IEC 60870 and/or IEEE C37.118
- Proven experience in developing real-time software
- Experience with Matlab + Simulink
- To be pro-active and able to work autonomously
- Work well with others within a team
- Manage time effectively and work to deadlines
- Proven relevant experience
- Design, implement and test CT firmware subsystems, in collaboration with the system design team and hardware engineers, utilizing the CT hardware and embedded software technologies
- Follow modern software practices and methodologies, adopt and improve software development infrastructure components for increased development efficiency and quality
- Collaborate with global teams to promote consistency and maximize synergies across common software platforms
- Leverage DFR for software, Agile and Lean software development methodologies to drive reliability upstream into the product development life cycle
- A minimum of 2 years of professional experience with embedded software
- Work within a team of highly motivated developers using knowledge of both software and hardware devices
- Liaise with other development groups, Project Managers and Systems Architects as appropriate
- Design of software to meet customer and internal requirements, defining interfaces to other software components
- Software Component Integration, writing and debugging code
- Take responsibility for ensuring that the Software Code of Practice and the Software Development Process are followed
- Use of simulators, compilers and debuggers
- Linux development and POSIX standards
- Design methodologies and CASE tools (UML)
- Good team player. Enjoys collaborative working
- Good communication and organisational skills
- A self motivated person who can work in a demanding environment to strict time lines
- Meticulous and thorough with a healthy respect for quality and standards
- Proven software engineering experience with a sound appreciation of all aspects of the software life cycle
- Solid C/C++ programming experience is a must-have
- 1+ year shell, TCL, Python is very desirable
- Familiar with CPU sub systems for Intel or ARM, experienced with PCH, interrupts, timer, SSD, NVRAM, bootflash, SPI is very desirable
- Familiar with network processors or repeater/retimer is a big plus
- Fluency in English communication is required. Qualified candidates should feel comfortable about frequent communication with multiple groups
- Proficient in of C programming language
- Experience developing embedded software or applications preferred
- Knowledge of object oriented programming methodologies
- Experience developing software in an object oriented language preferred (C++, Java, C#)
- Familiarity with key Operating System concepts such as multithreading, task scheduling, interrupts, user modes (kernel vs. user), etc
- Experience programming multi task or multi threaded embedded applications is a plus
- Knowledge of basic Configuration Management methodologies (source code version control, bug tracking and requirement traceability)
- Familiarity with embedded and communication protocols (SPI, I2C, RS232, RS485)
- Familiarity with networking protocols (TCP/IP, UDP)
- Familiarity with industry-wide embedded software design and debugging tools
- Familiarity with basic electronics tools (multi-meter, signal analyzer/generators, oscilloscopes, soldering iron, etc)
- Proficient use of PC applications (Word, PowerPoint, Excel)
- Demonstrated interest in the design and development of embedded controls from both hardware and software perspectives
- Familiarity with Linux, Android, iOS is a plus
- HVAC knowledge is a plus
- Excellent collaboration and teaming skills
- Ability to adapt existing and new technologies to the HVAC field
- Ability to manage multiple priorities and adapt to changing demands
- Design, develop, and maintain advanced software and firmware for NCR products including barcode scanners, scales, image-based security systems, and related retail products
- Identify applicable new technologies and develop new intellectual property
- Strong embedded firmware development skills utilizing real-time proprietary operating systems on microcontroller and DSP-based hardware products
- Optional desired skills include: algorithms to read 1D and 2D barcodes, digital image processing, digital signal processing, I2C, RS232/USB/Ethernet communications, ARM processors, and FPGA development
- BS Degree in Electrical Engineering, Computer Science, and/or Physics
- 4+ years of experience
- Honors degree in Electronics/Physics, Computer Science, Software engineering or similar subject
- Some experience in developing embedded real time software in a team environment. Knowledge of the complete software development life cycle, from requirements through to implementation and test
- Experience of working with Real Time Operating Systems
- Experience of low-level device driver development for Real-Time systems using assembler or C or C++
- UML design documentation
- Object Oriented (OO) Design
- Embedded software and systems design and integration
- Top Secret Clearance
- Experience with Software Systems Integration and Test
- Performing and reviewing software requirements elicitation, analysis and specification activities in co-ordination with product management and the Architectural team
- Producing and reviewing software estimates
- Coordinating activities and providing status, technical risk and risk mitigation plans to the Project Manager
- Producing and reviewing functional design specifications
- Implementing and reviewing software in accordance with the requirements and functional design specifications
- Implementing, performing and reviewing unit testing
- Participating in quality audits where necessary
- Adhere to local and international Emerson principles, practices and procedures
- Design and implement embedded software from requirements to production
- Create unit tests to validate new software features
- Optimize code and algorithms to meet performance KPIs
- Document design decisions to facilitate communication between teams
- Work with hardware and product teams to collect software requirements
- Minimum Bachelor's Degree in Engineering or Computing Science, or related experience
- 5+ years of experience in embedded software development using C
- Thorough understanding of RTOS concepts
- Familiarity with performance optimizations and battery consumption reduction
- Proficiency in writing software documentation, including Requirements Specification, Software Design, Test Plan and API Specification
- Have mastered one scripting language skill ie: Bash, PERL, Python, etc
- Experience running Linux based OS, such as Ubuntu
- Develop software components of reference design development with SOCs and ensure quality and on-time delivery
- Work cross-functionally with marketing and other engineering groups to architect reference designs/framework solution that meets or exceed customer requirements
- Work hands-on in developing software applications
- Develop and review critical customer facing documentation (User Guides, Application Notes, White Papers) to enhance user experience
- Experience in Open Source Linux development
- Experience in Linux Kernel and Driver development for Embedded Systems
- Experience in Linux and Bare Metal Application development
- Source management experience with GIT
- Good communication skills and methodical working practices
- The Embedded Software/Firmware Engineer will be a member of the technical staff in the Engineering Department and be involved in the design, development, integration and test, and maintenance of the Philips Lifeline product line
- This engineer will be a member of the software team. Activities include developing firmware for embedded devices, test software for automated integration and regression test, conducting code and design reviews, reviewing technical documents, and preparing documentation and ECO’s
- BS degree in Computer Science, Computer Engineering, Electrical Engineering or related science area
- 10+ years of embedded product development experience
- Experience in C, C++ development languages
- Experience in unit test, hardware integration test and debugging, and test automation
- Experience developing products in real time system and network protocols such as BTLE, WiFi, ISM RF, and Cellular
- Good understanding of product development life cycle - requirement management and test case management
- Good trouble shooting, communication, and coordination skills
- Experience with home automation protocols such as ZigBee, Z-Wave preferred
- Experience with VoIP device development preferred
- Experience with integration of third-party products preferred
- Experience in testing scripts such as Python, VB.net, VBScript preferred
- Medical device industry experience preferred
- Battery powered device development experience preferred
- Bachelors of Science or Masters of Science in electrical engineering, computer engineering, computer science, or equivalent
- At least 5 years embedded software/firmware development experience
- Experience with C programming language
- Creative problem solving skills and diagnostic abilities
- Ability to work within a team development environment
- Expertise with Linux operating system
- Utilize real time embedded operating systems in the development of electronic products
- Design, implement, and validate modular real-time embedded applications
- Work to design requirements to implement a compliant solution
- Evaluate design alternatives
- Modify existing embedded software to fit unique product needs and configurations
- Participate in the specification, design, analysis and implementation of embedded firmware in several engineering projects
- Contribute to the development of engineering test plans to verify functional compliance of the design to its specification
- Support the design and development of a product from concept to manufacturing according to the Project Management Process
- Working knowledge of coding standards
- Solid history of performance on embedded projects
- Working knowledge and project experience with embedded Real Time Operating Systems ( RTOS ) such as microC/OS-II, embOS, VxWorks, etc
- Understanding of embedded microcontroller/ processor architectures
- Experience working with and developing drivers for common processor / microcontroller embedded peripherals
- Experience with the integration and usage of embedded libraries
- Awareness of industry standard certifications (IEC, UL, etc.)
- Verify networking performance through testing protocols and data analysis
- Evaluate designs for performance, maintainability, and identify potential security issues
- Work directly with the Marine, Portable Aviation, Outdoor, Fitness, and PND teams on technology supporting networking related product features
- Participate in code reviews, giving detailed feedback to other engineers regarding code changes
- Provide reliable solutions to a wide range of difficult problems using sound problem solving techniques
- Must possess proficiency in writing software in C
- Experience developing and/or maintaining networking related software running on an embedded system
- Must excel at collaborative software development in a small team environment
- Must poses the ability to manage multiple simultaneous development projects
- May serve as a Lead Software Engineer for a complex software development project
- Decomposes functional requirements into well-defined tasks
- Researches fundamental problems and implements algorithm solutions that are appropriate
- May partner with electrical engineering or process manufacturer to turn on new processors
- May work with software vendors to integrate externally developed deliverables into project
- Demonstrated proficiency of designing well architectured software systems and modules that support new technology or improve capability/performance of existing functionality and competence with researching fundamental problems and implementing appropriate algorithmic solutions
- Demonstrated ability to serve as a lead software engineer for a complex software project and the ability to decompose functional requirements into well-defined tasks while balancing quality, quantity and complexity in work output are also required
- Must possess proficiency in writing software in embedded C as appropriate for performing the essential functions of this job description
- Design, develop, test, operate, and maintain software and firmware components and computing systems software to be applied to and integrated with engineering, scientific and manufacturing requirements
- Apply the appropriate Software Engineering standards, processes, procedures and tools throughout the system development life cycle to support the generation of such engineering applications and products such as laboratory simulation systems, and display systems
- Interface with customers, suppliers, application users, and other technical and support personnel
- Travel to customer site for installation of our SW applications upon completion (dependent on program phase)
- Be majoring in Computer Science or Computer Engineering
- Have an overall cumulative GPA of 3.0/4.0 or higher (unofficial academic transcripts must be provided at time of application by uploading the documents to your application or profile)
- Experience with C/C++ and Java languages
- Experience with RedHat Operating Systems
- Experience with hardware test equipment such as O-Scopes, Spectrum Analyzers, and power meters
- Experience in working on business or engineering full life-cycle projects from project inception through launch
- Design, develop, test, operate, and maintain software and firmware components and computing systems software to be applied to, and integrated with, engineering, scientific and manufacturing requirements
- Travel to customer site for installation of our software applications upon completion (dependent on program phase)
- Bachelor of Science degree in Computer Science, Computer Engineering, Electrical Engineering, Game Development, Software Engineering, or similar engineering/technical discipline
- Ability to apply and/or develop technologies, scientific principles, theories and concepts
- Ability to change physical locations based upon need (including physical ability to travel)
- U.S. citizenship with the ability to obtain and maintain a Department of Defense (DoD) Secret security clearance
- Experience working on business or engineering full life-cycle projects from project inception through launch
- Design, Code & Test software for embedded systems
- Plan and manage software contribution to development projects
- Liaise with other departments including Hardware, Technical Authors, SQA, Product Support and Product Management
- Professional experience of C and C++ software development in an embedded environment
- Proven experience of low level software development and debugging using an IDE
- Experience with an RTOS or embedded Linux
- Experience in Fire detection industry
- Driver development, bringup and new hardware enablement on RTOS or Linux
- Performance and power optimizations of workloads running on the system
- Packaging and build system integration of various software
- Closely work with teams across the company; hardware, UI/Applications, QA, Validation and Manufacturing
- Proven record of delivering quality system-level products (for senior candidates)
- Familiarity with Linux media subsystems, ISP, cameras (V4L2)
- Experience developing RTOS on Cortex-M and similar platforms
- Software Construction – Lead design and code real-time software solutions to meet key quality and functional requirements. Understand construction fundamentals; minimize complexity, anticipate change, plan for verification. Make appropriate use of planning, modeling, reuse and measurement
- Requirements Analysis – Work with Product Management to define release scope and design alternatives. Understand fundamentals of requirements analysis, elaboration of system requirements to software requirements, provide feedback in areas such as completeness, practicality, measurability and testability
- Task Estimation – Prepare accurate schedules for all project assignments and activities. Understand estimation methods such as function point and three point analysis and task breakdown based on historical models
- Risk Management – Possess and utilize an understanding of risk management concepts, identification, ranking and mitigation strategies
- Quality – Understand and use methodologies that promote the creation of quality software such as CMM or CMMI
- General Functions
- Ability to work regularly and dependably
- Minimum Education: Four-year BS degree in Electrical/Computer/Software Engineering, Computer Science, or equivalent
- 5 plus years experience in microcomputer software design for embedded controls preferred
- C/C++ and Object-Oriented Software design experience required
- Linux experience required
- JavaScript desired
- Revision control software experience required, Subversion a desirable
- Software Security Lifecycle desirable
- Good interpersonal skills, ability to function on a project team, flexibility to take on varied software assignments
- Work with Controls Engineers to create MATLAB Simulink models, adhering to modeling/software/autocoding best practices
- Create or modify test cases to ensure thorough software testing
- Execute model/code equivalences testing
- Identify and resolve software problems
- Create hand code to address any requirements not achieved through autocoding process
- Create interfaces as required to integrate new software components into existing software
- Archive software components into repository database
- Conduct HIL and vehicle level software verification work
- Participate in the software change management process
- Average travel requirements of 2-3 weeks a year
- Experience reading and debugging source code in C
- Experience with MATLAB Simulink/Stateflow
- Basic knowledge of controls theory and the software development process
- Good oral and written communication skills are required
- Ability to manage time and meet deliverable timing is critical
- Must be legally allowed to work in Canada and be able to travel to the US
- Must have a valid Canadian driver’s license
- High level of interpersonal skills to work effectively in a geographically dispersed team
- 3 to 5 years of embedded software development experience
- Experience with software configuration management processes (e.g. CM Synergy)
- Experience in the execution of software peer reviews
- Experience in the development of real time embedded control systems
- Hardware I/O level controller knowledge is a strong asset
- Proficient with structured Software engineering in ANSI C
- CAN and LIN communication protocol knowledge is a significant asset
- Bachelors Degree in Computer Science, Mechatronics, Software, Electrical or Computer Engineering
- A company that is committed to supporting organizations and programs focused on safety, STEM education, community development, and environment & energy
- Design, Develop & Test software for embedded systems running Embedded Linux and RTOS
- Lead and manage projects if required
- Liaise with other departments including Product Support, Technical Authors & SQA
- Supervise junior Engineers
- Proven experience of embedded Linux and RTOS development
- Experience of developing user interface using QT framework
- University degree in Electronic Engineering or similar
- Software Engineer needed for software development of a complex radiation therapy medical device to improve the lives of cancer patients
- Directly impact the development and architecture of the embedded software that creates, stores, and delivers patient treatments
- Drive critical design and implementation decisions that affect how a complex multi-million dollar machine delivers radiation therapy to improve the lives of cancer patients
- Work closely with other team members to implement quality applications that meet or exceed our rigorous tests
- Participate in decisions affecting high performance computing hardware, operating systems, languages, and libraries
- Cross-pollinate the team with theory and practice of software development, object oriented design, and computer languages
- Present concise designs through written and oral reviews
- Some travel (<10%) may be required
- BS Computer Science or Computer Engineering
- 2+ years of expert experience in C++
- Must be able to work in a team environment
- Experience with automated unit testing frameworks
- Experience with multi-threading (threads, critical sections, asynchronous processing) required
- Experience with object-oriented analysis and design, and proper use of design patterns and anti-patterns
- Experience with client / server architecture
- Strong mathematics and/or physics background is a plus
- Experience with Medical Device or Regulated environment preferred
- Experience in an FDA regulated environment desirable
- Experience debugging low level hardware, kernel interfaces and functionality
- Current/Active Secret clearance with the ability to obtain and maintain a Special Access Clearance
- Problem Reporting using Jira or ClearQuest
- Configuration Management using Git or ClearCase
- Analyzes experimental data, develops technical conclusions, and evaluates potential applicability of recommendations. Independently sets technical priorities for complex matters, when difficult compromises must be made (i.e. acts with or guides others toward the proper balance of effort vs. timeliness, and technical improvements and innovation with practical business constraints)
- Coordinates work primarily across project team(s), related groups, or within the department. Communicates proactively and effectively at all levels. Expands understanding and employs sensitivity in communications with culturally diverse audiences
- Demonstrates deep/advanced knowledge of specialized discipline and methods, and applicability to specialized product needs to support customer, operational policies and processes, and product use to translate needs into feasible technical design requirements and recommendations. Interfaces with customers, suppliers, application users, and other technical and support personnel as necessary
- Develops complex test protocols; reviews, and rejects or approves test protocols developed by others, documents/reports findings, and provides corrective guidance
- Independently researches issues outside technical capability and selects most efficient methods/techniques to achieve objectives. Applies appropriate standards, processes, policies, procedures, practices and tools throughout the product/system development lifecycle, including Standard Operating Procedures (SOP’s), and applicable medical device development protocols under FDA Quality Systems Regulations, CE Marking, and ISO Quality Systems
- Independently solves a wide range of complex and diverse problems and evaluates short term impact of recommendations
- Leads design reviews at the sub-system level
- Learns basic Patent policies, procedures, and business issues and becomes familiar with the competitive “Patent Landscape” as related to assigned work
- May assist with systems architecture development at the sub-system level. Works on high impact assignments where speed, quality, and efficiency significantly impacts results
- Performs a variety of assignments reflecting proficiency in a broad range of complex topics; balances constraints and opportunities of 1-2 adjacent technical disciplines with primary area of specialization
- Performs large or complex portions of projects where responsibility includes definition, completion, technical quality, and securing consistency across assigned areas. May independently lead small technical support projects or coordinate portions of larger projects. Contributes to project strategy and approach to meet target goals and milestones, evaluates resource allocation needs, and monitors project risks to determine best mitigation path
- Provides frequent written and oral presentations, status reports, and updates,, adapting and developing appropriate formats, presentations and content for a variety of audiences. Assists others with presentations, as requested
- Provides technical leadership, trains, mentors, and takes initiative to assist junior staff and others. Troubleshoots complex problems, and engages others in problem solving strategies to obtain practical and effective solutions to complex issues. Evaluates applicability and impact of technical methods and solutions referred by junior staff
- Work with the Program leader, external partners, and subteam leaders to design system architecture, leading to an understanding of the overall development plan as well identifying technology roadmaps and gap assessments
- Determine and document system software functional requirements
- Architect software and systems concepts that satisfy product requirements
- Full stack developer with embedded systems experience
- Establish and maintain working knowledge of connected device technology trends and how they are or can be made relevant to our business
- Develop a close working relationship with colleagues in the sales and marketing organizations to understand the market space and to translate that knowledge to product requirements
- Spend time in the field with physicians and key opinion leaders to develop and maintain close ties with on-the-ground happenings in our market
- Possesses a general knowledge of mechanical, electronics, test, manufacturing, verification and validation engineering
- Willing to do what it takes to get the job done, efficient multi-tasking abilities
- Bring an appropriate management of risk to projects and establish a culture of smart risk-taking and challenges to the status quo
- Partner with the Director of R&D, the Senior Manager New Product Development, your Senior Program Leader, and others in maintaining an innovative culture of growth, discipline and urgency
- Bring a sense of fun and adventure to your role and instill that in your team and your partners
- B.S. in Computer Engineering, Computer Science and/or Electrical Engineering
- Strong fundamental knowledge of high performance processors and large complex SOCs along with low power micros
- Solid background in scripting for automation of design methodologies & flows
- Ultra low-power design practices/implementation
- Experience with bring-up and debugging prototype hardware/software
- Detail-oriented with strong organizational, problem solving, and communication skills (both written and oral)
- Direct experience with electronics, sensors, software and integration in to existing mechanical systems
- Ability to work in a team environment including both internal and external resources
- Clear ability with writing project overviews and time/budget estimation
- Translation of user/market requirements in to technical requirements
- Realtime system experience
- Networked / distributed application communications experience
- To design, develop, test and integrate embedded software solutions for products from concept stage through to delivery to customers
- Developing applications for use on 8/16 bit micro controllers using C and Assembly for signal processing and serial communications
- Performing designer testing of Electronic Control Units (ECUs) on vehicles
- Travelling to customers and suppliers for on-site support, training and meetings
- Producing documentation relating to software requirements, specifications and module test plans
- Where necessary, to assist in the training or mentoring of other members of staff, with respect to software
- Work with the Embedded software engineering team, as an integral part of the multifunctional team enhancing the EPS product
- Create test tools that facilitate data gathering and test method execution
- Maintain and update products in the field
- Generate system software requirements for new product features
- Some travel may be required to work with customers to facilitate customer support and product performance validation
- Software engineering or computer science
- C/C++11, Python, JavaScript, HTML5, VHDL, CSS, jQuery, AngularJS
- RTLinux, Ubuntu, VxWorks/Tornado, Microsoft Windows, RTLinux, Ubuntu
- Rational Software Architect RealTime, Clear Case, wxPython, Microsoft Visual Studio
- Embedded PowerPC PPC440Gx/60x/750 and Intel processors
- ICE and JTAG test tools
- High level of initiative with ability to self-manage
- Strong interpersonal skills with ability to work both independently and as part of a team
- Experience with Electrophotography systems; Embedded Real-time software, High voltage, Motion control, Material science
- Assist in architecting exciting new features
- Help maintain and extend existing implementation and systems
- Decompose tasks, define milestones, create schedules and estimated development resources for projects
- Work in dynamic development environment and be responsible for delivering reliable software components
- Execution of full development lifecycle including: Requirements Analysis, Software Architecture, Software Design, Algorithm Design, Unit Test Development, Integration Test Development, Embedded Software Development, Software Verification and Validation
- Coordinate with Software Project Engineering to meet development milestones and deadlines
- Interface with Software Test to validate software function and quality
- Interface with Electrical Development to assure hardware/software integration
- Coordinate with Electrical Engineering Process Group to adhere to development process requirements
- Coordinate with Electrical Systems for integration of software to hardware for final product function, validation, and launch to meet requirements
- Interface with Mechanical Engineering, Microelectronics Assembly, Electronics Assembly, Final Assembly, Applied Materials, and Quality departments to support the execution of Electrical Engineering products into applications
- Participate in Product Launch Teams as required
- Maintain knowledge of company electrical, mechanical, test, and manufacturing practices and engineer consistent with them
- Avoid company politics and promote cooperation and consensus teamwork for the common good of all employees across all departments
- Performs other miscellaneous duties as required
- Interact with and take direction from Group Leader and the Electronic Engineering Manager located at Emerson Climate Technologies Europe
- Accomplish specific deliverables in new product development, sustaining engineering and cost reduction projects
- Create Design, Coding and Specification documentation in support of defined requirements
- Produce quality focused code to fulfill defined requirements
- Actively participate in design discussions and reviews
- Bachelor Degree or above in Computer Science
- 7+ year experience is required
- Language experience – good C programming skill is required
- Experience with microprocessors and compilers ARM, Microchip, Atmel etc
- Driver development experience is required
- Rich and different type projects experience is preferred
- Experience with OS Linux, HVAC applications, Networking, JSON, XML preferred
- Development Experience of embedded products
- Demonstrate good English language skills both written and verbal
- Windows Office applications
- Good general technical background
- Basic hardware design knowledge of micro controllers
- Good working knowledge of communications protocols
- Design, develop, test, and debug of real-time embedded software
- Create, update, and maintain technical documentation
- Support hardware and software integration including debugging issues and performance testing
- Collaborate closely with software architecture team
- 3+ years of experience in software engineering
- Experience developing software in C/C++ for microcontrollers and/or DSP’s
- Experience with MATLAB embedded coder
- Ability to multi-task and work hands-on
- Bachelor’s Degree in Electrical or Mechanical Engineering, Computer Science, or related field from an accredited institution, or equivalent relevant work experience
- Creates and executes designs for small sets of new functionality as part of a software project
- Serve as a mentor to less experienced software engineers (Software Engineer 1)
- Must possess a minimum 1 year of work experience
- Demonstrates proficient knowledge and utilization of engineering tools necessary for successful performance of the essential functions of this job description
- Must demonstrate proficiency and possess experience necessary to develop moderately complex software in C, C++, or assembly language, or other selected languages
- Demonstrates mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
- Previous experience writing embedded C code and in-circuit debugging using JTAG interface
- Previous embedded software development experience with one or more of the following technologies: serial protocols (I2C, SPI, UART, etc.), audio codecs, Bluetooth/BLE, Wi-Fi, USB, cameras, graphics drivers, LCD displays, touch panels, power management, etc
- Familiarity with developing, debugging, and optimizing embedded multi-threaded systems running on ARM-based processors
- Experience in using oscilloscopes and/or logic analyzers to design, test and validate embedded systems
- Senior Software Engineers on the Consumer Automotive team will also
- Contributes to advanced technical research on new technologies
- Offers process improvement suggestions and authors new procedures as appropriate
- Mentors and/or supervises less experienced Software Engineers (1 & 2)
- Exemplifies Garmin’s Mission Statement and Quality Policy and proactively works to improve Garmin’s image and culture
- Three years work experience in Embedded or real –time software development
- C and assembly programming for 16/32 bit micro-controllers
- Decision tables, state diagrams and structured programming
- Configuration management and version control
- Electronic test equipment (oscilloscope, function generator, power supply, etc.)
- Embedded software tools
- Automotive and control applications
- Excellent people skills—ability to work well within an interdisciplinary team
- Excellent C++ skills
- Strong experience with Linux application level development
- Experience with embedded systems
- Strong communication and teamwork skills
- Minimum BS degree in Computer Science or Electrical Engineering
- Audio / Video experience on Linux
- ALSA, GStreamer, Portaudio, etc
- Qt / QML / GUI
- STL/ Boost / C++11
- Multithreading / thread safety
- Building mobile apps (iOS or Android)
- HTML, AJAX, etc
- Develops moderately complex software primarily in C++, or in other selected languages such as C, C#, Java, or assembly for Garmin products and/or applications consistently following Garmin’s coding standards and in accordance with applicable software development methodology and release processes
- Utilizes software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
- Applies a sense of urgency, commitment and focus on the right priorities in developing solutions in a timely fashion
- Works collaboratively and professionally with other Garmin associates in cross functional teams to achieve goals
- Must demonstrate proficiency and possess experience necessary to develop moderately complex software primarily in C++, or other selected languages
- Must demonstrate proficient ability to capture and document software requirements
- Development of real-time embedded software following a rigorous software development process
- Develop flight software for use on radiation-hardened processors to control, process, acquire, and distribute data from scientific satellite payloads
- Develop embedded software for ground-based processors that simulate a satellite spacecraft/payload interface used during the development, testing, and integration of the satellite payload onto the spacecraft
- Write device drivers to interface with custom in-house designed hardware
- Interface with end users, principle scientists, principle engineers, and fellow colleagues to understand payload requirements, deliverables and time-frames, coordinate resources, plan, track, and execute project plans
- Assist with proposals of hardware/software solutions and evaluate the cost-effectiveness of the proposals
- Contribute to the development of progress reports for the project leaders, sponsors, and assist with defining project plans and milestones
- Present results of work at programmatic meetings
- Contribute to continuous software process improvement
- Assist in the development of Interface Control Documents (ICDs) and other system level requirements
- Extract and define software requirements from system level requirements
- Enhance technical and professional expertise through training
- Provide leadership and help mentor other team members
- Contribute to peer review of others’ work across organizations or disciplines
- Experience in formal software development processes
- Experience with the development, deployment and operation of sensors
- Experience with laboratory and/or field use of instruments
- Experience with satellite sensors and programs
- Experience in large data‐set management and exploitation
- VHDL or Verilog experience
- Test benches for FPGA or ASIC based design
- Python programming experience
- Experience estimating task completion effort
- Experience designing or working on a small, medium, or large project
- Experience with remote sensing, digital image/signal processing techniques, and basic geography concepts such as map projections
- Active "Q" Clearance
- Develop software algorithms and models for embedded systems
- Generate hardware requirements and software documents (both process and application-specific)
- Develop and implement tests for hardware/software integration and verification
- Integrate embedded systems with target systems, such as on engines and in vehicles (on test-stand, in lab, in the field, and at customer sites)
- Contribute to identifying new product development opportunities
- Minimum 5 years developing C/C++ and/or assembly language software for embedded control systems
- Experience with boot loaders, initialization code, and real-time operating systems
- Experience embedded system hardware / software integration, including use of scopes, emulators, etc
- Experience with DSP and Fault-tolerant systems
- Experience with configuration management, and software life-cycle documentation
- Sense of urgency in solving problems for internal and external customers
- Open-minded and comfortable with ambiguity
- Self-directed – can determine what needs to be done and perform tasks appropriately
- Willingness to collaborate effectively in a team environment
- Ability to work closely with customers and suppliers, including occasional travel requirements (5%)
- Engine and/or Automotive experience highly desirable
- Understanding of digital and analog circuits, programmable logic, and data communication systems standards such as CAN, OBDII, and others desirable
- Hands-on development in an Agile environment
- Develop embedded software in C, C++, C#, Java or other selected languages
- Expertise in embedded Linux and the Yocto environment
- Master software engineering tools and software engineering environments
- Support and improve our development methodology and release processes
- Optimization with respect to code/memory and performance requirements
- Porting code between different architectures
- Create and maintain requirements, design, architecture, code and tests for different parts of the product
- Ensures quality of the software and its timely and efficient delivery according to the agreed project plans
- Participates in creation and maintenance of product roadmaps
- Work closely with our business and technical teams to develop proof of concepts and R&D teams to productize solutions
- BSEE or MSE in Computer Engineering or related field with at least 5 years' experience developing embedded software
- General CPU/Computer architecture know-how
- Debugging skills for embedded targets and low level software
- Can translate customer / market connectivity requirements into technical definitions
- Can work with Solution Integrators to develop proof of concepts and R&D teams to productize solutions
- Knowledge of wireless communication technologies (NFC, UWB, Bluetooth, WiFi) desired
- Can translate
- Team player and have passion to win attitude
- English language (spoken and written)
- Design and write high-quality C and C++ code targeted for embedded systems
- Participate in peer reviews of team members’ contributions
- Interact with electrical engineers during the design phase of SpaceX avionics
- Design and execute initial testing of the team’s embedded code
- Bachelor's degree in computer science or engineering and 6+ years of experience in C and/or C++, targeted towards embedded devices
- 2+ years of experience using Python in a professional capacity
- Basic proficiency with reading schematics and datasheets, as well as use of electronic lab equipment (multi-meters, oscilloscopes, power supplies, soldering irons, etc.)
- Demonstrated proficiency in working with microprocessors at the “bare metal” level, including bring-up, performance analysis and debugging
- Demonstrated proficiency developing for at least one popular microprocessor family (ARM/TI/OMAP)
- Familiarity with writing software in a regulated environment (automotive, medical, aerospace)
- Experience with the manufacture of mass-produced, microprocessor-based products
- Proficiency with C-based software development
- Good verbal and written comprehension and communication skills
- Proficiency in C++ and object oriented design methodologies
- Small team leadership and ability to drive team decisions
- Demonstrated track record of team work and timely delivery of tasks
- Proficiency in structured SW development practices in embedded real-time environments using Windows or Linux.Scripting in Python, TCLComfortable with HW protocols such as PCI Express, SATA, ONFI, I2C, SPI, DDR DRAM, etc
- Knowledge of ARM microprocessor architecture and CPU behavior
- Familiarity with client/server architecture tradeoffs
- Experience or expertise in evaluating and improving embedded software performance
- Familiarity with or experience with user interface design and development
- Familiarity with wireless protocols, including Wi-Fi, BLE/BT and ANT
- Previous experience developing embedded networking and/or multimedia applications
- Familiarity or experience developing for Android or iOS is a plus
- You have a Master’s degree in computer science engineering, informatics or ICT
- You are fluent in English
- Fluency in other European languages is considered an extra benefit
- 3 + years of experience with C programming language and software development tools for embedded micro-controllers in mobile applications
- Experience in subsystem design and system/vehicle integration
- Experience in software development, electronic circuit design and analysis
- Experience in the field of Mechatronics with a solid understanding of electrical/electronics, hydraulics, and mechanical systems
- Familiarity in control systems design
- Experience implementing embedded software control systems
- Experience with model based software design (MBSD) using the Matlab/Simulink tool chain
- Experience with design/diagnostics of mechanical/electrical/hydraulic systems
- Experience working in other functions, such as: Product Verification & Validation, Dealer Technical Assistance Center (DTAC) or Systems Engineering
- Experience with control systems design and analysis on agricultural or drivetrain applications
- Expertise in software schedule planning and organization
- Experience working in Agile Development Teams as developer
- Experience as a Scrum Master
- Bachelor’s degree in Electrical Engineering or equivalent experience with an emphasis in embedded software development and control systems
- Embedded C programming
- Embedded PIC assembler
- Software Documentation
- Microprocessor Experience(8/16/32 bit)
- Microprocessor Peripherals Experience (ADC, PWM, UART, SPI, COMPARATORS, TIMERS, etc)
- Electronics Appreciation
- Version Control Management
- Debugging / Unit Testing / Fault Finding Skills
- 4-12 years experience in the following areas is required
- Embedded driver development
- Writing and rewriting/architecting/implementing new software modules and enhancements
- One or more of programming skills: C/C++/XML
- One or more scripting languages such as Perl, python, shell, etc
- Object oriented operations/implementation experience in the embedded software environment -Embedded system and firmware development -Tools & Other DSP experience, RF test equipment measurements for power, spectrum, and waveform quality in at least one cellular standard -Debugging embedded software using an in-circuit emulator - Lauterbach, Trace32, JTAG for an ARM processor - Power and spectrum signal analysis using IQ capture data -Digital communications and RF theory in the areas of WIFI, LTE, CDMA, UMTS or GSM is a plus -Work on Firmware in small memory footprint processors
- Developing security solutions which span across market segments
- Requirements analysis and task breakdown
- Working with ARM’s OS, OEM and Silicon Partners to drive standards that enable the optimisation, differentiation and fast evolution benefits of ARM’s Partner model
- Optimising performance and power efficiency
- Upstreaming and maintenance
- Demonstrable low level device driver development or integration experience
- Experience of the software lifecycle: has taken complex software from concept, to production and maintenance
- Strong interpersonal and communication skills: Excellent written and spoken English; can write coherent documentation; can influence and build consensus
- Ability to work independently and in a distributed team
- Pro-active and self-motivating
- Experience with trusted execution environments and trusted applications
- Experience with Enterprise or Networking distributions
- Experience with Android/Chrome/Windows software development
- Familiarity with open-source project development cycles and contribution processes
- Experience with assembly programming (not necessarily ARM)
- Experience with standard firmware implementations: e.g. UEFI, U-Boot or Coreboot
- Experience with boot-time drivers: for example, SATA, Ethernet, USB, Flash
- An understanding of radio protocol standards such as Bluetooth and/or WirelessLAN
- Software development, test and debug on various platforms, including software models, development boards and shipping products
- Working with ARM’s OS, OEM and Silicon Partners to drive Application Platform standards that enable the optimisation, differentiation and fast evolution benefits of ARM’s Partner model
- Expert knowledge of embedded C development
- Experience with at least one embedded Operating system
- Software design of ARM’s reference application processor secure firmware
- Providing technical advice and direction to both ARM’s, and ARM Partners', platform implementation projects
- Optimising performance
- Knowledge of a leading RISC based computer Architecture
- Experience of software profiling, instrumentation and optimization
- Demonstrable low level device driver development and integration experience
- Proficiency with optimizing app, workloads, and compilers
- Professional and enthusiastic approach to work
- Flair for lateral thinking and problem solving
- Familiarity with System-on-a-Chip architectures
- An understanding of embedded power management techniques and security technologies
- Familiarity with testing methodology and automated testing systems
- Experience with device driver development
- Video coding fundamentals
- Multi-core and parallel programming
- Use of UNIX and scripting languages
- Use of fast prototyping environments such as Matlab
- To develop software for Haldex products according to Haldex TS16949 processes
- To develop software for in-house test purposes
- To support engineers from other disciplines in system development and testing
- To support service engineers in the field where specific assistance is required
- Follow product development processes including Haldex Project Management Model and APQP
- Perform job functions in accordance with set policies and procedures to ensure preservation of Company Quality Policy
- Strong ‘C’ programming language skills
- ‘C++’ Windows programming language skills are also beneficial
- Use of ‘Safe C’ subsets e.g. MISRA
- Appreciation of the specific challenges of real time systems
- Appreciation of structured analysis and design techniques
- Some exposure to MATLAB, Simulink and Stateflow is beneficial
- Understanding of compilers and linkers
- Understanding of microcontroller hardware
- Familiarity with emulators and debug tools
- Good understanding of personal computers and their operating systems
- Has the ability to work with others in a cross discipline team of engineers
- Has the ability to communicate at all levels, verbal, written and presentation
- Has the ability to solve problems and is self-motivated
- Ability to manage software tools, including licensing and version control
- Advise others on the implementation of the software development process
- Bring to the team experience of industry best practice
- Any higher-level qualification in an engineering or computer systems related discipline
- Bachelor’s degree (preferably in Computer Engineering or a related field) and a minimum of six years of applicable experience
- Minimum three years with C++ programming language and minimum one year with VxWorks, Linux, or related embedded operating systems
- TS/SCI clearance with current SSBI required
- Experience with software development for embedded systems
- Understanding of SW development processes and life cycle
- Team player able to work in a large program environment and have good communications skills
- RTOS Experience is preferred
- At least 8 years relevant experience on commercial embedded C/C++ projects
- Experience of multicore embedded systems
- Experience of peripherals like I2C, SPI, Ethernet, USB, SDIO, PCIe, MIPI
- Experience of embedded RTOS (e.g. embedded Linux, RTEMs, eCos, freeRTOS) and multi-threaded software development
- Proficiency in embedded software development using C or C++ and assembly
- Strong communications skills, ability to work with team members across multiple locations
- Selfmotivated with strong development discipline (git/svn, continuous integration testing)
- Ability to work with HW schematics
- Experience of porting RTOS to a new HW platform
- Should be an expert at programming in C++
- Should be very good at Linux/Embedded Linux and internal understanding of how Linux kernel works (or kernel level programming)
- Have a sound understanding on networking (Routers, switches etc.)
- Should have used API's to transfer or communicate to different systems
- Design and Develop Embedded Software Product for Industrial Automation System
- Review requirements, create high quality design efficiently and effectively together with multi-disciplinary team
- Develop Software in quality and security guide line
- Conceive test strategy and build test automation scripts to ensure high quality before products release
- Analyze risks, solve problems, decompose bottlenecks and generate recommendations for optimization
- Familiar with control systems, including controller, field bus communication interfaces, and measurement products
- Establish functional software design requirements then specify system-wide C++ embedded software designs
- Implement embedded software system designs which meet agreed functional design requirements
- Write & maintain functional requirement specifications by interpreting & analysing user requirements
- Develop software designs and architectures that you and/or colleagues will implement
- Implement & verify system designs which meet the agreed functional design specifications, whilst satisfying agreed necessary conditions for quality, reliability, maintainability and cost
- Lead and take part in design and code reviews
- Computing/ Science/ Engineering Degree or higher
- At least 5 years’ experience in real-time software development using C/C++
- Experience of developing user interfaces, e.g. LCD keypads, would be beneficial
- Ability to provide guidance in planning, organisation & prioritisation of work in small team/project
- Ability to support the advancement of the software development processes & working practices
- The ability to support and lead less experienced engineers
- Experience of using structured design methodologies such as UML
- Capable of supervising 3rd party testing of the end product
- Capable of clear and accurate communication, both verbal and written
- Design, implement and deploy embedded software for new WHAM products that include technologies like Bluetooth, Active Noise Reduction and Battery management
- Review, evaluate, and code inspect the embedded software to adhere to the product definition and intended user experiences. This requires close and proactive collaboration with other disciplines
- Work with SQA to develop automated acceptance tests for user interface, embedded components, and application software components
- 1 + years of experience in embedded software product development using C++ languages
- 1 + years of experience using Windows 7, Linux and database knowledge Object Oriented Analysis/Design
- Real Time Operating Systems (RTOS) application experience
- Self-starter, able to work well without close direction, both in the office and in the field
- Experience interfacing successfully with engineers and personnel of other disciplines
- Experience using Rally, Qt, UI frameworks, OpenGL, SQL, DDS Middleware
- Experience with Test Driven Development (TDD) and software test automation
- Work on a cross-functional engineering research team to design, develop, and integrate embedded software for current and future surgical robotic platforms
- Contribute to multiple areas of software development for the implementation/integration of high quality research prototypes used to evaluate new product concepts, including but not limited to the following areas
- Bachelor's or Master's degree (Master's degree preferred), with minimum five (5) years of industry experience in developing embedded systems
- Rich experience in developing complete software solutions for embedded systems using C/C++, Inter process communication (IPC) and multithreaded/multitasking on Linux and real-time operating systems
- Demonstrated expertise in one or more of the following areas, with ability to grow into new areas: data handling, user interfaces, computer graphics, real-time embedded systems, video pipelining and real time surgical data streaming
- Hands on experience with software build process, software testing and test automation
- Experience in socket communication and API library development are a plus
- Experience on Matlab, Python, CUDA and GUI frameworks is preferable
- Proven ability to identify new technologies and principles, to rapidly develop product concepts based on such technologies, within an applied research role
- Proficiency in all phases of the Software Development Life Cycle
- Experience in design/development in the medical device industry a plus
- Create, document, implement, unit test, and help develop detailed software designs in an exciting and sophisticated robotic system
- Support definition, bring-up and integration of new custom PCAs and FPGA IP
- Contribute to multiple areas of software development for our distributed multi-processor systems, including but not limited to the following areas
- 5+ years industry experience in developing and supporting embedded systems
- Experience in GUI framework development
- Working knowledge of Python or other scripting languages
- Experience in low level driver development in embedded platforms
- Experience working on product-focused designs
- Hands-on engineering experience with proven ability to work well in a team environment
- Ability to build and maintain relationships across supported organizations
- A desire to deliver a quality and innovative product that improves many people’s lives
- Designs robotic software for electro-mechanical control systems
- Designs and debugs with multithreading applications and embedded systems architecture
- Writes software for real time hardware I/O control and feedback analysis
- Works with real time operating systems (RTOS) and embedded platforms
- Writes software in Microsoft Windows C/C++ with MFC and Embedded Visual C++
- B.S. in Control Systems, Electrical Engineering, Computer Science or related field; M.S. a plus
- 3+ years related experience
- Design and debug experience with multi-threading applications and embedded systems architecture
- Understanding of real-time hardware I/O control and feedback analysis
- Knowledge of extended Kalman filters
- Experience using Microsoft tools and Matlab to interface with external applications
- Experience with real-time operating systems (RTOS) and embedded platforms
- Experience in Microsoft Windows C/C++ with MFC and Embedded Visual C++
- Experience working with TwinCAT and Linux a plus
- Must be able to travel, domestic and international
- Must have a valid driver's license
- Software developer with thorough understanding of board level products as well as system level interfaces
- User interface (UI) developer to help build new application for core Oncology products
- Support feature implementation and integration with detail, quality and customer focus
- Provide good problem solving, troubleshooting and technical decision making
- Ensure product requirements are met including successful completion of system integration and validation
- Coordinate SW development environment tools management, configuration and maintenance
- Partner with team members to translate customer needs and use cases into detailed software requirements and software designs
- Develop product use cases from defined or abstract concepts
- Analyze, design, document, code and debug embedded firmware
- Develop and recommend methods, tools and designs for software development processes
- Participate in product design and code reviews
- Produce test protocols and reports in support of unit and integration testing
- Ability to adhere to source control and design control processes
- Coordinate with all members of the Product Development Team including, project management, quality, regulatory, manufacturing, purchasing and finance
- Work on special assignments as they arise
- Knowledge of software development life cycle, source code management, requirements management, and defect tracking systems
- Working knowledge and use of IEC 60601, 62304 and ISO 13485 and 14971
- Strong background in object oriented programming (OOP) and software design and architecture using best practices
- Strong foundation in the development of complex medical devices
- Ability to manage SW environment development tools
- Ability to fully support R&D group and Quality department by building quality into all aspects of work and by maintaining compliance to all standard operating procedures
- Able to work quickly and effectively under pressure and to efficiently deal with multiple priorities simultaneously
- Proficient in Excel, Word, and Outlook
- Bachelor’s degree in Engineering, Computer Science, or a related field from an accredited college or university
- Minimum 5 years of experience in electromechanical medical device (510k/PMA products) development or equivalent regulated industry
- Experience with board and system level design verification and automation
- Experience with microprocessors and controllers
- Experience in embedded firmware development, using C, C++, and assembly
- Recent experience in building product user interface and using ASP.NET, C#, XAML or JavaScript is a strong plus
- Experience working with real time operating systems (RTOs)
- Hands-on experience with networking communication protocols like TCP/IP, UDP, USB, and I2C is a plus
- Experience in rapid product development, system development and integration, hands-on prototyping and troubleshooting
- BA/BS degree in Computer Science, Electrical Engineering or equivalent practical experience
- 5+ years working with C/C++ programming languages and Linux or embedded Linux systems
- 5+ years of work experience in software engineering related position
- Experience with digital video cameras and imaging pipelines
- Linux programming experience, including small-footprint and low-power systems
- Comfort with tools such as debuggers, logic analyzers and oscilloscopes
- Experience working with hardware designers/reading schematics
- Knowledge of bus protocols such as I2C, SPI, UART and SDIO
- Experience with network programming and network protocols (TCP, UDP, HTTP, SRTP etc.)
- Knowledge of communication protocols such as WiFi, 802.15.4/Zigbee, USB and Ethernet
- Exposure to video and audio (h.264, AAC, speex, opus etc)
- Experience developing device drivers for Linux
- Proficient with automated testing
- Experience with code coverage and static analysis tools
- Designs new embedded software/firmware for high precision optical encoder and motion control systems
- Creates detailed design specifications and selection criteria for key processing platform components (FPGA, DSP, PSOC, A/D, etc…)
- Works with multi-disciplinary engineering teams and cross-functional project teams to integrate code into end products
- Designs experiments and qualification/test plans for components and systems
- Performs hands-on testing and validation of new designs, including performance of code when fully integrated into end products
- Leads multi-disciplinary teams as required
- Provides pre-sale and post-sale product/technical support to strategic medical and industrial customers as needed
- B.S. in Computer, Software or Electrical Engineering or other related degree
- 8+ years of software development experience with at least 3 years of applicable embedded software/firmware product development experience with an emphasis on the analysis, design, programming and testing of systems using engineering best practices
- Experience with Matlab/Simulink auto-code generation
- Experience with C/C++, Verilog and microcontrollers/microprocessors
- Logical thinker and good problem solver, at both the system level and component level
- Able to design and execute complex experiments and effectively synthesize and communicate results as they relate to technical and program goals and risks
- Positive, can do attitude, strong engagement skills
- Demonstrated history of meeting or exceeding goals and getting results
- Technical leadership and mentoring skills with a clear high performance orientation; demonstrates energy, enthusiasm, and creativity in problem solving
- Takes accountability for meeting commitments and deadlines while taking responsibility for technical excellence and continuous improvement
- Demonstrated history of sound judgment and decision-making in balancing cost, schedules and quality objectives
- Researches situations and seeks input from subject matter experts to ensure fact-based recommendations and decisions are being made during all phases of product development
- Able to work on multiple projects concurrently
- Team oriented. Proven leadership and teamwork skills in a cross-functional engineering environment; ability to motivate and empower team members; set and manage expectations
- Displays high moral and business code of conduct
- Able to effectively project the “face of Celera Motion” to customers and suppliers
- Respectful of customers, peers, subordinates and supervisors
- Experience with Microsoft Office (Excel, Word, Power Point, Project)
- Developing and implementing a wide range of low-level embedded software (including device driver, Linux kernel modules, network stack development, porting existing software to new embedded platforms, and other low level programming activities), hardware development, as well as the development of application software running on the Wave Relay® network
- Supporting in-house and in-the-field engineering activities including travel to customer sites
- Traveling to test locations, military facilities, and customer sites to directly supporting the testing, evaluation, and deployment of the Wave Relay® system
- Integrating other systems, sensors, and components with the Wave Relay® system
- Writing technical proposals
- Bachelor's degree in Computer Science, Computer Engineering, or equivalent
- 5 years of C/C++ programming experience
- Experience developing software for Linux systems
- Experience with Linux driver (e.g. wireless, network stack), Linux kernel, and kernel module development
- Must have a United States security clearance or have the ability to obtain a United States security clearance
- Master’s or PhD in Computer Science or Computer Engineering
- Cross-compiling & porting (e.g. make, autoconf)
- Experience with UNIX shell scripting, network application development (e.g. VoIP, streaming H.264), and distributed systems and network protocol development
- Knowledge of MANET / mesh / wireless ad hoc and wired networking
- Experience with Web Management CGI development (HTML, Javascript, AJAX)
- Advanced knowledge of Cisco router/switch configuration/management
- Using C/C++ to architect, develop, and implement software for embedded Linux hardware platforms
- Supporting hardware development
- Developing application software running on the Wave Relay® network, which may include device drivers, Linux kernel modules, network stack development, porting existing software to new embedded platforms, and other low level programming activities
- Supporting internal and external engineering activities, including travel to test locations, military facilities, and customer sites to directly supporting the testing, evaluation, and deployment of the Wave Relay® system
- Bachelor’s degree in Computer Science, Electrical Engineering, or a related field or equivalent experience
- At least 1 year of work/internship experience developing software for embedded Linux systems in C/C++
- Experience with Java and Javascript
- Must have a US Security Clearance or the ability to obtain one
- Master’s degree in Computer Science/Electrical Engineering/Computer Engineering or a related field
- Experience with Linux kernel and kernel module development and Linux driver development (wireless, network stack)
- Experience with network application development (e.g. VoIP, streaming H.264)
- Experience with Android application development
- Knowledge of mobile ad hoc networking (MANET)
- Ability to work with a great deal of autonomy
- To work as part of the CMM division’s real-time embedded software team
- To design new motion-control and metrology algorithms, and create real-time software implementations of the algorithms, in Renishaw’s range of multi-axis controllers
- To gain a deep knowledge of the existing features of the controllers, and make enhancements where required
- To write software test specifications and design documentation of a high standard
- To provide support to the division’s application engineers in understanding the features of the controller
- Analysis of customer requirements
- Development of internal software requirements
- Design/develop/test embedded applications in C/C++
- Analysis and resolution of complete system issues
- Lead design reviews and participate in code reviews
- Develop protocol and interface specifications
- Define and review system performance characteristics
- Strong foundation in standard software development processes/methods and configuration management
- Provide periodic updates on progress to project leadership team
- System level testing and validation
- Bachelors in Computer Engineering/Science
- 3+ years of practical experience in software product life cycle and embedded software development using C or C++
- Working knowledge of hardware and software analysis tools (e.g. CANoe, oscilloscopes, bus monitoring, etc…)
- Proficiency in target based software development and debugging (e.g. JTAG, IDE, etc…)
- Experience on using 32-bit microcontrollers
- Experience with SPI, UART and CAN
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment
- Prototype and evaluate novel algorithms
- Analyse and enhance efficiency, stability and scalability of system resources
- Support software QA and optimise I/O performance
- Working with HAC in house and overseas design dept to design new products from initial design concept through market ready product
- Developing within a phase / gate philosophy to ensure at all times the products development meets and exceeds the min requirements of the company
- Working with VHDL firmware creation, validation and control with HAC communication product range
- Designing, testing and validating firmware in VHDL language to operate with new and existing hardware
- Preferred IP / TCPIP design experience
- Embedded micro controller / processor system design, C, C sharp, C++
- Ensuring that all code is documented, simulated, proven and tested fully to ensure failsafe and reliable operation
- Proven track record in Audio engineering or DSP design preferable
- Preferred to have a sound knowledge of digital and analogue hardware interface
- Proven experience in a similar turn-key R&D environment
- Ability to work within the advised scope of design and to the gate philosophy
- Sharing and utilization of group knowledge to ensure efficient and cost effective design
- Ability to think outside of the box and design modern and innovative product, increasing IP / Patent entitlement
- Understanding and working to project time frames and deadlines
- Understanding the need for clear and complete product documentation
- Providing internal technical support for other depts.or overseas offices as needed
- Preparing comprehensive products and installation documentation as needed for product and systems
- Management of simultaneous deadlines and priorities through to completion
- Experience of C / VHDL within a safety related product environment
- Working experience of simulating, validation and product roll out
- Management of revision control within software / code releases
- Proven ability to integrate C / VHDL with bench testing of hardware down to system level
- Experience of electronics design utilizing analogue and digital principles for communications products
- Working experience of schematic design packages
- Proven ability with bench testing of hardware down to discrete component level
- Must have a working knowledge of product safety certifications such as EMC, CE
- Preferred experience of designing analogue, digital electronics with an exposure to IP and TCP/IP technology. Should possess the ability to work with own initiative, confidence and focus to maintain personal objectives and complete work assigned
- Should be able to work equally as part of a multinational team or alone on single assignments
- Must have a very strong customer focus and willingness to go above and beyond to meet client’s expectations
- Must be able to work well with all stakeholders
- Strong communications skills are essential
- Required – Energetic and a natural innovator
- Support of new feature implementations and product releases
- Issue/bug resolution and sustaining support of existing releases
- Generate and validate customer/platform specific SDK’s
- Assist customers with integration of the SDK’s within their products
- Work directly with FAE and Product teams
- Participate in dialog with other developers in discussing current and proposed architecture, defects, enhancements and other issues
- Work with and maintain automated build and test framework
- Maintain and publish detailed documentation for SDK build and test methods
- Demonstrated organizational skills, with ability to handle and prioritize multiple projects in a timely manner in a fast-paced environment
- Requires ability to travel Japan/Korea/US/PRC
- Contribute to the implementation of Terminals solutions are correctly implemented
- Define and implementation of verification and validation activities associated with these solutions
- Develop maintainable Terminals oriented skills within the Terminals Product Group to support ongoing and future Terminals developments
- B.S. or M.S. in Electrical Engineering or Computer Science (or related field) plus 5+ years of work experience
- Excellent programming skills in C/C++ with experience in embedded system (ARM) design and development required
- Experience developing and debugging network kernel drivers for embedded Linux
- Experience with UDP, TCP/IP and knowledgeable of other common standard IP protocols, including capturing and analyzing packets from various network protocols
- Expert level knowledge of interface protocols such as SPI, I2C, UART
- Experience with logic analyzer and scope
- The individual must be well organized, methodical, and detail-oriented. A self-starter who is capable of identifying problems, taking initiative to propose solutions, and successfully executing plans
- Designs, develops, modifies, implements and executes unit tests and automated tests
- Actively tracks developments in the software community and incorporates them where appropriate
- Works with business unit to evaluate and make recommendations on open innovation opportunities
- Owns definition of overall product software architectures
- Drives use of common components across software solutions
- Reviews design and development efforts by other teams to ensure adherence to standards
- The employee has responsibility for planning, designing, and carrying out programs, projects, studies, or other work independently. Results of the work are considered as technically authoritative and are normally accepted without significant change
- Guidelines are broadly stated and nonspecific. The employee must use judgment and ingenuity in interpreting the intent of the guidelines that do exist and in developing applications to specific areas of work. Frequently, the employee is recognized as a technical authority in the development and interpretation of guidelines
- The work includes varied duties requiring many different and unrelated processes and methods applied to a broad range of activities or substantial depth of analysis. The work involves isolating and defining unknown conditions, resolving critical problems, or developing new theories. The work product or service affects the work of other experts, the development of major aspects of engineering or scientific programs or missions, or the wellbeing of substantial numbers of people
- Personal contacts are with individuals or groups from inside and outside the company in a moderately unstructured setting. The purpose is to influence, motivate, convince, or question persons or groups
- Provides expertise in the core scientific or engineering discipline to all areas of Hach and provides information on strategic planning, acquisitions, and technology evaluation. Feedback is given to the Principal Scientist, Principal Engineer, or Executive Team Members
- Mentors junior scientists and engineers
- DBS and Cross-Functional advocate
- Minimum of a Bachelor's degree in Computer or Electrical Engineering or related field
- Minimum of 10 years of directly relevant experience
- Detailed understanding of software development methodologies for commercial products
- Experience with technical leadership
- Strong background in software architecture and design
- Experience with DevOps
- Expert knowledge of software programming languages and tools required by project
- Demonstrated skill in the areas required to perform this job
- Electrical/Computer Science engineer with GPA of > 85
- 2+ years of experience with embedded SW development
- Knowledge and good understanding of HW, SW and the entire System view
- Experience and knowledge in embedded software development
- Strong software generalist and experience with object oriented languages (C/C++, Java)
- Experience and knowledge of software design paradigms and software development best practices
- Strong competencies in data structures & algorithms
- Strong creative problem solving skills
- Knows how to debug complex systems
- A passion for programming; as in having done it outside of work, possibly open-source contribs
- A passion for building things
- IOS, OS X, application, and/or unix system development a plus
- Understanding of RF ranging and angle-of-arrival techniques, e.g. PDOA, TDOA, TOA, and RTT a plus
- Understanding of radar a plus
- Develops innovative but practical solutions to advanced technical problems in software engineering
- Responsible for direct hands-on development of software in support of real-time and embedded systems used for a variety of applications
- Assess and/or develops requirements, and designs, implements, integrates and tests work products
- Presents report(s) at software engineering meetings, participates in program reviews and consults on problems
- Formulate plans and guides the development and implementation of software solutions including language, coding, platform, resource requirements, testing, and documentation
- Responsible for researching details of target processor hardware and interfaces
- Provides expert guidance and consulting to other staff members working on difficult software engineering problems
- Anticipates future software engineering needs and the modifications required to accomplish a technical goal
- May assume technical and software engineering responsibility of the success of an identifiable project
- Directs activities of design or technical staff and may lead a team of moderately experienced professional staff
- Typically requires a bachelors degree, masters degree or PhD in engineering or a related technical discipline from an accredited institution and progressive engineering experience as follows; nine or more years of experience with a bachelors degree, seven or more years of experience with a masters degree, or four or more years with a PhD. May substitute equivalent engineering experience in lieu of education
- Must have the ability to obtain and maintain a Security Clearance
- Experience with satellite or missile avionics flight code is highly desirable
- Experience with RTOS, ARM A/M, and Linux is desirable
- Must possess the ability to understand new concepts quickly and apply them accurately throughout an evolving environment. Strong communication, presentation, and interpersonal skills are required enabling an effective interface with other departments and/or professionals, and capable of representing the organization as a prime technical contact, as well as providing leadership and guidance to less experienced professionals
- Must be able to work both independently and in a team environment
- A Professional Engineering License, original work(s) published in professional engineering journals, and invited to present one or more original works to an engineering symposium are desirable
- A Master’s Degree in engineering or a software related discipline
- Experience in planning and leading software projects
- Experience in developing software in an embedded context for series production across all lifecycle phases
- Experience in requirements management and software architecture design for embedded systems
- A working knowledge of ISO 26262 or similar, including application to high-integrity software
- Ability to travel internationally on short assignments
- Good spoken and written English (daily communication with colleagues in UK)
- Previous experience of line management
- Ability to understand electronic design schematics
- Experience with functional testing & integration
- Model Based Design concepts & tools
- Knowledge of automotive technologies, standards and protocols such as CAN, AUTOSAR, J1939, ISO 14229
- Perform basic product design, testing and/or analysis work for a defined portion of a project
- Operate in a scrum team environment, providing input to design solutions and participating in design reviews
- Experience with embedded software product development using C++ or C thru practical work experiences, internships or academic experience
- Experience in scripting languages (e.g. Python, Bash, etc.) thru practical work experiences, internships or academic experience
- Experience in roles that required demonstration of excellent communication skills
- Experience developing low level software with Linux
- Experience or training with Object Oriented Analysis/Design (OOA/D)
- Experience or training with multi-threaded systems
- Experience with Test Driven Development (TDD) and software test automation. Experience with UDP, TCP/IP, CAN networking communication protocols
- Demonstrated ability to work proactively and work well without close direction of a team lead or supervisor
- Experience in roles that demonstrate an ability to work successfully with engineers and personnel of other disciplines
- Bachelors of Arts/Science in Computer Engineering, Electrical Engineering or Computer Science or other relevant discipline
- Advanced Degree in Computer Engineering, Electrical Engineering or Computer Science a plus
- Develop embedded software models using MATLAB/Simulink/Stateflow per design of the software for next generation electronic control units
- Manage the source control and controlled release of software models to maintain schedule, budget, and functionality for projects
- Participate in the planning and tracking of validation and usability studies of vehicle software module functionality
- Lead reviews to ensure industry leading embedded software development best practices are met with software models and modules
- Work with vehicle property owners, product developers, system architects, and software architects to develop and maintain software-level technical requirements specifications
- Contribute to development of procedures and practices that ensure continuous improvement of high quality, reliable software systems
- Bachelor of Science in Computer Science, Computer Engineering, or equivalent required
- 2+ yrs development & release of automotive or commercial vehicle software or similar industry-related background preferred
- Proficiency using MATLAB/Simulink, logi.CAD, Rational Rhapsody, Subversion (SVN), and Requirements Management tools is desired
- Engineering knowledge of heavy duty commercial truck systems and regulations preferred
- Experience creating documentation including software requirements specifications, and engineering change notices
- Willing to learn and use new engineering processes and techniques and be resourceful in solving complex technical problems
- Experience in product development and new product implementation
- Willingness to grow personally and professionally in a results-orientated environment
- Travel up to 10%, including internationally
- Support our customers with system level architecture studies (software architecture definition, choice of OS, HW/SW trade-offs, etc...)
- Be involved in the development stage : design & implementation (Linux device drivers, BSPs, boot loaders, networking stacks, multimedia frameworks, application level software, etc…)
- Follow up whether the implementation is in line with the original defined architecture and requirements
- Adopt the systems engineering methodology and software development processes
- Excellent C (and good C++) skills required
- Excellent understanding of hardware interfaces, including ability to interact closely with hardware designers and be able to use oscilloscope to debug hardware interface problem
- Experienced in embedded software: understanding of hardware interfaces (e.g. SPI, I2C etc.) and RTOS
- Extensive experience with at least 1 RTOS (VxWorks, Nucleus, ThreadX, Integrity, Embedded Linux, etc.)
- Good Computer Science fundamentals, including operating system, data structures, algorithms, graphics, and computer architecture etc
- Good competency in OOA/OOD
- Highly motivated, with track record of exhibiting initiative
- Demonstrated creativity and problem solving skills
- Great team player working in a team environment
- Experience with TCP/IP network, HTTP, XML, embedded web server and client and Web service API development is a strong plus
- Responsible for implementing an appropriate embedded software solution to run the camera platform
- Primary design and development responsibility for one or more modules of the embedded firmware
- Responsible for code development, static analysis, unit testing, peer reviews, and ensuring proper revision control of all work products
- Develops high-level design documents, leads and supports design reviews
- Translates customer requirements into detailed software requirements and design, as needed
- Tracks and analyzes firmware/software requirements changes
- Supports Quality, Reliability and Robustness efforts (DFMEA, Fault Tree analysis, etc.)
- Leads troubleshooting of software issues for both development and production firmware/software releases, including troubleshooting firmware/software running on electronics hardware
- Supports Software Validation in designing appropriate requirements for validation
- Performs initial firmware troubleshooting activities on next generation camera hardware
- Responsible for the implementing the appropriate real-time operating system (RTOS) on camera platforms
- Writes kernel and user-space applications
- Develops multi-threaded embedded applications
- Integrates peripheral modules; generates and adjusts the drivers required for integration
- Provides guidance to management and product development teams on selection of the appropriate technology to meet design requirements
- Assists engineers in selection and qualification of new or alternate electronic components to meet RoHS compliance and radiation tolerance
- Assists engineers in evaluating imaging product performance at various university and government test facilities
- Performs verification and validation to satisfy the requirements set forth in Engineering Change Orders (ECO)
- Bachelor of Science degree in Computer Science, Electrical Engineering, Computer Engineering, Physics or similar technical major. Masters degree preferred
- Minimum of seven (7) years of embedded engineering experience
- Required fluency in writing VHDL or Verilog code for FPGAs
- Experience in C and/or C++ software development
- Experience in embedded software development including the use of embedded operating systems, RTOS, embedded Linux, and bare-metal solutions
- Good understanding of platform software and hardware abstraction layer software
- Experience with Field Programmable Gate Array (FPGA) development
- Experience with testing of embedded systems, including use of an oscilloscope
- Experience with different Microprocessors such as ARM and embedded MCUs, implementing embedded solutions
- Basic understanding of I2C as a communications protocol
- Familiarity with version control tools (e.g. Apache Subversion) and its use in daily software development
- Familiarity with NI LabView and Measurement Studio products
- Familiarity with Python looked favorably upon
- Familiarity with image and video processing
- Familiarity with language interoperability looked favorably upon: (e.g., C++ to Python, or C to C#/.NET)
- Basic understanding of Background Debug Mode (BDM) or Joint Test Action Group (JTAG) (IEEE 1149.1) interfaces
- Understanding of data communication protocols and technology. TCP/IP, USB, PCIe, etc
- Composure, conflict management, timely decision making, listening skills, self-motivation, and perseverance are all requirements of this position
- Bachelor of Science degree in Computer Science, Electrical Engineering, Computer Engineering, Physics or similar technical major, Masters degree preferred
- Demonstrated fluency in writing VHDL or Verilog code for FPGAs
- Understanding of Linux operating system
- Must have a demonstrable “customer first” attitude; a happy, friendly and courteous demeanor is a requirement
- Focus is on embedded SW design and implementation
- Deliver technical contributions to all aspects of the development: specification, design, implementation, validation (the latter with test engineer), and documentation
- Timely production of deliverables as agreed with program manager
- Stay up-to-date with relevant new technology developments
- Understand impact of relevant norms/standards
- Perform maintenance activities on critical customer support when needed
- Continuously strive to improve the development process and to assure its quality
- HBO/University degree in a technical study
- At least 4 years working experience for SW development of industrial products
- Focus on quality with an eye for detail
- Strong planning skills and able to perform under pressure
- Excellent communication skills in English, Dutch is a big plus
- Embedded software development: C/C++ in Windows/Linux
- (Unit-) testing using, e.g., C++/C# and/or Python
- Embedded protocols, e.g., I2C, SPI
- Communication protocols, e.g., ModBus
- Version Control Systems, e.g., Subversion, Git
- Development processes, e.g., RUP, Scrum
- Hands-on development, testing and debugging using C/C++ (and other programming environments such as Python for supporting tools)
- Software design (in cooperating with our architecture teams)
- Code optimization for small memory footprint devices, low power and cycles limited CPUs
- Experience with ARM CPUs and architecture
- Experience with support for embedded products
- Familiarity with networking stacks (TCP/IP, HTTP, CoAP)
- Familiarity with cryptography
- Familiarity with Python
- Develop, test, and support camera firmware
- Develop, test, and support image processing algorithms for ARM processors
- Resolve / troubleshoot difficult hardware / software compatibility problems
- Participate in team planning, design discussions, and reviews
- Experience programming ARM embedded processor systems
- Experience programming ARM for a Linux operating system
- Experience delivering firmware that was released in a product
- Experience building communications and I/O interfaces for cameras
- Knowledge of the ARM instruction set (including NEON)
- Experience with Machine Vision / Image Processing is a plus
- C# programming is a plus
- Experience planning and executing projects
- Good presentation, communication, organizational and interpersonal skills
- BS or MS from a top engineering school in EE, CS or equivalent
- 7+ years’ industry experience in relevant, high-tech, jobs coding in C or C++
- Develops moderately complex software primarily in C, or other selected languages such as C++ for Garmin products and/or applications consistently following Garmin’s coding standards and in accordance with applicable software development methodology and release processes
- Estimates level of effort, evaluates new options of similar technology, and offers suggestions to improve processes, and provide comments on some electrical design aspects
- Must demonstrate proficiency and possess experience necessary to develop moderately complex software primarily in C, or other selected languages such as C++
- Programming in C/C++ for highly integrated communication devices
- Specification, implementation and test of wireless protocols on a resource constrained system
- Python scripting for testing and validation
- Interfacing with internal and external stakeholders on a technical level
- Interface with field service robotics and non-destructive inspection technology hardware design and development
- Bachelor's Degree in Computer Science, Computer Engineering, Electrical Engineering, Mechanical Engineering
- A minimum of 2 years of professional experience in in design and development of embedded applications
- Solid programming experience in C or C++
- Proven experience in embedded systems design with preemptive, multitasking real-time operating systems
- Familiarity with software configuration management tools, defect tracking tools, and peer review
- Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
- Experience working in an industrial domain/environment (e.g. Oil and gas, energy, transportation)
- Experience with embedded robotics platforms
- Experience developing inspection applications for industrial assets
- Experience with non-destructive inspection technologies (UT, Eddy Current, remote visual inspection, radiography, etc.)
- Experience with wireless sensor networks, and wireless communication protocols such as WiFi, Zigbee, Bluetooth, Wireless Hart, 6LowPAN, RFID
- Has the ability to break down problems and estimate time for development tasks
- Has the ability to make basic technology choices based on experience
- Voices opinions and presents clear rationale. Uses data or factual evidence to influence
- Seeks to understand problems thoroughly before implementing solutions. Asks questions to clarify requirements when ambiguities are present
- 2+ years of work experience programming in C and C++
- 2+ years of work experience with embedded system programming
- Experience developing for real time operating systems (RTOS) or Linux
- Strong knowledge of bus protocols such as I2C, SPI, UART and SDIO
- Previous industry experience
- Experience with ARM Cortex-Ax, Cortex-Mx and low-power SoCs
- Communication protocols such as WiFi, 802.15.4/Thread and USB
- Familiarity with GNU toolchain (gcc, as, ld, make, sed, etc.) or equivalent cross platform development tools
- Experience reading and reviewing schematics
- Experience with automated testing methodology
- You have a bachelor or master’s degree in computer science engineering, informatics or ICT
- You have a bachelor or master’s degree in computer science engineering or ICT with at least 5 years of relevant experience
- You have knowledge of JAVA programming
- Experience in the smart metering industry is considered an advantage, but not critical
- You are fluent in English. Fluency in other European languages is considered an extra benefit
- Develop embedded software which will operate in a resource constrained target environment with soft and hard real time requirements
- Work with software requirements and architecture, prototyping, design, implementation, integration, test, self-off, and delivery of software which will implement complex data analysis, data routing, and/or controls systems algorithms in resource constrained target environments
- Candidate will need familiarity with various processor, memory, and I/O architectures and be able to implement both procedural and object-oriented software in C/C++ and Java
- Candidate will work with real-time operating systems ( VxWorks , Integrity, Linux) and their associated host/development environments and tools
- Bachelor’s Degree in a Science, Technology, Engineering or Mathematics discipline from an accredited university and 9 years of software engineering OR
- Master’s Degree in STEM and 7 years of software engineering experience
- Experience with real-time embedded software development using C and C++
- An active in-scope DoD Secret clearance
- Bachelor’s degree in Computer Engineering, Computer Science, or Electrical Engineering
- Knowledgeable in: high assurance software, flight critical software (DO-178), ARINC Standards, CMMI (3-5), hardware/software interfaces, programming of embedded processor utilizing a Real Time Operating System (RTOS), real-time and post processing data analytics, object oriented programming, design patterns,
- Excellent 2-way communication skills (upward and downward)
- Excellent communication, interpersonal skills, and the ability to interface with all levels of employees and management
- Bachelor’s Degree in a Science, Technology, Engineering or Mathematics discipline from an accredited university and 2 years of software engineering OR
- Master’s Degree in STEM and 0 years of software engineering experience
- An active DoD Top Secret clearance or SCI access
- Development of low-level device drivers for crash diagnostics in C/C++
- Integration and testing of embedded device drivers in crash time and run time
- Debugging and analysis of crash system issues
- Close cooperation with other development departments locally and worldwide
- Proactive mind set, motivated to drive improvements
- Bachelor or Master degree in Computer Science, Software Engineering or equivalent work experience
- Knowledge of embedded system architecture and development environment
- Ability to analyze and understand complex software, diagnosing root cause, and identify solutions
- Familiar with mobile technologies, security technologies and flash technologies
- Experience in development of embedded SW testing methods
- Understanding of algorithms, cryptography and software engineering
- Ability to learn and adapt in a rapidly changing environment
- Strong self-motivation and orientation towards results
- Excellent communication, interpersonal skills to work effectively both independently and in a team
- Good oral and written English communication skills.What we offer you
- Bachelor's degree in a Science, Technology, Engineering or Math (STEM) discipline
- U.S. Citizen or Permanent Resident (Green Card) required
- Experience in real-time embedded software and experience interfacing hardware is required
- Experience with safety critical software development (such as DO-178C ) is desired
- Candidates should be adaptable to change, determined to accomplish tasks based on program schedule, collaborate with teammates in order to make the best decisions, enjoy learning new technologies, be self-motivated and contribute to a positive work environment
- Ability to mentor other software engineers and beginning project engineers
- Design and develop Embedded software for different features and functions in Real time Engine control application
- Represent the center of expertise in the Application interface development
- Complete Software testing against the requirements
- Satisfying customer needs with the development of software to implement some of the most complex and interesting control strategies for engine management
- Work closely with the System and HW development team
- Supporting development on the latest technology of micro-controllers, requirement analysis, architect, design, coding, multiple levels of testing and supporting the customer
- Designing solutions, developing and testing Software and working with state of the art test equipment
- Continuous expansion of knowledge base through demonstrated learning
- Ability to utilize indepth technical knowledge to solve a variety of problems
- Knowledge of algorithms, C programming, HW schematics
- Experienced using SW design and development tools such as microcontroller emulators, logic analyzers
- Well experienced in testing methodologies for embedded SW
- Strict compliance with the defined SW development processes
- Ability to prioritize issues and drive projects forward during difficult/ambiguous situations
- Ability to communicate and experience in working in a multi-site and multi-cultural team
- Capability to work in target oriented and commitment-driven environments
- Able to systematically solve problems and perform root cause analysis with limited supervision
- Masters degree in Computer Science, Electrical Engineering, or related discipline
- Practical knowledge of 32bit microcontroller architecture and peripherals
- Practical experience with programming microcontroller registers and peripherals (examples: ADC, SPI, PWM, eTPU, eMIOS, DMA)
- Practical experience with programming real time engine embedded systems
- Knowledge of Automotive SPICE
- Microsoft office tools and automation scripts i.e. python, Java, Visual Basic, Unix shell, Perl, VC++
- 6+ years of C and/or C++ programming
- Working experience with PCIe driver development
- Deep understanding of the PCIe Express Base Architecture specification - Familiarity with PCIe LTSSM and PCIe CEM specification - Experience with SR-IOV, ATS, VC, TC and MSI(-x) - Working knowledge of PCIe Hot Plug, ASPM and AER support in Linux operating system - Hands on experience with the DMA coherency concepts in Linux operating - Working knowledge of processor architecture & micro-architecture, including familiarity with caches, MMUs & interrupt handling (ARM preferred) - Understanding of clock trees, bus/fabric interconnects - Familiarity with JTAG and ETM based debug environments (Lauterbach/Trace-32 with PRACTICE scripting language experience preferred) - Experience using configuration management systems - Development and configuration management process tools (Git, Gerrit, JIRA, etc.) - Strong communication and interpersonal skills, high motivation, ability to learn quickly, and must be a self-starter
- Build efficient and reusable abstractions and components
- Collaborate with product managers, designers, QA and other engineers
- Participate in all aspects of an iterative software development process, includes scoping, detailed design, effort estimation, coding, testing, debugging, maintenance and support
- Implementing designs with an extreme attention to detail
- Reviews, designs, and implements plans to develop less skilled team members
- Reviews the design and code of others and takes necessary corrective actions if needed
- Minimum a BS in Engineering, Computer Science, or a related discipline
- 5+ years of experience in software and Linux based firmware development
- 5+ years of C++ in embedded SW development
- Experience in IPv4/IPv6
- Extensive experience in multi-threading systems
- Quickly learn and implement new technologies
- Ability to work in a fast-paced environment and with small and/or remote teams
- BA/BS degree in Computer Science, Electrical Engineering, or equivalent practical experience
- 5+ years of work experience in a software engineering related position
- Comfort with tools such as debuggers, logic analyzers, and oscilloscopes
- Knowledge of bus protocols such as I2C, SPI, UART, and SDIO
- Knowledge of communication protocols such as WiFi, 802.15.4/Zigbee, USB, and Ethernet
- Exposure to video and audio (h.264, AAC, speex, opus, etc.)
- Cummins Turbo Technologies (CTT) Electronics team manages the development of embedded electronic products to drive variable geometry turbos, electronic waste gate turbos and electronic throttle valves
- CTT is seeking experienced software engineer to manage and develop software for future actuator projects
- Gather internal & external customer requirements
- Troubleshoot engine systems issues and drive root cause analysis as it relates to actuator controls
- Develop and work through actuator FMEAs and DVPRs
- Knowledge of Micro-controller architecture
- Embedded systems coding and testing knowledge
- Working knowledge of programming language (preferably C)
- Understanding of electronics basics (concepts of PWM drivers, FETs, motor control) and control system concepts is preferred
- Experience with or willingness to quickly learn motor and gear concepts, theory & knowledge is a plus
- Proficient with C/C++ and assembly language for low level software (BSW) development, working knowledge of embedded software development tools, such as compilers, debuggers and simulators
- Working knowledge with dSpace HIL testing, Vector tools, rapid prototype controllers, unit-level test tools such as LDRA or RTRT
- Working knowledge or experience in using Matlab /Simulink /Stateflow for control software development
- Working knowledge of battery motoring hardware and software, high voltage system control and diagnostics, embedded BMS control implementation
- Participate in a team of engineers responsible for the development of embedded control system for advanced battery management system (BMS) in electrified powertrain applications
- Develop, test and maintain low level software (BSW) including device drivers, CAN/LIN/UART communication layer, Vector CANtech communication code interfacing, diagnostics, application and flash bootloader. Support overall software build management process and integration of the BMS application software with BSW
- Functional requirements analysis and specification
- Functional design of embedded control system software
- Implement/modify embedded source code
- Create software test plans & test procedures
- Execute test plans and generate test reports
- Conduct technical reviews of requirements, designs, and source code
- Provide time estimates and status for assigned tasks
- Work closely with internal departments to investigate & address field issues
- Active participation in project team meetings
- 5+ years of professional experience in real-time embedded software engineering
- Strong verbal and written communication and interpersonal skills
- Self-motivated and able to work with team members to achieve goals
- Ability to work with geographically dispersed team members
- Real-Time Embedded Programming in C (or C++)
- Understanding of the physical and communications layers of embedded systems
- Embedded software debugging and troubleshooting experience
- Broad experience using hardware emulators, debuggers, and protocol analyzers in an embedded systems environment
- Experience with HEW (Renesas H8/300 processor core) and the IAR C compiler
- Knowledge of Renesas Assembly Language
- Knowledge of HVAC systems
- Experience developing, analyzing, and troubleshooting communication protocols (e.g. RS485, I2C, SPI, etc.)
- Hardware debugging with multimeters, oscilloscopes, and logic analyzers
- Matlab, Simulink, IBM Jazz familiarity
- Ability to read and understand board & system schematics
- Review requirements, create high quality design together with multi-disciplinary team efficiently and effectively
- Develop Software according to quality and security guide line
- Familiar with control systems, including controller, field bus communication protocols
- Review product and/or application information including manuals and brochures for technical accuracy
- Participate in product and/or application definition activities including feature analysis and system tradeoffs
- Must demonstrate proficiency and possess experience necessary to develop moderately complex software in C, assembly language, or other selected languages
- Demonstrate proficient knowledge and utilization of engineering tools necessary for successful performance of the essential functions of this job description
- Must demonstrate proficiency and possess experience necessary to develop moderately complex software in C, C++, C#, Java, assembly language, or other selected languages
- Demonstrate mastery of relevant software engineering tools (configuration management systems, build processes, debuggers, emulators, simulators and logic analyzers)
- Remote Control C programming / Simulink modeling software development and support
- SATS RCM machine software development and support
- RC/SATS software feature development
- Integration of software features taken from models and libraries to create software flash files
- Three or more years of embedded C++ experience
- Four-year engineering degree (or equivalent technical degree)
- Experience with software development tools such as ClearCase, Git, debuggers, and compilers
- Ability to work effectively with a culturally diverse work group
- Develop new features related to control of the audio I2C device and algorithms running on host platforms such as ARM-Cortex-A8 or Qualcomm MSM offloaded communication/audio DSP
- Development of Linux user-space and kernel device drivers for audio and input devices
- Development of embedded SW that expose firmware and hardware features for end-users
- Bug fixing and continuous improvement via test-case additions to automation frameworks
- Implement APIs that will be used for integration via DLLs/so in UI, Matlab and other systems
- Development in single code base that is used across several devices and across platforms
- Debug cross-disciplinary problems and find root causes in mixed algorithm, IC and SW
- Good understanding of supporting new products in legacy code-base/trunk setup
- 5+ years of programming experience using C or C++
- Experience developing software for Linux systems – Linux kernel
- Experience with Linux driver development (e.g. wireless, network stack)
- Current responsibilities are primarily coding
- Applicant must have a security clearance or ability to obtain a security clearance
- Minimum of a BS degree in EE, CS, etc
- Master’s or /PhD in EE/CS
- Linux kernel and kernel module development
- Linux driver development (e.g. wireless, network stack)
- Embedded/custom Linux distribution development/management
- To succeed at this job, you must have: proficiency in Assembly, C, C++, Java, and/or Visual Basic programming language
- It would be preferred if you haveexperience with microprocessor and microcontroller architecture
- You must be fluent in English or is confident enough to express himself or herself in English
- We would like someone to join our team who is responsible with strong sense of initiative, analytical with good verbal and written communication skills, a self-motivator and excellent team player, able to work under pressure
- You must havea Degree in Electrical/Electronics/Computer Engineering, or related field
- We are looking for someone with 2 years’ experience as a Software Engineer, preferably in an embedded systems environment
- You must be able to traveloccasionally outside the Philippines
- Take ownership of the device side of IoT chain
- Build software applications across multiple platforms in collaboration with stakeholders
- Understand technical architecture and write software and automated tests that are aligned with agreed upon standards
- Perform trouble-shooting efforts and investigations when necessary
- Provide ongoing support, monitoring, and maintenance of deployed products
- Stay current with changes in the technical area of expertise and disseminate this information
- Other responsibilities as required to support the company’s growth
- Bachelors in Computer Science, Electrical Engineering or Computer Engineering
- Experience with embedded software development in C or C++
- Experience with Azure cloud technologies
- Working experience in coding within multiple technology stacks but proficient in C# and .NET
- Knowledge of automation tools and test driven development methodologies
- Experiences with Version Control System, preferably Subversion or Git
- Knowledge of current trends and best practices in front-end and backend architecture, including scalability, performance, accessibility, and usability
- Practical experience in layer 2 and layer 3 networking protocols (SNMP, FTP, TLS)
- Circuit board hardware development experience or knowledge
- Upper layer industrial protocol experience (Modbus/TCP, Ethernet/IP, CIP safety)
- Experience with ARM, x86, Coldfire and dual-core processor architecture
- Development of software for industrial communications equipment
- Develop new technologies into groundbreaking products as part of our development team, converting ideas into products
- Work with the team to rapidly prototype features and new concepts
- Determine algorithms, define architecture and platform to deploy into various product solutions
- Review proposals of Standard committees defining new Industry standards (e.g. IEC, IEEE, EN)
- Evaluate feasibility of different engineering approaches to resolve hardware/software implementation tradeoffs and other technical challenges
- As part of the project team establish product requirements and software specifications, which fulfill customer needs
- Design, code, test, review, and document embedded software in accordance with project cost, schedule, and performance objectives
- Board bring-up, troubleshooting, and debugging
- University degree in Electrical/Electronic Engineering or Applied Mathematics
- 5+ years of experience in embedded software development
- Deep understanding of digital signal processing
- Understanding phenomenas on the electrical power grid is a plus
- In depth knowledge on digital circuits. Experience with FPGA designs welcome
- Experience in programming in C and C++ is required with solid grasp of algorithms and data structures
- Ability to create firmware for real time, timing dependent and resource-constrained embedded hardware
- Ability to work in an agile software development environment
- Fluency in English required, German preferred
- Software development for control and regulation technology
- Maintenance of existing application
- Tool-assisted documentation and specification, and version control management
- Bachelors degree in computer science, electrical engineering or a similar education
- Good knowledge of C programming language
- Knowledge in the specification, design and development of embedded application software
- Sound knowledge in the microcontroller debug tools
- Good basic knowledge of CAN and higher layer CAN protocols
- Experience in autonomous working in small teams with high team identification
- Good English language skills in speaking and writing
- Rhapsody is a plus
- Experience in driver development in the Linux kernel space is a plus
- Experience with software product development thru practical work experiences, internships or academic experience (C++ is preferred, although other Object Oriented languages could be acceptable)
- Experience in Object Oriented analysis/design thru practical work experiences, internships or academic experience
- Experience and expertise with C++ (including modern C++ syntax, patterns, practices)
- Experience in scripting languages (e.g. Python, Bash, etc.)
- Experience using Qt, OpenGL, SQL, or GIS software libraries
- Bachelors of Arts/Science in Computer Engineering, Electrical Engineering, Computer Science or other relevant discipline
- Bachelor’s degree in Electronics or Electrical or Computer Engineering
- Minimum of three (3) years of experience in Embedded C/C++ programming for microcontroller based automotive electronic controllers
- Minimum of three (3) years of experience with Matlab, Simulink, Stateflow and Embedded Coder or TargetLink for auto code generation and testing
- Driver development, board bring-up and new hardware enablement on RTOS or Linux
- Packaging and build system integration of various software components
- Define new hardware requirements
- Closely work with teams across the company; Hardware, Applications, QA, Validation and Manufacturing
- Proven record of delivering quality system-level products
- Development and debug of firmware such as u-boot or coreboot
- Familiar with build environments such as buildroot
- Experience with communication standards and technologies like WiFi, ZigBee, mesh networking, cellular networks
- Comfortable with Go, Python, shell scripting, make, etc
- A minimum of 4 year experience is required for a Sr. Engineer, an advanced degree may offset some required experience
- Experience in real-time embedded software development using C/C++ required
- Experience developing software in multi-threaded/multi-tasking environments required
- Experience with Hardware/Software integration and debugging required
- Must have a knowledge and understanding of OOD and OO methodology, full SDLC processes, ICE/JTAG, UML, sequence diagrams, static analysis, and software unit testing
- Must have excellent documentation and communication skills
- Experience with commercial RTOS and/or embedded windows programming strongly preferred
- Experience in medical device software development is strongly preferred
- Experience and familiarity with laboratory instruments such as oscilloscopes and logic analyzers preferred
- Experience with GUI development a plus
- Experience with networking protocols, including wireless, is a plus
- Must be a highly motivated self-starter who is able to achieve results with minimal direction
- Requires a high-energy individual who has excellent teamwork, partnering, and negotiation skills
- Must be proactive and creative in achieving goals
- Develop moderately complex software in C, C++, or C# language, or other selected languages for Garmin products and/or applications consistently following Garmin’s coding standards and in accordance with applicable software development methodology and release processes
- Utilize software engineering tools such as configuration management systems, build processes, and debuggers in the software development process
- Create and execute designs for small sets of new functionality as part of a software project
- Collaborate and add value through participation in peer code reviews, providing comments and suggestions
- Provide reliable solutions to a variety of problems using sound problem solving techniques
- Perform technical root cause analysis and outlines corrective action for given problems
- Work collaboratively and professionally with other Garmin associates in cross functional teams to achieve goals
- Apply a sense of urgency, commitment and focus on the right priorities in developing solutions in a timely fashion
- Passion to learn and grow in a team-based development environment
- Other responsibilities include reviewing product and/or application information manuals and brochures for technical accuracy and participating in product definition activities such as feature analysis and system tradeoffs
- Ability to develop, debug and maintain embedded multi-threaded software
- Familiarity or experience with user interface design and development
- Previous experience developing embedded systems
- Interest in fishing, boating, and/or sailing activities
- Design software for embedded Linux and MCU-based peripherals
- Implement low-level drivers using serial buses and GPIOs
- Communication protocols between MCU peripheral and Linux host system
- Develop bootloaders and firmware update protocols
- Develop application software to interface between cloud and device and implement business logic
- Contribute to design of and improvements to the build system
- Write functional specifications and thoroughly document code
- Deliver working SW to the OPS and MFG teams
- 3+ years of system level software experience
- Working knowledge of hardware design for embedded applications
- Ability to read schematics
- Experience with ARM based micro controller
- Experience with micro-controller peripherals including I2C/SMBus, serial port, SPI, ADC converters and thermal sensors
- Hands on experience with test equipment including scopes, analyzers, and multi-meters
- Excellent collaborative skills and troubleshooting skills
- Bachelor or Master degree in Computer Engineering, Computer Science, or Electrical Engineering
- One to four years of experience in the development and test of real-time embedded software products
- Ability to demonstrate and apply C/C++ or other object-oriented programming language
- Excellent collaborative skills, should be a team player
- Strong written and verbal communication capabilities
- Seeks knowledge of and keeps informed of current trends in embedded systems technology, including design techniques, development tools, and overall process improvements
- Experience with scripting languages such as Python
- Advanced courses in Computer Engineering or Computer Science
- Experience covering software requirements analysis, software design and software testing
- Knowledge of software development life cycle and software test processes
- Understanding of Secure Development Life cycles
- Understanding of SSL, TLS, DTLS, IPSec or other secure protocol mechanisms
- Understanding of cryptography concepts and commonly used mechanisms
- Understanding of Ethernet protocols, including data monitoring tools such as WireShark
- Understanding of motion control systems and/or industrial automation products
- Understanding of Common Industrial Protocol (CIP) and CIP Motion Protocol
- 5+ years of software engineering experience with demonstrated professional development in software design, development, and test
- Experience working with real-time embedded development environments, use of emulators, analyzers and related instrumentation
- Experience in Agile development
- Familiarity with the Unified Modeling Language (UML)
- Experience with Ethernet protocols, including data monitoring tools such as WireShark
- Advanced courses or degree in Computer Engineering or Computer Science
- Experience using SSL, TLS, DTLS, IPSec or other secure protocol mechanisms
- Experience with Common Industrial Protocol (CIP) and CIP Motion Protocol
- Contribute to an enthusiastic and talented team to bring new products and compelling experiences to the market
- Integrate technologies such as NFC, WiFi, and Bluetooth as well as services such as voice control and music libraries, to build a cohesive product
- Enhance processes and DevOps to improve quality and increase efficiency by focusing on continuous improvement and delivery
- Knowledge of IP networking, socket programming, LANs and WLANs (IEEE 802.11/802.3), DLNA, UPnP, SSDP
- Programming languages and concepts: C, C++ (C++x11), Python, IPC, threading, data structures, Event Driven Systems, multi-threading, real-time execution
- Familiarity with audio/sound, including: CODECs and containers, ALSA, streaming transport, digital sources
- Demonstrate strong design first and test driven development (TDD) skills
IMAGES
COMMENTS
Here are a few examples: Built custom software in C++ for a micro-controller within an AC unit that reduced the cost of annual maintenance by 6%. Improved the speed of an embedded system by 17% by changing the microprocessor without changes in materials cost. Created automated testing infrastructure for custom code written for embedded system ...
Crafting a resume as an embedded software engineer can be a daunting task. This guide provides proven examples and tips to show your skills and experience clearly. From highlighting your programming expertise to detailing your project management success, learn how to present your professional story in a way that resonates with hiring managers. We will explore the essentials of documenting your ...
Essential sections that should make up your embedded software engineer resume include: The header - with your contact details (e.g. email and telephone number), link to your portfolio, and headline. The summary (or objective) - to spotlight the peaks of your professional career, so far.
These are some steps you can follow to write an effective resume: 1. Format your resume. The first step to creating an effective embedded software engineer resume is designing and formatting your resume document. Choose a word processing program you like and create a document with 1-inch margins for a professional look.
For Embedded Software Engineers, an impactful resume should emphasize technical expertise and innovative problem-solving skills. Highlight your proficiency in C/C++, real-time operating systems (RTOS), and hardware-software integration. As IoT continues to expand, showcasing experience with embedded systems in connected devices is crucial.
Skyler Thompson. (123) 456-7890. [email protected]. 123 Convoy St, San Diego, CA 12345. Profile. An Embedded Software Engineer with five years of experience specializing in software development, RTOS, hardware deployment, and solution design.
Sample Embedded Software Engineer Resumes. As the demand for innovative embedded systems continues to grow, the role of an Embedded Software Engineer has become essential across various industries, including automotive, telecommunications, and consumer electronics. Crafting an effective resume tailored for this role is crucial to stand out in a ...
John Doe. Embedded Software Engineer. 123 Main Street | Anytown, USA 99999 | Phone: (123) 456-7890 | Email: [email protected]. I am a highly experienced Embedded Software Engineer with over 10 years of experience in designing, developing, and testing software for embedded systems and microcontrollers.
Results-oriented Embedded Software Engineer with more than 6 years experience in analysis, design, development, testing, and implementation of various embedded software systems. Adept at designing and building applications with usability and high performance in mind. Highlights. Fluent in C, C++, and C#. Java proficient. Database design. UML. SQL.
The Guide To Resume Tailoring. Guide the recruiter to the conclusion that you are the best candidate for the embedded software engineer job. It's actually very simple. Tailor your resume by picking relevant responsibilities from the examples below and then add your accomplishments. This way, you can position yourself in the best way to get hired.