Talent.com
This job offer is not available in your country.
Software Architect - Embedded System

Software Architect - Embedded System

SkyBridge HR SolutionsPune
30+ days ago
Job description

Job Description :

  • Design and develop software architectures for libraries tailored to meet the specific requirements of embedded systems, considering factors such as performance, memory constraints, and real-time processing.
  • Collaborate with cross-functional teams, including software engineers, hardware engineers, and product managers, to understand system specifications and requirements for the embedded systems.
  • Define the overall structure, components, and interfaces of the software library to ensure modularity, reusability, and maintainability.
  • Evaluate and select appropriate programming languages, frameworks, and technologies that align with the constraints and capabilities of the embedded systems.
  • Implement best practices for code optimization, data management, and resource utilization to enhance the overall efficiency and performance of the software library.
  • Conduct thorough testing and validation of the software library to ensure its compatibility, reliability, and functionality across different embedded systems.
  • Provide technical guidance and support to the development team during the implementation and integration of the software library into the embedded systems.
  • Document the software architecture, design decisions, and technical specifications to facilitate communication and knowledge sharing within the organization.
  • Stay updated with the latest advancements in embedded systems, software development practices, and industry standards to incorporate relevant technologies and methodologies into the software :
  • Bachelor's or Master's degree in Computer Science, Computer Engineering, or a related technical field and 10-15 years of relevance experience including experience of handling a team of 5-10 peoples.
  • Proven experience in designing and implementing software architectures for embedded systems, preferably with a focus on developing libraries or frameworks.
  • In-depth knowledge of embedded software development, including programming languages like C, C++, and assembly language, as well as familiarity with embedded operating systems.
  • Experience with various software development tools, version control systems, and build automation tools commonly used in the development of embedded systems.
  • Familiarity with hardware components and interfaces commonly used in embedded systems, such as microcontrollers, sensors, and communication protocols.
  • Strong analytical and problem-solving skills to address complex technical challenges and optimize software performance for resource-constrained environments.
  • Excellent communication and collaboration skills to effectively work with cross-functional teams and stakeholders.
  • Ability to prioritize tasks, meet deadlines, and manage multiple projects simultaneously in a dynamic and fast-paced Skill

Programming Languages :

  • Proficiency in C and C++ : These languages are commonly used in embedded systems programming due to their low-level capabilities and efficiency.
  • Assembly Language : Understanding assembly language is crucial for optimizing code and interfacing with hardware at a low level.
  • Real-Time Operating Systems (RTOS) :

  • Knowledge of RTOS concepts and experience with popular RTOS platforms such as FreeRTOS, VxWorks, or Micrium.
  • Embedded Systems Architecture :

  • Understanding of microcontroller and microprocessor architectures.
  • Familiarity with various embedded system architectures (ARM, MIPS, AVR, etc.).
  • Communication Protocols :

  • Expertise in communication protocols like UART, SPI, I2C, CAN, Ethernet, and USB.
  • Experience with wireless protocols such as Bluetooth, Zigbee, and Wi-Fi.
  • Device Drivers :

  • Ability to develop and optimize device drivers for peripherals such as sensors, actuators, and communication interfaces.
  • Hardware Interaction :

  • Proficient in interfacing software with hardware components.
  • Knowledge of memory mapped I / O and peripheral register access.
  • Software Development Tools :

  • Familiarity with integrated development environments (IDEs) such as Keil, IAR, Eclipse, or MPLAB.
  • Experience with debugging tools and techniques, such as JTAG debugging.
  • Modelling and Simulation :

  • Experience with modelling languages and tools like UML (Unified Modelling Language) for system design.
  • Simulation tools for testing and validating embedded systems before hardware is available.
  • Security Knowledge :

  • Understanding of security considerations in embedded systems, including secure boot, encryption, and secure communication protocols.
  • ref : hirist.tech)

    Create a job alert for this search

    System Architect • Pune