What are the responsibilities and job description for the Embedded Software Engineer position at ASG, Division of Jergens, Inc.?
ASG Division of Jergens, with 45 years of torque control, fastening and assembly industry experience, is currently engaged in a large R&D project that will bring to market a new best-in-class family of precision fastening products. ASG products are used in a variety of high-tech industries including aerospace, medical device, automotive, defense, factory automation, consumer electronics, white good and others.
We are seeking a high-energy Embedded Software Engineer to join our team. In this critical role you will have the opportunity to develop, integrate, test, and maintaining embedded software in our X-PAQ screwdriver controller.
Benefits of Working at ASG Division of Jergens, Inc.
· Competitive compensation
· Comprehensive insurance benefits package (including medical, dental and vision coverage as well as company paid life insurance and disability)
· Tuition reimbursement
· Fun staff events and activities
· 401k plan with profit sharing
· Paid vacation time starting at 13 days
· 11 paid holidays
Responsibilities
· Has a basic understanding of our company’s products, operations and procedures. Seeks assistance, as necessary with unfamiliar situations.
· Communicates effectively with co-workers; and performs assignments in a timely and efficient manner while meeting customer quality and service expectations.
· Design, develop, code, test, and debug system software.
· Analyze and enhance the efficiency, stability and scalability of system resources.
· Effectively abstract hardware, I/O and function using clean, efficient, reliable, well documented and reusable code while mastering real-time aspects of the solutions.
· Able to create own software requirement specs, design documents, unitary tests, test plans, integration plans and associated code.
· Provide feedback to the electrical engineers about interfaces usage scenarios up to component selection.
· Able to adapt to new environments and make the best use of the resources available.
· Software development primarily using the 32 bit ARM platform or similar. Development in the AM335x series is beneficial.
· Developing new embedded applications defined by written and verbal requirements.
· Interpreting existing written requirements and implementing them in code.
· Creating development plans, specifications, and timelines for new projects.
· Provide well documented and tested solutions.
· Developing high level software which interfaces with low level firmware.
· Keeps the supervisor aware in a timely manner of any issues needing the supervisor’s involvement.
· Maintains timely and accurate records and reports, as required.
· Observe good housekeeping and safety habits.
Requirements
· Bachelor’s degree or higher in a relevant technical discipline. Has the necessary training to be proficient in the position.
· Minimum of 5 years of hands-on software design and development experience.
· C, C , Bash, JavaScript/HTML/CSS programming languages.
· System administration skills including understanding of networking protocols and programming stack for Linux and Linux permissions model
· Knowledge of basic security principles
· Experience with Linux kernel configuration: Hardware specification using the device tree, and or/ Kernel build options
· Experience with Linux Kernel / filesystem build tools: Yocto/Bitbake
· Experience with U-boot bootloader
· Experience with Linux driver development
· Experience with SQLite database or similar
· Qt experience beneficial
· Proficiency with Git version control system
· Has excellent communications and interpersonal skills to be able to interact effectively with internal and external customers.
· Has basic analytical and problem-solving abilities to meet the requirements of the position.
· Effective time management skills in prioritizing and addressing multiple and at times conflicting demands.
· High energy with a sense of urgency in responding to customer needs.
· High level of personal and professional integrity.
· Is committed to the company’s values.
· Attention to detail in maintaining required records and reports.