Overview
Skills
Job Details
Job Summary:
We are seeking a skilled Assembler Developer to join our development team, responsible for writing and maintaining low-level code in assembly language. The ideal candidate will have a strong background in systems programming, deep understanding of computer architecture, and experience working in performance-critical environments. You will work on developing, optimizing, and maintaining code for legacy or embedded systems, high-speed data processing, or specialized applications where precision and performance are paramount.
Key Responsibilities:
Design, develop, test, and debug software written in assembly language for target hardware platforms (e.g., x86, x64, IBM Mainframe, ARM, MIPS).
Optimize and maintain existing assembly code to improve performance and reduce resource usage.
Collaborate with cross-functional teams including hardware engineers, C/C++ developers, QA, and systems architects.
Analyze system specifications and translate them into efficient low-level routines.
Work on integration of assembly code with higher-level languages (e.g., C, C++).
Troubleshoot and resolve issues in embedded systems, firmware, or operating system-level code.
Document code thoroughly and contribute to technical design specifications and architecture discussions.
Maintain version control and follow secure and reliable software development practices.
Required Qualifications:
Bachelor s degree in Computer Science, Electrical Engineering, or related field (or equivalent experience).
Strong proficiency in at least one assembly language (e.g., x86, x64, IBM z/Architecture, ARM).
Solid understanding of processor architecture, memory models, and instruction sets.
Experience with low-level debugging tools and techniques (e.g., gdb, OllyDbg, ICE, JTAG).
Familiarity with hardware-software interactions, bootloaders, firmware, and system-level APIs.
Proficiency in C/C++ or other systems programming languages.
Strong analytical and problem-solving skills.
Preferred Qualifications:
Experience with legacy systems (e.g., IBM Mainframes, DOS, embedded controllers).
Knowledge of real-time operating systems (RTOS) or embedded Linux.
Familiarity with compilers, linkers, and build tools for embedded development.
Exposure to cybersecurity, cryptographic algorithms, or secure coding in low-level environments.