Learn more about

How CADDi Sets Lofty Goals While Keeping Positive Engineering Culture

Senior Backend Engineer Ming Dai shares how CADDi combines sky-high ambitions with being full of "genuine and nice" people who give their developers creative freedom.

Photo of Ming Dai
With
Ming Dai

“The draw of CADDi,” said Senior Backend Engineer Ming Dai, “was that, throughout the engineering interview process, I felt like the people were very nice, very genuine. I think that’s something I care a lot about . . . but they also have very lofty goals as a company.”

“The way they view themselves,” Ming went on, “they compare themselves to a global leading [company] like Palantir, basically trying to reach that level of speed and growth. I think that is cool to see.”

In Japan there are not that many global-minded companies reaching for such high targets, but at the same time, these people are genuine and nice, and they’re not just cutthroat.

As someone with a global background himself, Ming is better situated than most to judge. Ming’s parents were both Chinese, but independently came to Japan to work, where they met, married, and remained for 20 years and the birth of their two children.

When Ming was five, the whole family moved to the US. He never forgot about Japan, though. “Even in the US growing up, I would just stay on the carpet, and do homework with terrible posture lying on the carpet, and not use a bed even though I had a bed, things like that.”

“At some point,” he said, “I was like, ‘Oh, it’d be cool to come back to [Japan]: one, to get better at the language, and two, to properly live in Asia. I’m in that period of my life where I feel like I can have that flexibility, so it’s a lot of fun.”

While Ming feels at home in Japan, it’s taken a while for him to find the right company. His last position was with TikTok. “I think the role that I had was not purely software development,” he said, “but closer to sales, closer to clients. And then I found myself not writing any code. . . . It just didn’t feel like a place where I could grow as an engineer, so I had to quickly get out of it.”

By contrast, Ming feels he has plenty of room to grow at CADDi.

 I think it’s so nerdy, but as an engineer, I really enjoy owning the planning process of a new service. I get to choose what technologies I want to use, and justify those decisions to the rest of the [team]. That process is really fun. It feels like I have creative freedom and just decide what I work on next in the upcoming month. I’ve been given a lot of room to do that sort of work at CADDi.

CADDi offers an AI data platform for manufacturers that analyzes and correlates the data they have to form insights, which can be used to help drive decisions and production. Ming’s workflow engine team in particular works on a batch processing platform that can pull meaningful data out of engineering drawings and diagrams.

Someone drew some pictures, and now we have a systematic way to turn that into data.

“Sometimes these can be hand-drawn drawings of an actual wheel or some metal [part],” Ming explained, “but with our machine learning algorithm and OCR, we try to extract as much meaning out of that as possible. For example, if the manufacturer has ordered something similar in the past, they can use that as a reference, and detect [parts] with similarities. With this kind of structured data, the manufacturers can make smarter decisions about procurement.”

Like Ming himself, the company has high growth goals, and Ming appreciates the ambition. “Most companies aim global,” he said. “They don’t actually do it. But I think for CADDi it’s more tangible, because we’re at a maturity level where we have clients in the US and those global markets already.”

I think what sets CADDi apart is probably the demand from the client side . . . which is why we’re actively hiring.

The company’s engineering team has expanded significantly, now operating in Japan, the US, Thailand, and Vietnam, but according to Ming, they’re just getting started. “Sometimes I look at the [growth goals], and I’m like, ‘Oh my God, is that for real?’ I think the CEO and CTO aim very high. They both have US working experience . . . they compare themselves with American tech companies and try to replicate that growth.”

Having worked in both countries, Ming possesses good insight into the differences between US and Japanese tech companies. “US tech culture is very strong,” he said, “and engineers are almost on a pedestal. For example, engineering salaries are very high. The way organizations are structured is to save engineers time and be basically as mindful of engineers as possible.

“In Japan you’re treated more equally, which is not a bad thing. It’s actually probably the normal thing, but the US is kind of special. So [in Japan] you might get pulled into more extracurricular, non-engineering type stuff.”

As Ming clarified, though, that’s not a problem at CADDi. He described a good balance between developers being able to work independently and creatively within their teams, while also coordinating toward a common goal.

Ming himself, for example, is currently developing a microservice on his own, with the supervision of his tech lead. In the process of creating his MVP, Ming decided to advocate for a different language from CADDi’s usual tech stack.

“Usually we don’t try to reinvent the wheel,” he said, “but for this new service, we decided to use a graph database for performance reasons, and that’s kind of new to the company in general. . . . We use Rust as a programming language, but Rust doesn’t have great support for a lot of libraries, especially the new graph database.

“So, for that reason, I couldn’t just default to the language that everyone else already uses, and I had to make more of a justification for it. I ended up choosing Golang.”

While Ming is currently developing a microservice on his own, he’s also responsible for documenting and sharing knowledge with his team. This ensures that he won’t be the only one capable of maintaining it in the future. This practice enables developers to change teams when desired, as Ming’s coworker did last quarter when he switched to the ML team, leaving the microservices he’d developed in the hands of Ming’s teammates. “It was a pretty smooth transition, I’d say,” explained Ming. “There wasn’t a bunch of knowledge transfer that needed to happen. It was already done.”

In general, CADDi keeps good track of the big picture: “When I propose a new service,” Ming said, “it needs to be seen by an overall architect team.”

We have a dedicated architecture team that thinks about how to refactor and how to have good microservice separation, and everything goes through their sights.

The architecture team keeps different teams’ microservices from overlapping, but the teams also work to prevent silos developing in other ways. “This is small,” said Ming, “but recently we changed how our all-hands [meetings] are done every week, and it’s more of a small share out from every team now. Before it was like a presentation [from] whoever wants to present, but now that it’s every team, I think you get more frequent updates from other teams. So you can say, ‘Oh wait, that looks useful for our team.’”

Bilingual members help translate the meeting for both English and Japanese speakers. Interestingly, Ming’s team was the first English-speaking team in the company.

It was literally just this team, like seven of us that were English speakers. But now [the team] is slowly growing, and then we’re [also] creating more English-speaking teams across the org chart.

To help teams communicate, CADDi is recruiting bilingual project managers and other leads. The CTO himself is bilingual and very friendly, according to Ming.

“He’s around the office a lot,” said Ming. “He grew up in the US and he’s Japanese-American, but he’s been in Japan for a very long time, so he’s really a native [speaker] in both languages. That makes it easier to approach him as well. He’s really jolly, always has a smile on his face, and makes a lot of jokes.”

Usually, though, Ming doesn’t feel there’s much of a language barrier between anyone. “My tech lead has been with the company for three or four years. He’s probably one of the most productive people I know. He doesn’t speak a lick of Japanese, but he is very efficient and can always get his point across in meetings, whether by putting his explanation in simpler English or having the support of a bilingual member to help translate.”

Ming himself often translates documents into Japanese with AI, or will host a meeting using simple Japanese to the best of his ability. However, employees “don’t waste too much time translating every single thing.”

In general, use what language you’re comfortable with, and then we have the personnel and tools to help.

CADDi uses AI for more than translations, but while the company encourages AI use, it leaves its actual implementation up to teams and individuals. “We had a session last week,” Ming said, “where we just shared from many teams how we’re using these AI tools in our development cycles. . . . For me personally, I use it [for specific tasks], like to write a unit test for this type of function, or help me update the README to reflect the recent changes that I just made. I haven’t figured out how to AI-engineer my whole workflow, which I know some people are doing.”

When asked why he’d recommend CADDi to other developers, Ming reiterated that the company manages to balance a friendly work environment with sky-high ambitions.

In general, CADDi is a good fit for someone who wants to tackle engineering at a global level, on a higher scale.

”[It’s good] if you want a startup, but a startup that’s not turning over their products all the time, and has an idea of the core service that they’re providing. . . . Definitely I feel we have pretty strong engineering talents, and helpful members on the team.”

Open Jobs at CADDi