What are the responsibilities and job description for the Software Engineer position at Alpha Net Consulting LLC?
Job Details
Role: Software Engineer
6 Month Contract
Hybrid on site in Bedford MA 1-2 days a week
Here is the job description: Yocto expertise is key.
Position Summary:
Under minimal supervision, performs software development activities including software requirements, architecture, design, implementation, and integration.
Responsibilities
Required Qualifications:
- Yocto Experience:
- Demonstrated proficiency in writing recipes.
- Ability to create images.
- Collaborative experience with DevOps for setting up Development Environments
- Strong understanding of Linux internals:
- Knowledge of hardware/software interaction, including bootloaders (especially u-boot and grub) and system boot sequences
- Understanding of kernel structure
- Knowledge of packages and package management:
- Proficiency in patching and apt system
- Capability to troubleshoot hardware/software issues:
- Skilled in debugging driver-level issues in the operating system
- Proficiency in reading schematics:
- Comprehensive understanding of hardware components from an electrical standpoint, encompassing NOR, NAND, SPI flash, and bus comprehension
- Familiarity with processor fundamentals such as x86 and ARM
- Experience with C embedded development.
Preferred Qualifications:
- Thorough understanding of development processes within a regulated industry
- Prior exposure to IEC62304 standards
- Ability to build and customize Petalinux.
Key Accountabilities
Essential Functions:
- Participates as an active member on a development team. This includes participating in requirements review, design reviews, code reviews, test case reviews, and team meetings.
- Participates as an active member on a project development team. This includes requirements change control, defect management, risk analysis, and release management.
- Creates/Maintains software requirement/functional specifications.
- Creates/Maintains software architecture documentation.
- Creates/Maintains software (component) design documentation.
- Creates/Maintains software source code that adheres to design documentation.
- Performs unit testing and/or code reviews as per project policy.
- Performs integration testing to ensure software functions with application and with electrical/mechanical devices.
- Evaluates, investigates, and implements fixes to assigned software defects.
- Evaluates, investigates, and implements assigned software change proposals.
- Provides level of effort for assigned software activities.
- Tracks personal estimates over time in order to improve accuracy.
- Follows project and corporate plans, standards, and procedures to perform development.
- Performs other related duties as assigned.