I am writing to express my interest in a software development position at your company. I am a highly skilled and motivated software developer with a strong background in C# and Python, specializing in windows and mobile app, IoT architecture, and cloud-based infrastructure for electric vehicles (EVs). I currently serve as an HMI & Connectivity Engineer in the Research and Development department at MAKA Motors, a fast-growing electric vehicle startup in Indonesia. In my current role, I am responsible for designing, developing, testing, and deploying both software and hardware systems for EV instrument clusters and IoT based telemetry solutions.
MAKA Motors
October 2023 - Present
- Designing and Coding Instrument Cluster HMI Software: Developing and implementing the software for the electric vehicle's instrument cluster display using C/C++, ensuring a clear, intuitive, and informative interface for the rider. This involves designing screen layouts, managing real-time data display (e.g., speed, battery level, range, alerts), and optimizing performance for embedded systems - Creating an HMI Display Simulator: Developing a display simulator using STM32 microcontrollers and C/C++ to facilitate rapid prototyping, testing, and validation of the instrument cluster HMI software without requiring physical vehicle hardware. - Developing Diagnostic Desktop Application: Designing and programming a comprehensive diagnostic desktop application using C# .NET Windows Forms in Microsoft Visual Studio to interface with the electric vehicle via CAN BUS. This application will enable technicians to read vehicle data, diagnose faults, perform software updates, and access detailed system information. - Developing Mobile Diagnostic Application: Designing and programming a user-friendly mobile diagnostic application using C# .NET MAUI in Microsoft Visual Studio to provide technicians with on-the-go access to vehicle data and diagnostic capabilities via CAN BUS and Bluetooth communication. This application will offer features similar to the desktop version, optimized for mobile devices. - Implementing CAN BUS Communication: Configuring and implementing communication protocols over the CAN BUS and Bluetooth communication7 network to enable seamless data exchange between the diagnostic applications (desktop and mobile) and the various electronic control units (ECUs) within the electric vehicle. - Developing Cloud-Based Historical Repair Data Storage: Designing and implementing a cloud-based database system on AWS (Amazon Web Services) to securely store historical vehicle repair data collected through the diagnostic applications. This includes defining database schemas, ensuring data integrity, and optimizing for scalability. - Managing AWS Cloud Infrastructure: Managing and maintaining the necessary AWS services, including EC2 (Elastic Compute Cloud) for hosting applications, RDS (Relational Database Service) for the repair data database, S3 (Simple Storage Service) for data storage, IoT Core for managing vehicle connectivity, VPC (Virtual Private Cloud) for network isolation, and IAM (Identity and Access Management) for secure access control. - Ensuring Software Infrastructure Security on AWS: Implementing robust security measures across the software infrastructure hosted on AWS, including network security, data encryption (at rest and in transit), access controls, and vulnerability management, to protect diagnostic, display, and IoT applications. - Creating a Backend Server Application Simulator for IoT Devices: Developing a backend server application simulator using Python on EC2 to emulate the communication and data handling of IoT devices integrated into the electric vehicles. This allows for testing and development of the IoT platform without relying on live vehicle data. - Developing Backend Server Application for IoT Data: Developing a backend server application using Python on EC2 to receive and process data transmitted from IoT devices on the electric vehicles via TCP protocol. This involves handling data ingestion, validation, and storage for various IoT functionalities. - Developing Data Interfaces for Web Applications (HTTP & MQTT): Designing and implementing data interfaces using HTTP requests and MQTT protocols to transmit relevant railway data to web-based client applications. This enables broader access to monitoring information and potentially supports mobile or remote access for authorized personnel. - Leading the IoT Software Team with Third-Party Collaboration: Leading and coordinating the software development efforts for the electric vehicle's IoT project, collaborating closely with third-party vendors to define system architecture, integrate software components, and ensure seamless data flow and functionality. This includes managing timelines, resolving technical challenges, and ensuring alignment with overall project goals.
PT. Len Railway Systems
August 2017 - October 2023
- Developing HMI and Diagnostic Applications for Railway Components: Designing and programming specialized diagnostic applications using Visual Basic and C# to identify and analyze faults within railway signaling system components. This includes developing algorithms for fault detection, data interpretation, and providing clear and actionable diagnostic information to maintenance personnel. Data logging of diagnostic information will be a crucial aspect. - Implementing Data Acquisition via Modbus: Configuring and implementing communication protocols using Modbus to reliably acquire real-time data from railway signaling controllers. This involves understanding Modbus communication principles, mapping data points, and ensuring accurate and timely data retrieval for HMI and diagnostic applications. - Developing Server Applications for Centralized Data Aggregation: Architecting and developing robust server-side applications using Visual Basic and C# to receive and aggregate data from railway stations across Indonesia via TCP/IP. This involves designing scalable and reliable communication channels to handle data from numerous stations simultaneously. - Establishing Real-time Monitoring at the Command Center: Implementing real-time data processing and visualization capabilities within the central server application to provide operators at the Indonesia Railway command center with a comprehensive overview of train movements and signaling system status across the entire network. - Implementing Data Logging and Historical Data Access: Designing and implementing data logging mechanisms within the server application to store historical data received from all railway stations. This includes defining data retention policies and developing functionalities for operators to access and analyze historical data for performance monitoring, incident investigation, and trend analysis. - Utilizing OPC for Data Distribution to Client Applications: Configuring and leveraging OPC (OLE for Process Control) to standardize and distribute realtime data from the central server to various client applications within the command center, ensuring interoperability and efficient data sharing. - Developing Data Interfaces for Web Applications (HTTP): Designing and implementing data interfaces using HTTP requests protocols to transmit relevant railway data to web-based client applications. This enables broader access to monitoring information and potentially supports mobile or remote access for authorized personnel. - Ensuring System Reliability and Performance: Designing and developing applications with a focus on high availability, reliability, and performance to ensure continuous monitoring and control of the critical railway signaling infrastructure. This includes implementing error handling, logging, and potential redundancy measures. - Collaboration and Communication: Working closely with railway signaling engineers, control center operators, and IT professionals to understand system requirements, gather feedback, and ensure the developed applications meet operational needs and integrate seamlessly with existing infrastructure. - Documentation and Knowledge Sharing: Creating comprehensive technical documentation for the developed HMI applications, diagnostic tools, server applications, and data integration processes. This includes design specifications, user manuals, and API documentation to facilitate understanding, maintenance, and future development.
PT. Yokogawa Indonesia
October 2014 - August 2017
- Developing and Implementing Automation Logic: Designing, programming, and implementing complex sequential control logic and batch processes utilizing Sequence and Batch-Oriented Language (SEBOL) within the industrial control system environment Yokogawa CENTUM VP. This involves translating process requirements into robust and efficient automation sequences, ensuring operational safety and efficiency. - Custom Application Development for Data Acquisition: Architecting, developing, and maintaining custom applications using C# to directly interface with industrial controllers. This includes establishing communication protocols, extracting real-time and historical process data, and ensuring data integrity and reliability - Database Design and Management for Data Logging: Designing and implementing database solutions OPC and SQL Server to effectively collect, store, and manage large volumes of process data acquired from the automation systems. This involves defining database schemas, optimizing data storage, and ensuring data accessibility for analysis and reporting. - Data Integration with Client IT Systems: Developing and implementing seamless data integration solutions to transfer processed and logged industrial data to client IT management systems. This involves understanding client system requirements, designing appropriate data interfaces (e.g., APIs, data pipelines), and ensuring secure and reliable data exchange for business management insights. - System Troubleshooting and Support: Providing expert-level troubleshooting and support for automation systems and custom-developed applications. This includes diagnosing and resolving software and communication issues,4 performing root cause analysis, and implementing corrective and preventative actions to minimize downtime. - Collaboration and Communication: Effectively collaborating with cross functional teams, including process engineers, operations personnel, and IT professionals, to understand requirements, implement solutions, and provide clear communication regarding system status, issues, and resolutions. - Documentation and Knowledge Sharing: Creating and maintaining comprehensive documentation for developed code, applications, database structures, and integration processes. This includes design specifications, user manuals, and troubleshooting guides to facilitate knowledge sharing and system maintainability. - Continuous Improvement: Staying abreast of the latest technologies and methodologies in industrial automation and software development to identify opportunities for system optimization, performance enhancement, and the implementation of innovative solutions
Politeknik Negeri Bandung, August 2018
Electronics Engineering
Institut Teknologi Bandung, March 2021
Electronics Engineering
Copa Data
Issued: 11/7/2018 - Expires: 11/7/2021
Credential ID: 2018110706320
Institut Teknologi Bandung
Issued: 3/23/2021
Credential ID: 932021/IT1.A/DA.07/IV/STF/PPI/2021
Persatuan Insinyur Indonesia
Issued: 11/14/2018
Credential ID: 1-02-00-001931-00
Verified Full Stack Developer
6-8 years of experience
Preferred commitment: Part Time
Take the next step and bring this top talent to your team
Hire Fachrul for your team