drjobs Senior Software Engineer Linux Toolchain and Build Systems

Senior Software Engineer Linux Toolchain and Build Systems

Employer Active

drjobs

Job Alert

You will be updated with latest job alerts via email
Valid email field required
Send jobs
Send me jobs like this
drjobs

Job Alert

You will be updated with latest job alerts via email

Valid email field required
Send jobs
Job Location drjobs

India

Monthly Salary drjobs

Not Disclosed

drjobs

Salary Not Disclosed

Job Description

Job Description:

We seek an experienced Senior Software Engineer with a deep understanding of Linux environments and expertise in toolchain management building systems and developing productivity tools. This role requires proficiency in C and Python and strong handson experience with toolchains compilers and crosscompilation for multiple architectures. You will be responsible for building and maintaining a seamless development environment managing simulators and enhancing CI/CD pipelines.

Key Responsibilities:

  • Linux Development Environment: Work extensively within Linux especially Ubuntu to manage and optimize the development environment.
  • Programming Expertise: Lead development efforts using C and Python and provide mentorship on best practices. Experience with TypeScript and JavaScript is a plus.
  • Developer Tools: Create and maintain onboarding scripts optimize developer workflows and develop custom extensions for VSCode to enhance productivity.
  • Toolchain Management: Manage and optimize development environments using tools like WSL2 VSCode and custom extensions tailored to project needs.
  • Build Systems: Implement and maintain build systems like CMake and Bazel. Lead distributed builds and use caching mechanisms and incremental linking to improve build efficiency.
  • Compilers & Linkers: Evaluate and benchmark compilers like GCC and Clang. Work with linkers such as Mold Wild and Gold to ensure optimal performance.
  • CrossCompilation & MultiArchitecture Support: Develop and maintain builds for multiple architectures ensuring seamless crosscompilation processes.
  • Debugging: Provide advanced debugging and troubleshooting expertise including core dump analysis and debugging tools like GDB.
  • CI/CD Pipelines: Configure manage and optimize CI/CD pipelines focusing on Azure Pipelines to streamline deployment and testing processes.
  • Testing & Evaluation: Perform thorough testing and evaluation using structured frameworks and tools to ensure code quality and performance.
  • Documentation & Training: Create comprehensive documentation and wiki content. Provided user support and conducted internal training sessions on toolchain best practices.
  • Simulator Management: Build debug package and optimize simulators and related tools to ensure efficient performance in development environments.
  • Infrastructure Management: Manage updates to Linux kernels USB Ethernet dongles and update agents to ensure stable and reliable development environments.

Required Skills and Experience:

  • Linux Proficiency: Indepth experience with Linux development environments particularly Ubuntu.
  • Programming Expertise: Extensive experience with C and Python. Knowledge of TypeScript and JavaScript is a plus.
  • Developer Tools: Ability to create onboarding scripts and develop custom VSCode extensions to optimize workflows.
  • Toolchain Management: Experience with WSL2 VSCode and related extensions for development environments.
  • Build Systems: Proficiency with CMake Bazel distributed builds and caching mechanisms.
  • Compilers & Linkers: Strong knowledge of GCC Clang Mold Wild and Gold for compiling and linking.
  • CrossCompiling: Expertise in building for multiple architectures and managing crosscompilation processes.
  • Debugging: Advanced debugging skills including core dump analysis and experience with tools like GDB.
  • CI/CD Pipelines: Experience configuring and managing CI/CD pipelines particularly Azure Pipelines.
  • Testing & Evaluation: Strong testing and evaluation skills using frameworks and tools to ensure software performance and quality.
  • Documentation & Training: Excellent documentation skills and experience in user support and internal training.
  • Simulator Management: Experience with building debugging and optimizing simulators and related tools.
  • Infrastructure Management: Knowledge of Linux kernel management USB Ethernet dongles and update agents.

Skill Matrix:

Category

Skills/Characteristics

Operating Systems

Linux Ubuntu

Programming

C Python TypeScript (optional) JavaScript (optional)

Virtualization

WSL2 Docker Containers

Soft Skills

Exploratory mindset attention to detail problemsolving collaboration servant leadership and excellent communication skills.

IDEs

VSCode custom extensions development

Compilers

GCC Clang

Debugging Tools

GDB core dump analysis

Build Systems & Linkers

CMake Bazel distributed builds Mold Gold incremental linking cache mechanisms

Networking

To be defined

Kernel Management

Linux kernel management (distro kernels)

Deployment & Automation

Update agents onboarding scripts

Hardware Integration

USB Ethernet dongle support

Qualifications:

  • Bachelors or masters degree in computer science Software Engineering or a related field.
  • 5 years of experience in software development with a focus on Linux environments.
  • Demonstrated ability to manage complex build systems and toolchains.
  • Strong communication and documentation skills.

Employment Type

Full Time

Company Industry

Key Skills

  • Academics
  • Hardware & Networking
  • ASP.NET
  • Business Operations
  • Barista
  • ERP
Report This Job
Disclaimer: Drjobpro.com is only a platform that connects job seekers and employers. Applicants are advised to conduct their own independent research into the credentials of the prospective employer.We always make certain that our clients do not endorse any request for money payments, thus we advise against sharing any personal or bank-related information with any third party. If you suspect fraud or malpractice, please contact us via contact us page.