We are joined here today for a Q&A with Rick Takes, KitBash3D's New Head of Engineering. Rick is an engineer with over 17 years of experience and began his journey in the most unexpected way—through film school. His passion for solving engineering challenges led him to a diverse career, from large teams to small startups, and now to KitBash3D, where he plays a crucial role in shaping the virtual frontier. In his early days with the team, Rick identified key issues in Cargo's stability and reliability prompting significant improvements in the product's overall user experience. As KitBash3D moves towards supporting additional operating systems, Rick and his team are focused on enhancing Cargo’s architecture to ensure a seamless experience for all users later this year.
Question: Firstly, could you tell me how you got into engineering and what your background is?
Answer: For sure! I am Rick Takes and I have been in engineering for 17 plus years. I got into engineering by way of film school. I found myself working on various engineering projects and, though I still have a passion for film, I never looked back, I really loved engineering. I have worked on huge teams and small startups and was super excited to join the KitBash3D team to help enable and inspire the creators of the virtual frontier.
Question: We are excited to have you. Could you tell me about joining a new team like this one and prioritizing what needs to be done first and what you can work on over the long term?
Answer: When joining a new role the first thing I do is observe. You need to make sure you understand what is going on before you just start making changes. You need to be sure you have trust with the team. I had realized we had some tech debt, but the biggest issues were around product stability and reliability. It was important for me that we really nail that piece before we start adding features.
Question: Great. Could you describe the issues you diagnosed in your early days here?
Answer: I noticed that there were some gaps in our delivery schedule and additionally we were finding a lot of bugs in each major update - both pre and post release. To help solve these issues we did a number of things.
Firstly, we decided to release smaller updates more often. This allows us to deliver updates that are more reliable, while also delivering quality of life improvements for our customers.
Secondly, we needed more confidence in our releases. We have added automated testing to catch issues early while also simplifying our architecture so that Cargo could be more easily managed with a small team. A great example of this is the refactoring work we did on all of our DCC integrations. This new communication layer allows us to share more code across DCC plugins. This shared code allows us to update single sources of truth rather than pushing unique updates for each DCC. Not only does this improve our reliability, but also allows us to scale our product with a small team.
Lastly, we expanded our Team. We have doubled the size of our engineering team in the last few months. This is to improve our product, but also to create the bandwidth required to bring big new features to Cargo. This has enabled us to release the highly requested feature, Download Queue and allowed us to continue work on Mac Support.
Question: A little teaser about Mac! We can come back to that in just a second. Have we noticed any improvements based on the changes we have made?
Answer: Absolutely! Updates to stability and reliability have seen our support tickets get slashed in half. Our most recent update has improved import speeds dramatically, with the average being around 50% faster. We have also been able to clean up a lot of the quality of life issues simplifying the user experience from sign-in to import.
Question: Amazing. Going back to your previous answer. You mentioned Mac support was getting worked on, and this has been a big request from our community. Could you talk a bit about the work that has already been done and anything else you can about Mac at this point?
Answer: Of course. A few months ago we moved Mac into “In Progress” on our feedback center because we had scoped the road map to get from Windows only support to supporting both Windows and Mac. While it may seem like a simple project, there is quite a bit of complexity that comes with supporting two operating systems and we need to make sure that we could not just build Cargo for Mac, but continue to support it for our existing users as well.
Cargo is a brand new application developed by KitBash3D and some of the early decisions that were made to streamline the Windows build made supporting an additional operating system a challenge. There were some really fundamental pieces of Cargo that were not compatible with Mac. We took this challenge as an opportunity to rebuild these areas of the code. This has not only laid the groundwork for Mac, but has also improved our systems on Windows as well.
We’ve been heads down focused on: Simplifying the Cargo Architecture, Refactoring the DCC communications, and many more minor, less visible changes behind the scenes that are critical building blocks for the future of the platform. These fundamental building blocks not only support Mac but improve the user experience across bot operating systems. It is a clear choice to avoid this kind of separation moving forward.
Question: Thank you for the recap and summary. Can you share any timeline for when our audience can see the work that has been done on Mac.
Answer: We don’t have a specific release date, but we do have a functional prototype internally. If you have voted on the Mac Feedback Center Post (you can still do it now!), you will be receiving an email in the next couple days about the Mac Alpha. We are targeting an Alpha release by the end of September.
Question: Wow! Great information on Mac support. I think the community will be excited to see the progress. Anything else you would like to share?
We are always looking for great engineers! Please feel free to drop by our career page or reach out if you have a passion for what we do here at KitBash3D.