Intermediate (2-5 years of experience)
Summary of the Role
As a Computer Architecture Developer, you will be responsible for designing, implementing, and optimizing the underlying architecture of computing systems to enhance performance, efficiency, and scalability. Your role will include collaboration with hardware engineers and software developers to align architecture with both hardware capabilities and software requirements.
Required Skills
Analytical and problem-solving skills
Strong technical writing and documentation abilities
Ability to work in cross-functional teams
Proficiency in architecture simulation and modeling tools
In-depth knowledge of hardware description languages like Verilog or VHDL
Experience with embedded systems and real-time operating systems
Understanding of instruction set architectures (ISA)
Excellent communication and presentation skills
Qualifications
Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.
2-5 years of experience in computer architecture or related technical roles.
Strong understanding of computer system architectures, microarchitectures, and hardware-software interaction.
Proficiency with computer architecture simulation and modeling tools.
Experience with programming languages such as C, C++, or similar high-level languages.
Knowledge of CPU, GPU, and other processing unit architectures.
Familiarity with memory systems, interconnects, and parallel computing principles.
Understanding of performance benchmarking and optimization techniques.
Responsibilities
Develop and implement computer architecture designs that balance performance, power consumption, and cost.
Analyze and evaluate system-level performance and propose architectural modifications to improve efficiency.
Collaborate with hardware engineers to ensure architectural compatibility with current and future hardware components.
Work with software development teams to identify and prioritize architectural features based on software needs.
Stay abreast of technological advancements to incorporate cutting-edge solutions into the architecture.
Debug and troubleshoot architectural issues across the software/hardware interface.
Participate in code reviews to ensure architectural integrity and to provide expertise.
Document architecture designs and development processes for future reference and knowledge sharing.