Assembly Developer
Job Summary:
The Assembly Developer plays a crucial role in optimizing and maintaining
low-level software components. This position is pivotal in enhancing system
performance, ensuring efficient memory usage, and debugging intricate assembly
code to support critical applications in our technology stack.
Key Responsibilities:
-
Design and implement assembly language programs for performance-critical
applications.
-
Optimize existing code by analyzing performance metrics and applying best
practices.
-
Debug and troubleshoot low-level software issues using advanced debugging
tools.
-
Collaborate with hardware engineers to understand system architecture and
hardware constraints.
-
Document code changes and development processes to maintain code quality
standards.
-
Conduct code reviews and provide constructive feedback to peers and junior
developers.
Requirements:
-
Proven experience in assembly language programming across multiple
architecture types (e.g., x86, ARM).
- Strong understanding of computer architecture and operating systems.
- Proficient in debugging tools such as GDB and Valgrind.
-
Familiarity with C/C++ programming languages and their interaction with
assembly code.
- Excellent problem-solving skills and attention to detail.
-
A Bachelor’s degree in Computer Science, Computer Engineering, or a related
field.
Preferred Qualifications:
-
Experience with embedded systems and real-time operating systems (RTOS).
- Knowledge of performance analysis tools and techniques.
- Proficiency in concurrent programming and multithreading concepts.
- Understanding of compiler design and optimization techniques.
Benefits:
- Competitive salary and performance-based bonuses.
- Comprehensive health, dental, and vision insurance.
- Flexible work hours and remote work options.
- Generous paid time off (PTO) and holiday schedule.
-
Professional development opportunities, including training and
certifications.
-
Collaborative and inclusive company culture with team-building events.