We are looking for an experienced Software Architect to drive software partitioning, workload distribution, and performance optimization across complex SoC platforms. The ideal candidate will have deep expertise in heterogeneous computing environments involving NPUs, CPUs, DSPs, and GPUs , and will play a key role in achieving optimal performance through intelligent software design and architecture decisions. Key Responsibilities Define and drive software architecture and partitioning strategies across multiple compute elements (NPU, CPU, DSP, GPU). Analyze workloads, identify bottlenecks, and ensure efficient workload balancing across processing units. Collaborate closely with application developers to understand performance requirements and platform constraints. Work with SDK and platform teams to analyze performance gaps and continuously refine software architecture for better throughput and efficiency. Propose and implement software optimizations , data flow improvements, and compute offloading strategies. Provide technical guidance and architectural reviews for software integration across heterogeneous compute platforms. Stay updated with evolving SoC architectures, SDK capabilities, and compiler/toolchain enhancements to leverage new opportunities for optimization. Mentor engineering teams on best practices in parallel computing, memory management, and system-level performance tuning. Requirements 10+ years of experience in software architecture, system-level design, or performance optimization. Strong background in heterogeneous computing with hands-on experience in NPU, CPU, DSP, and GPU-based architectures. Proven expertise in software partitioning, scheduling, and load balancing techniques. Proficiency in C/C++ programming and performance analysis tools. In-depth understanding of SoC design, memory hierarchy, interconnects, and real-time system constraints. Experience collaborating with SDK and driver teams to achieve system-wide performance improvements. Strong analytical and problem-solving skills with the ability to make strategic architectural decisions. Excellent communication and collaboration skills to work with cross-functional engineering teams. Preferred Qualifications Masters or Bachelors degree in Computer Science, Electronics, or related field . Prior experience in AI/ML workloads, multimedia processing, or embedded system optimization . Familiarity with performance profiling tools and SoC SDK frameworks .