Gaming:
Welcome to the world of land-based gaming. At Light & Wonder, it’s all about the games, and our Gaming team builds cutting-edge technology, products, and content for the most iconic casinos and operators across the globe.
Position Summary
Experience: 2 - 5 Years
Core Technical Skills
Programming Languages:
-
C/C++: Proficiency in C and C++ as they are the primary languages for embedded systems.
-
Assembly Language: Understanding of assembly language for low-level hardware interactions.
-
Python: Useful for scripting and automation tasks.
-
Embedded-specific Languages: Knowledge of other relevant languages such as Ada, Rust, or VHDL.
Microcontrollers and Processors:
-
ARM Cortex-M/R/A: Experience with ARM architectures.
-
AVR: Familiarity with AVR microcontrollers.
-
PIC: Experience with Microchip PIC microcontrollers.
-
8051: Knowledge of the 8051 family of microcontrollers.
-
ESP32/ESP8266: Experience with ESP32 and ESP8266 for IoT applications.
Real-Time Operating Systems (RTOS):
-
FreeRTOS: Understanding of FreeRTOS for real-time applications.
-
ChibiOS: Familiarity with ChibiOS.
-
Zephyr: Experience with Zephyr RTOS.
-
ThreadX: Knowledge of ThreadX.
Development Tools and IDEs:
-
Keil uVision: Experience with Keil IDE.
-
IAR Embedded Workbench: Proficiency in IAR tools.
-
Eclipse IDE: Knowledge of Eclipse-based environments.
-
Arduino IDE: Familiarity with the Arduino development environment.
-
PlatformIO: Experience with PlatformIO.
Hardware Interfacing:
-
GPIO, UART, SPI, I2C: Proficiency in interfacing with general-purpose I/O pins and communication protocols.
-
ADC/DAC: Knowledge of analog-to-digital and digital-to-analog conversions.
-
PWM: Experience with pulse-width modulation.
Debugging and Testing:
-
JTAG/SWD: Proficiency with JTAG and Serial Wire Debug for debugging.
-
Oscilloscopes/Logic Analyzers: Experience using oscilloscopes and logic analyzers for hardware debugging.
-
Unit Testing: Familiarity with unit testing frameworks for embedded systems.
-
Continuous Integration: Knowledge of CI/CD practices in embedded development.
Qualifications
Embedded Software Development
Firmware Development:
-
Bootloaders: Knowledge of bootloader development and implementation.
-
Device Drivers: Experience writing and optimizing device drivers.
-
Communication Protocols: Understanding of protocols like CAN, Modbus, and Zigbee.
Low-Level Programming:
-
Bare Metal Programming: Experience with programming directly on hardware without an OS.
-
Interrupt Handling: Proficiency in handling interrupts and designing interrupt service routines (ISRs).
-
Memory Management: Understanding of memory management, including stack, heap, and static allocation.
Embedded Linux:
-
Yocto Project: Experience with the Yocto Project for building custom Linux distributions.
-
Buildroot: Familiarity with Buildroot.
-
Kernel Modules: Knowledge of writing and debugging Linux kernel modules.
-
Device Tree: Understanding of the device tree in Linux.
Systems and Architecture
System Architecture:
-
System Design: Experience in designing embedded systems from scratch.
-
Power Management: Knowledge of power management techniques and low-power design.
-
Safety-Critical Systems: Familiarity with safety standards like ISO 26262, DO-178C.
Networking and Communication:
-
IoT Protocols: Knowledge of IoT protocols such as MQTT, CoAP, and LoRaWAN.
-
Networking: Understanding of networking basics and protocols (TCP/IP, UDP).