Job description for Full Stack Software Engineer (Embedded & Systems) at POROLIS TECHNOLOGIES PTE. LTD.
Job responsibilities :
Functional Requirement Specifications, Testing and Documentation :
- Draft functional specifications and system performance requirements
- Define unit tests and detailed system integration documents, additionally to any other documents required during the project lifecycle
- Enable and support functional and user acceptance testing
- Develop final documentation and train Users
Architect and Design :
- Lead the architectural design of cloud-based SaaS application on AWS, utilizing relevant services to ensure scalability, security, and performance, with CI/CD integration
- Implement strategies to optimize application performance, addressing latency, and ensuring responsiveness across diverse devices and platforms
Machine Learning :
- Ensure the seamless integration of machine learning models into the application, optimizing for real-time predictions and user experience
Embedded Systems & Firmware Development
- Develop and maintain firmware for STM32F4 series microcontrollers, including peripheral configuration, drivers, and low-level hardware interaction.
- Support communication between firmware and higher-level applications running on Windows.
- Debug and optimize firmware–software interactions for reliability and performance.
Edge Computing & Raspberry Pi Development
- Develop applications on Raspberry Pi 5, running Linux-based systems.
- Interface Raspberry Pi with external peripherals, including but not limited to:
o Motor drivers and motion control systems
o Camera modules and camera control pipelines
o Sensors and other I/O devices (GPIO, I2C, SPI, UART, etc.)
- Support edge-to-cloud communication.
Applications Development :
- Full-stack software development on backend and frontend (eg Python, SQL, REST, JavaScript, TypeScript / node.js + React framework) for the SaaS
- Applications development on Windows environment to communicate with the firmware of the IOT optical device
- Oversee the applications development on iOS and Android
Data Management :
- Design the architecture and system for effective data storage, retrieval, and management in a cloud environment, ensuring compliance with data privacy and security standards.
Team Collaboration across Disciplines :
- Work closely with cross-discipline teams, including AIML engineers, UI/UX designers, firmware engineer and IOT-hardware engineers, to ensure a cohesive development process to integrate hardware and/or software systems
Qualifications and skills :
• Bachelor's degree or higher in Software Engineering, Computer Science or a related field
• Minimum 3 years of hands-on experience in system architecture and system development, with a solid understanding of AI, machine learning, and deep learning principles
• Hands-on coding and software design experience building robust and scalable software using Python, C+, SQL, REST, JavaScript, TypeScript / node.js + React/Angular framework
• Experience in building data intensive applications in a modern technology stack Cloud services (AWS, Azure), data pipelines, SQL/No-SQL databases
• Experience building and consuming web-based APIs
• Familiar with continuous deployment environments (eg Jenkins) and test-driven development
• Good understanding and practical experience on Docker, CI/CD and Kubernetes
• Strong knowledge and practical experience of Micro services architecture.
• Strong knowledge of source code management tools such as Git
If you have aspirations to be part of a dynamic team to pioneer game-changing AI solutions for the Gemstone industry, please send your resume.
