Learn more about

Trying New Things, Plugging Things In, and Messing with Hardware at MODE

Andrew Wilson talks about why he loves IoT, his role on MODE's delivery team, and what kind of developers will thrive there.

Photo of Andrew Wilson
With
Andrew Wilson

“A lot of the projects I’m working on are things that I’ve never done before,” said Andrew Wilson, Software Engineer at MODE. “Before I joined this company, I didn’t know anything about serial communications. I’d never written a device driver. I’d never used Golang. Especially if somebody’s coming from a traditional web development background . . . a lot of it is going to be new [to them].”

If somebody’s interested in looking for [a role] somewhere where they can learn new things and try new things and plug stuff in and mess with hardware, then this is going to be a really good spot.

Indeed MODE, as an Internet of Things (IoT) business, isn’t your typical software company. Andrew provided an in-depth description of what MODE does and how it operates.

“We have several different teams,” he said. “We have the delivery team, which is where I am. We have our product team, which has our AI team inside of it, which does a lot of Large Language Model stuff.”

“The way MODE works at a high level,” Andrew went on, “is we have our gateways, which are these little computers. . . . We have some other form factors, but 90 percent of our work is with these ASUS NUCs, and we set these up at our customers’ sites, a site typically being a factory or a warehouse or a construction site.”

The gateways then attach to industrial sensors on site, receive data, and send it to MODE’s cloud. “Then on our cloud,” said Andrew, “our product team has been doing an excellent job of making fancy dashboards and making it a really customizable experience.”

So you can click the dashboard, and you can see ‘Oh, this production line is working well,’ or ‘Oh, this freezer is above X temperature, so we’ve got to go fix it before it spoils all this stuff.’ You can visualize all your data.

MODE’s next achievement, according to Andrew, will be creating a personalized AI agent to read the company data and talk to clients about it. “You know, if you’re a factory floor manager, you might not necessarily be able to walk into the office and log into a computer and check a screen. You just want to be able to pull out your tablet or pull out your phone and ask a question: ‘Hey, what’s the temperature of the freezer? Are there any alerts that happened last night that I should know about?’ And just ask your AI agent, which can scan all the data that we have aggregated and then tell you about it.”

“But my job on the delivery team,” Andrew clarified, “is just on that first little bit where we are connecting to sensors in a work site. . . . The rest are magic things that the other teams take care of.”

Andrew has been deeply interested in IoT for some time, so it’s not surprising that he ended up at MODE—even if he took the long way around to get there. He’s lived in Japan for over 12 years, and spent around seven of those in sales. At his last job he represented foreign companies selling products in Japan, including enterprise software solutions.

“In the course of learning about these products and giving these technical demonstrations,” he said, “I realized that I liked doing that bit of my job way more than I liked actually trying to sell these things.”

I was very good at giving the demos. I was terrible at closing deals.

He decided to change careers, and went back to school online at the University of Oregon, which offers a special program for students who already have a Bachelor’s degree to earn a second Bachelor’s in computer science.

Because it’s limited to people who already have a bachelor’s degree, that means you don’t need to take any non-computer science classes. You don’t need any electives or prerequisites or anything like that.

“I did that full-time—basically, I was working at the time, but every day, whenever I wasn’t working, I was studying,” said Andrew. “It was a busy year and a half.”

After he successfully graduated, he worked as a developer for three years before joining MODE. “As to why I joined MODE specifically, I personally have an interest in IoT stuff.”

I think that’s one of the reasons I got the job, because I was obscenely well-prepared for the interview. I actually have a mini PC that runs Ubuntu and Home Assistant running in my house.

“I’ve got a bunch of motion sensors, I’ve got smart light bulbs, so when you walk down the hallway or when you go into the toilet the lights automatically turn on. I have a timer. I have a smart switch and some other automations running on my TV so when it’s morning time and my kids need to turn off the TV and start putting on the shoes to go to school, the TV just turns itself off, which is great because I’m not the one who turns the TV off and they don’t yell at me. . . . I just like having these little devices all talking to each other.”

Though already knowledgeable about IoT, Andrew also appreciates the learning opportunities he’s found at MODE. “One of the things that has been really fun for me in this specific role—being a software developer, but on the delivery team—is that I’ve done the full stack.”

I’ve done frontend UI. I’ve done gateway driver stuff, talking with the machines. I get to work with hardware and learn about these industrial signaling protocols that we’d never normally work with. . . . I’ve written some of the code on the backend, to parse the stuff that comes in from the gateway.

“So I’ve been able to work on the whole stack of everything,” he concluded, “which is kind of unique, I would say.”

His personal favorite job involved an unusual setting.  ”This was a really fun one,” Andrew said. “We did a project for a company that makes salads and other foods for a major convenience store chain in Japan. . . . When you make a salad, you have to wash it to certain standards, and the water has to be of a certain pH and has to have a certain chlorine content to kill all the nasty stuff. Then if the PH is not correct, or if the chlorine content is too low, you’re not legally allowed to sell it because it could make people sick.

“So this company had these big baths, probably about the same size as a relatively small Japanese tub in your house, and [had] the water going, and vegetables would be dumped in there and they would clean them that way. But they would take litmus paper, which you probably used in chemistry class, and were checking the pH every couple of hours and physically putting it in a logbook and writing down what the pH was. . . . [There was] a machine to monitor the chlorine content of the water, but they were physically logging that down in a book, and they’re like, ‘We should digitize this so we can cut down on our litmus paper budget.’”

I had the gateway [already], and then they mailed me this chlorine monitor which was about the size of my head . . . and it was on the floor of my room. It had a little pump, because it has to measure water, so I had two cups of water and then every minute it would be pumping water and taking a measurement and dumping it out in the other cup.

Once Andrew had written the driver, he needed to go to the factory and physically hook everything up to demonstrate that it would work. “But because it’s a food factory,” Andrew explained, “obviously they take cleanliness very seriously. [When] we go in there, we’ve got to put on [PPE] and we’ve got to have a hair net, and we go in and use the little roller to get all the stuff off of us. We wash our hands a million times and we put the gloves on, then we wash the gloves, and we have to wear special shoes . . . and so we get to where the vegetable baths are.

“It just so happened that day that they were preparing to make the salads later, so there was a bunch of people chopping onions right behind [the baths]. So I’m all PPE-ed up, I’m wearing two layers of gloves because that’s what you do, and I’m trying to screw things in. It feels like I’m doing surgery. . . . The air is all spicy, everyone’s eyes are watering, and [I’m] trying to get all this stuff plugged in because I’m the only one who knows how it works. . . . Everyone else was just sort of standing around watching me screw things in and plug things in. I’m just like, ‘Oh God, I hope it works.’”

“But yeah, it turned out fine,” Andrew reassured us. “We got the data, no problem. But that was certainly not an experience I would get if I was working at a different company.”

Spicy onions and double-gloved hardware installations aside, Andrew is very happy with his work environment. Despite his work being fully remote—which is why the chlorine monitor was mailed to his house—he feels well-supported by his teammates. “One of the things that I really like about this company,” he said, “is that everybody’s super smart. And you have work that you have to do, but I wouldn’t say I’ve ever had a deadline that was unreasonable. I’ve always had enough time and I’ve always had enough support to get something done.”

If for whatever reason you’re having a technical problem, people aren’t saying, ‘Hey, what’s going on? What’s the issue? Why is this taking so long?’ It’s like, ‘Wow, you really have a problem. What can I do to help? Let’s jump on a call and see what’s happening.’

It helps that the teams are small: according to Andrew, his delivery team is less than 10 people, and there are about 20 developers in the Japan office total. There’s also a US office, which is currently smaller than the Japanese side but is hiring more developers.

That’s one reason why the official company language is English. “Of course the developers overseas in the States don’t speak or read Japanese,” said Andrew, “so Japanese is not a prerequisite.”

“Though I will say, for the delivery team specifically,” Andrew added, “it is helpful to speak Japanese, because if you are writing a driver for a sensor that they only make in Japan, the documentation is going to be in Japanese.”

While MODE is incorporating AI into its products, the company remains flexible on individual developers’ use of AI. “I personally use ChatGPT as sort of a search engine a lot of the time,” said Andrew, “but especially the work we do on the delivery team, where it’s written in Golang and it’s a very custom, one-off device driver, there’s not really that much information online that [AI tools] could scrape and learn from. . . . Generally, I found that the AI tools are not really that helpful for a lot of what we’re doing, except for if I’m like, ‘Oh, how do I do this? How do I iterate over this particular data structure? What was the syntax for a switch statement?’ or something like that.”

MODE’s focus has shifted in recent years from producing unique solutions for individual customers to creating broad-use apps that will work for multiple clients. “Just building features for every individual customer is not a way to scale,” Andrew confirmed.

As a member of the delivery team, Andrew’s work remains more custom and hands-on, but the drivers he’s developed for one client often can be reused for other clients’ needs down the road. “I’ve written probably four or five drivers since I’ve joined the company,” Andrew said, “and I know at least three of them have been used on projects past the initial one.”

One of the first drivers Andrew wrote was for a wet-bulb globe temperature sensor, which measures environmental heat in accordance with government mandates for construction sites. “It was a huge thing. . . . It was like a meter long,” Andrew explained, “and really heavy and in my bedroom for a long time. . . . I was like, ‘Kids, please, don’t jump on this one several thousand dollar-sensor. Jump on my bed or whatever, just not [on] this one.”

Once I wrote the driver [for that], we could say, ‘Oh, we support this type of sensor.’ So it’s just plug and play from then on, and somebody else can update the driver to add different features.

“That makes it easier to sell our services to the next client,” Andrew went on, “because we don’t have to do custom development.”

When asked why other developers would want to work for MODE, Andrew gave two reasons: great teammates, and pride in producing a quality product.

I can’t overstate how nice the work atmosphere is for engineering. I think the people are really smart. Everybody’s really nice. If I’m going to say this in a PG way, there are no jerks.

“If you’re a jerk, then please don’t apply,” Andrew joked. “If you’re not a jerk, then I think you will like working here. And I do want to mention that [the work here] is project-based . . . [but it’s not] like one of those software consultancies where you’re building whatever you’re contracted for out, and just like building another CRUD app and getting it out the door as fast as possible.

“We’re not like that because we have ownership of this gateway. And yeah, you might be working on a driver for a project now, but six months later somebody else is going to do a project that’s similar to that, and they’ll ask you questions about how this driver works.

“We take pride in writing nice code that we will be able to support in the future. . . . It’s an in-house product that we are supporting long-term.”

Open Jobs at MODE, Inc.