What are the responsibilities and job description for the Associate Linux Engineer position at ACL Digital?
Associate Linux Engineer
Location: Austin, TX (Remote)
ABOUT THE OPPORTUNITY
As an Associate Engineer - Systems on our team, you will contribute to the development and maintenance of embedded Linux systems software under the guidance of senior engineers and your manager. You may be assigned to Kernel Sustaining, Board Support Packages, Feature Development, User Space Sustaining, Tool Chain, or general Systems work based on team needs and your growth interests.
In your daily job you will:
HOW YOU WILL CONTRIBUTE
Key skills and competencies for succeeding in this role are:
Kernel Sustaining
Board Support Packages
Feature Development
User Space Sustaining
Systems (General)
Tool Chain
QUALIFICATIONS
Technical Skills
PREFERRED QUALIFICATIONS
Location: Austin, TX (Remote)
ABOUT THE OPPORTUNITY
As an Associate Engineer - Systems on our team, you will contribute to the development and maintenance of embedded Linux systems software under the guidance of senior engineers and your manager. You may be assigned to Kernel Sustaining, Board Support Packages, Feature Development, User Space Sustaining, Tool Chain, or general Systems work based on team needs and your growth interests.
In your daily job you will:
- Complete assigned tasks including bug fixes, small features, tests, and documentation with direction from your team lead or mentor
- Participate in code reviews, standups, and sprint ceremonies to learn team practices and deliver quality work
- Use version control (Git), follow coding standards, and document your changes
- Build skills in Linux systems development-kernel, user space, BSP, toolchain, or feature implementation-depending on your team assignment
HOW YOU WILL CONTRIBUTE
Key skills and competencies for succeeding in this role are:
- Key skills and competencies for succeeding in this role are:
- Eagerness to learn: Willingness to grow in one or more of kernel sustaining, BSP, feature development, user space, systems, or tool chain with mentorship and training
- Foundational technical ability: Ability to read and write C/C++, use Git, follow build and test procedures, and debug with guidance
- Collaboration: Ability to work in a distributed team across US, Romania, and India, ask questions, and communicate progress and blockers clearly
Kernel Sustaining
- Assist with applying security patches and CVE-related fixes under guidance
- Help backport patches and run kernel build and test procedures
- Learn kernel subsystems, drivers, and debugging (e.g., kgdb, ftrace) with mentorship
- Validate kernel changes on supported platforms and document results
Board Support Packages
- Maintain and update BSP configurations and device tree snippets with direction
- Support hardware bring-up and validation; run BSP test procedures
- Learn bootloaders (e.g., U-Boot), device trees, and hardware documentation
- Document BSP changes and hardware requirements
Feature Development
- Implement well-scoped parts of new features from specifications and design docs
- Write and run tests for new functionality; update user-facing or developer documentation
- Participate in feature design and estimation discussions to learn the process
- Test features on assigned platforms and report issues
User Space Sustaining
- Fix bugs and address issues in user space libraries and applications with guidance
- Learn POSIX APIs, system libraries (e.g., glibc, musl), and build systems
- Run tests and validate fixes on multiple platforms and architectures
- Update documentation for user space components you change
Systems (General)
- Contribute to systems-level fixes and small features across kernel, user space, or integration
- Build familiarity with Wind River platforms, build systems (e.g., Yocto), and release process
- Support stability and quality initiatives as assigned
Tool Chain
- Assist with maintaining compiler toolchain components and build configurations
- Help fix build failures and improve build reliability and performance with guidance
- Learn cross-compilation, GCC/Clang usage, and scripting (e.g., Python, Shell)
- Run and document toolchain tests; support debugging tools (e.g., GDB) as directed
QUALIFICATIONS
- Bachelor degree in Computer Science, Electrical Engineering, or a related field (or equivalent experience)
- 1-2 years of software engineering or relevant internship/ academic project experience
- Some experience with C or C++ and a willingness to work in both as needed
- Basic familiarity with Linux or embedded systems concepts
- Understanding of the software development lifecycle (design, implement, test, review, document)
Technical Skills
- Ability to read and write C and/or C++ with guidance
- Basic use of version control (Git): clone, branch, commit, push, pull requests
- Ability to follow build and test instructions and run existing automation
- Basic debugging (e.g., reading logs, using printfs/debugger with direction)
- Willingness to learn team-specific tools (e.g., kernel tools, Yocto, GDB, build systems)
- Candidates must be legally authorized to work in the United States on a permanent basis - without requirement for any type of visa sponsorship/transfer, now, or at any time in future. Verification of employment eligibility will be required at the time of hire.
- Must be a local resident of Greater Austin, TX
PREFERRED QUALIFICATIONS
- Preferred Qualifications
- Internship or academic project experience in embedded systems, Linux kernel, or systems programming
- Exposure to Yocto Project or similar embedded Linux build systems
- Basic familiarity with Linux kernel, device drivers, or user space libraries
- Scripting experience (Python, Shell) for automation or tooling
- Interest or exposure to one or more of: BSP/hardware enablement, compilers/toolchains, security (e.g., CVEs), or real-time systems
- Key Performance Indicators
- Quality and timeliness of assigned tasks (bugs, small features, tests, docs)
- Code review participation and responsiveness to feedback
- Progress on onboarding and use of mentorship
- Collaboration and communication within the team
- Consistency and reliability (builds, tests, deliverables)