Software Engineer Intern
efunity pte. ltd.- Posted 12 hours ago
- Be among the first 10 applicants
Job Description
About Efunity Pte. Ltd.
Incorporated in 2012, Efunity is a Singapore M&E engineering company specialising in energy management systems, power quality monitoring, smart metering and building automation. We develop our own metering and AI power-quality products in-house rather than only reselling other people's. Our tagline is Engineering Towards Green.
The Role
This is a real engineering seat, not a shadowing placement. You will join our R&D team and take over live work, running data pipeline and a facial-recognition module that is deployed on active customer sites.
Most of your time is Python. You will maintain and extend an ingestion pipeline that moves data from AWS S3 through Redis Streams and MQTT into PostgreSQL, and you will own a computer-vision script that pulls frames from IP cameras over RTSP and runs them through a face-recognition pipeline. That script currently has a latency and detection problem we would like you to help solve.
About one day a week you will be on site with our engineers - HDB blocks, switch rooms, rooftops - commissioning and troubleshooting the systems your code runs on. Engineers who have watched their own software fail in a switch room write noticeably better software afterwards.
You will report to our Senior Embedded Engineer and work alongside two software developers and our Engineering Director. You will present your own work at daily scrum from your first week.
Key Responsibilities
Data Pipeline Engineering . 40%
. Maintain and extend the S3 → Redis Stream → PostgreSQL ingestion pipeline: the publisher that stages files and emits MQTT messages, the subscriber that loads them into Postgres, and the acknowledger that reconciles stream entries against database rows.
. Complete the migration from a Redis-list bridge to a webhook-based bridge into the RedisStream.
. Evaluate PostgreSQLNOTIFY/LISTEN against MQTT quality-of-service semantics and recommend which to standardise on.
. Build in the error handling, retry and observability the pipeline needs to run unattended.
Computer Vision & FacialRecognition . 30%
. Own the Pythonfacial-recognition script used on our FSA installations.
. Complete the move from ISAPI snapshot polling to direct RTSP capture with OpenCV, and resolve the current frame-latency and missed-detection problems.
. Test and validate camera model changes - configuration backup and restore, one-for-onereplacement, and verification that video analytics and face recognition still behave after a swap.
. Measure what you change. We want before-and-after numbers on latency and detection rate, not impressions.
FSA Commissioning Support . 20%
. Join site visits across our live FSA projects to support installation, mock testing and commissioning, and fault rectification.
. Troubleshoot edge hardware on site - controllers, panels, cameras, relays, power and network.
. Record every defect and resolution into the project tracker on the day, so the next visit starts from fact rather than memory.
Quality Management &Release Discipline . 10%
. Package Python tools into distributable Windows executables with PyInstaller, including cleanenvironment-file handling.
. Write and maintain README and run instructions for every tool you touch - documentation is part of'done here, not a follow-up task.
. Improve logging so a problem on site can be diagnosed from the log alone.
. Contribute to QC checklists and to our software release and versioning process.
. Keep Jira current and present your own work at daily scrum.
What You Will Learn
A stack you will not get on most internships: Redis Streams, MQTT, PostgreSQL, AWS S3 and EC2, OpenCV, Linux, Ansible - applied to physical systems with real users. You will see your code run in a building, which is a different and more demanding thing than seeing it pass a test suite. You will also learn how commissioning actually works, which is rare exposure for a software student and makes you materially more employable in industrial software afterwards.
Requirements
. Currently pursuing a degree in Computer Science, Software Engineering, Computer Engineering, Information Technology or a related discipline, with a 12-month IWSP or industrial attachment window.
. Genuinely comfortable in Python - able to read, debug and extend someone else's code, not only write your own from scratch.
. Some hands-onexposure to at least two of: PostgreSQL or other SQL databases, Redis, MQTT, Docker, Linux, AWS, OpenCV.
. Able to work independently and say clearly, every morning, what worked and what did not.
. Willing and able to attend customer sites, including switch rooms and rooftops, roughly one day a week.
. Singapore Citizen or Permanent Resident, or holding a valid Student Pass with an approved IWSP or internship arrangement.
Nice to Have
. Any prior work with computer vision, face recognition or video streaming (RTSP, GStreamer, FFmpeg).
. Git, Ansible, or anyinfrastructure-as-code exposure.
. Basic networking -IP addressing, ports, and reading a packet capture.
. Conversational Mandarin, useful with some of our suppliers.

