Qualifications
Must Have:
- BS/MS in Computer Science/Electronics/Electrical Engineering with related experience of 4+ years in software/hardware development Minimum of 2+ years of experience programming on STM32 chipsets Hands on development experience in Embedded C/C++ and some exposure to Python and/or Java (we prefer polyglots & those open to learn new stuff on the go) Working knowledge of computer architecture with particular emphasis on Arm based micro-controllers like STM32 Chips, Bluetooth/WiFi/Ethernet for communication, and working with different sensors like Temperature, Weight, Level, Solenoids, etc..
- Loves to connect things to other things and have them communicate to create business value.
- Has ability to create a quick prototype that can control hardware devices and program them with Raspberry Pi/Beagle board.
- Basic use of electrical/wiring tools, soldering experience.
- 1+ years of programming with Linux/Windows systems with exposure to networking and scripting experience.
- Has experience implementing hardware and software integrations into production.
- Has a growth and scalability mindset for software and hardware that translates to production level implementation realities.
- Knows what RESTful and JSON are and understands the pros and cons over other options.
- Experience working with AWS / Azure / Google Cloud Platform.
- A strong grasp of CS and Electronics fundamentals, especially in circuit design, data structures, algorithm design and Object-Oriented programming.
- Ability to work well in a team and to take on leadership roles as required Experience in using version control systems like Git or SVN, and able to solve merge issues.
- Excellent written and verbal communications skills
Good to Have:
- Good knowledge of Keil MDK IDE for development of Embedded systems.
- Knowledge of working using a RTOS is a plus Knowledge of technologies like Arduino, AdaFruit, Micro-Python, Embedded PLC.
- Experience in designing PCB boards (STM32) and assembly with a good understanding of Electronic Systems.
- Experience with common arm based micro-controllers and microprocessors and use of peripherals.
- Experience in development, testing, or familiarity of embedded control systems, serial communication and peripheral interfacing.
- Experience with Integration or IoT platforms Knowledge of working with Docker/Kubernetes.
- Experience with Apache Kafka/Kinesis/Apache Spark/Big Data/ is a plus