Job Description:
As the Lead Software Engineer at Selby Jennings, you will play a key role in shaping the direction of our software projects. You will lead a team of skilled engineers, design and develop software solutions, and ensure the quality and performance of our systems. This role is ideal for someone who is passionate about C Programming and Linux, with the ability to guide a team towards success.
Key Responsibilities:
Technical Leadership: Provide technical leadership and mentorship to a team of software engineers, guiding them through the software development lifecycle.
C Programming: Design, develop, and maintain software solutions in C, ensuring they are efficient, reliable, and scalable.
Linux Systems: Work with Linux-based systems, including kernel-level programming, system-level software, and Linux-based software stacks.
Architecture and Design: Contribute to the architecture and design of software applications, ensuring they meet performance and scalability requirements.
Code Reviews: Conduct code reviews, ensuring coding standards and best practices are followed, and provide constructive feedback to team members.
Testing and Quality Assurance: Develop testing strategies, including unit testing and integration testing, to maintain high-quality code.
Documentation: Create and maintain technical documentation, including design documents, APIs, and user guides.
Collaboration: Collaborate with cross-functional teams, product managers, and stakeholders to understand requirements and deliver solutions.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- Proven experience as a Lead Software Engineer with a strong background in C Programming.
- In-depth knowledge of Linux-based systems, including system-level programming and kernel development.
- Strong problem-solving skills and the ability to lead and mentor a team of engineers.
- Experience with code versioning and collaborative tools (e.g., Git).
- Excellent communication skills, with the ability to articulate complex technical concepts to non-technical stakeholders.
- Knowledge of best practices in software development, including software architecture and design patterns.
Why?
- Competitive salary and benefits package.
- A culture that fosters innovation, collaboration, and career growth.
- Opportunity to work on challenging projects that have a real impact.
- Continuous learning and development opportunities.
- An inclusive and supportive work environment.