Senior Software Engineer - Golang

<h1><strong>Who is Litmus</strong></h1><p style="min-height:1.5em">Litmus is building the data foundation that powers industrial AI.</p><p style="min-height:1.5em">AI doesn’t work without real-world, contextualized data - Litmus makes that data usable. As AI adoption accelerates, most industrial environments still can’t access or use their operational data. We solve that gap.</p><p style="min-height:1.5em">We’re a growth-stage software company helping manufacturers access, structure, and use real-time data from machines, systems, and sensors at the edge. Our platform sits at the intersection of edge computing, AI, and industrial operations, enabling some of the world’s largest companies to run operations in real time, reduce downtime, and optimize production.</p><p style="min-height:1.5em">Backed by leading investors and trusted by global manufacturers and partners like Google, Microsoft, Dell, Oracle, and Mitsubishi, Litmus is powering the shift toward software-defined manufacturing.</p><p style="min-height:1.5em"></p><h1><strong>Why join Litmus</strong></h1><h3></h3><h2><strong>Build the infrastructure that makes industrial AI possible</strong></h2><p style="min-height:1.5em">AI is moving beyond the cloud and into the physical world. At Litmus, you’ll build the infrastructure that enables real-time data to power AI and machine learning systems in production environments.</p><h3></h3><h2><strong>Work on problems where software meets the real world</strong></h2><p style="min-height:1.5em">Most AI systems fail without access to real-world data. You’ll build the layer that makes them viable in production. We solve challenges at the intersection of distributed systems, real-time data, and industrial constraints — where reliability, scale, and performance are non-negotiable.</p><h3></h3><h2><strong>Have real impact, fast</strong></h2><p style="min-height:1.5em">You’ll work on systems used by real customers in production, with direct impact on product and company trajectory. As a scaling company, we move quickly. You’ll have ownership, visibility, and the ability to shape both product and company as we scale.</p><h3></h3><h2><strong>Join a high-performance team</strong></h2><p style="min-height:1.5em">We’re building a team that holds a high bar and pushes each other to improve. You’ll work alongside experienced operators, engineers, and leaders who have done this before and are building again at scale. We hire people who take ownership, move quickly, and care about outcomes. No passengers.</p><p style="min-height:1.5em"></p><h1><strong>Our culture</strong></h1><p style="min-height:1.5em">At Litmus, the team is collaborative, curious, and low ego. People are scrappy, take ownership, and look for ways to make an impact. We value empathy just as much as execution, whether that’s in how we build, how we communicate, or how we support each other.</p><p style="min-height:1.5em">We’re a growing company, so things move quickly and not everything is perfectly defined. If you enjoy figuring things out, working closely with others, and making steady progress, you’ll do well here.</p><p style="min-height:1.5em"></p><h2><strong>Description</strong></h2><ul style="min-height:1.5em"><li><p style="min-height:1.5em">As a Senior Software Engineer specializing in C++ and Golang, you will play a pivotal role in developing southbound connectors for communication with PLCs and industrial control systems, enabling seamless data exchange between our Litmus Edge Products and a diverse range of IIoT devices, industrial protocols, and operational technology systems.</p></li></ul><ul style="min-height:1.5em"><li><p style="min-height:1.5em">Your primary responsibility will be to design, implement, and maintain robust connectors that ensure the reliability, security, and efficiency of communication between our software and the operational technology (OT) layer. Your work will be essential in enabling our products to scale and adapt to ever-evolving industrial environments.</p></li></ul><div style="min-height:1.2em;margin-top:0;margin-bottom:0"> </div><h2><strong>What you will do:</strong></h2><ol style="min-height:1.5em"><li><p style="min-height:1.5em">Develop C++ and Golang-based southbound connectors that communicate directly with PLCs and industrial control systems using protocols such as OPC-UA, Modbus, EtherNet/IP, PROFINET, and DNP3.</p></li></ol><ol style="min-height:1.5em" start="2"><li><p style="min-height:1.5em">Implement support for IIoT protocols such as MQTT, CoAP, and SOAP, enabling effective communication with industrial devices and sensors.</p></li></ol><ol style="min-height:1.5em" start="3"><li><p style="min-height:1.5em">Build connectors for streaming protocols such as WebSockets and HTTP/2, enabling real-time data streaming and communication with external systems.</p></li></ol><ol style="min-height:1.5em" start="4"><li><p style="min-height:1.5em">Implement robust error handling and fault-tolerance mechanisms to ensure connectors are resilient to failures in OT environments, delivering a seamless user experience.</p></li></ol><ol style="min-height:1.5em" start="5"><li><p style="min-height:1.5em">Collaborate with cross-functional teams — including product managers, OT/controls engineers, and other developers — to understand requirements and deliver high-quality integration solutions.</p></li></ol><ol style="min-height:1.5em" start="6"><li><p style="min-height:1.5em">Conduct thorough testing, including unit tests, integration tests, and hardware-in-the-loop tests, to validate the functionality and performance of southbound connectors.</p></li></ol><ol style="min-height:1.5em" start="7"><li><p style="min-height:1.5em">Optimize code and apply best practices to enhance connector performance, latency, and scalability.</p></li></ol><ol style="min-height:1.5em" start="8"><li><p style="min-height:1.5em">Provide clear and comprehensive technical documentation for all connectors and APIs, enabling seamless adoption by other team members and customers.</p></li></ol><ol style="min-height:1.5em" start="9"><li><p style="min-height:1.5em">Monitor connector performance, track metrics, and implement logging practices to troubleshoot and resolve issues efficiently.</p></li></ol><ol style="min-height:1.5em" start="10"><li><p style="min-height:1.5em">Stay current with advancements in the C++, Golang, and industrial automation ecosystems, continuously developing your skills and knowledge.</p></li></ol><ol style="min-height:1.5em" start="11"><li><p style="min-height:1.5em">Contribute to the development of our open-source projects, sharing expertise with the wider developer community.</p></li></ol><div style="min-height:1.2em;margin-top:0;margin-bottom:0"> </div><h2><strong>What you will bring:</strong></h2><ol style="min-height:1.5em"><li><p style="min-height:1.5em">Bachelor's or Master's degree in Computer Science, Software Engineering, Electrical Engineering, or a related field.</p></li></ol><ol style="min-height:1.5em" start="2"><li><p style="min-height:1.5em">Proven experience as a Software Engineer with a minimum of 5+ years of relevant work experience.</p></li></ol><ol style="min-height:1.5em" start="3"><li><p style="min-height:1.5em">Strong proficiency in C++ with Golang experience highly desirable.</p></li></ol><ol style="min-height:1.5em" start="4"><li><p style="min-height:1.5em">Demonstrated experience developing southbound connectors for PLCs and industrial control systems, with hands-on knowledge of industrial protocols such as OPC-UA, Modbus, EtherNet/IP, or PROFINET.</p></li></ol><ol style="min-height:1.5em" start="5"><li><p style="min-height:1.5em">Deep understanding of networking concepts, real-time communication, and industrial automation environments.</p></li></ol><ol style="min-height:1.5em" start="6"><li><p style="min-height:1.5em">Experience implementing support for IIoT protocols is highly desirable.</p></li></ol><ol style="min-height:1.5em" start="7"><li><p style="min-height:1.5em">Solid working knowledge of data serialization, error handling, and security principles in integration projects — 5+ years of experience preferred.</p></li></ol><ol style="min-height:1.5em" start="8"><li><p style="min-height:1.5em">5+ years of experience with version control systems (e.g., Git) and collaborative development practices.</p></li></ol><ol style="min-height:1.5em" start="9"><li><p style="min-height:1.5em">Excellent problem-solving skills and the ability to analyze complex integration challenges in OT environments.</p></li></ol><ol style="min-height:1.5em" start="10"><li><p style="min-height:1.5em">Strong communication skills and the ability to work collaboratively with cross-functional teams including engineers from both software and industrial automation backgrounds.</p></li></ol><div style="min-height:1.2em;margin-top:0;margin-bottom:0"> </div><p style="min-height:1.5em">If you are a motivated, innovative, and results-oriented engineer with a passion for bridging the gap between industrial control systems and modern edge computing infrastructure, we encourage you to apply. Join our dynamic team and play a crucial role in shaping the future of Litmus Automation as a leading player in the Industrial Internet of Things space..</p><p style="min-height:1.5em">This position is hybrid in Toronto and Santa Clara. Full remote is possible for the right candidate.</p><p style="min-height:1.5em">Litmus Automation is an equal opportunity employer, committed to fostering an inclusive and diverse workplace environment. We celebrate individuality and believe that diverse perspectives lead to innovation.</p><div style="min-height:1.2em;margin-top:0;margin-bottom:0"> </div>

Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...