Since I hadn’t previously worked in software engineering, I wasn’t sure what to expect when I accepted an internship on C3.ai’s platform engineering team. But almost immediately after I started, whatever expectations I’d had were blown away. What transpired over the next 11 weeks was a foundational professional experience. I learned a variety of technical skills and soft skills and discovered some of the characteristics needed to succeed in a workplace.

Here are a few of the highlights from my intern experience and the lessons I learned from them:

“Learning how and when to ask for help was one of the most valuable lessons of the internship.”

High-Impact Work

I may have been an intern, but I was treated like a full-time engineer. I was taught how to use industry-standard tools like Git, Jenkins, and Jira to begin working on tickets. My project was to create a new feature for the platform to summarize raw data files using probabilistic data structures. The use of these structures combined with distributed computed techniques would enable the feature to scale so that it could be effective for very large datasets (and actually be useful for users of the C3.ai platform). I had experience as a student instructor for a probability course, so it seemed as if the project was made just for me. This feature dealt with raw data, so it had the potential to be one of the first tools someone using the platform would interact with. Having such a meaningful and stimulating project motivated me to work hard, and at the end of the internship I was able to demo a prototype at a company-wide showcase. It was a great learning experience to build a new feature from nothing and integrate it into the larger codebase.

My project was in high demand even before its completion. On the company’s online Q&A forum, platform users were asking about a feature for data summarization without knowing that I had been working on it all summer. They were happy to hear the feature was already coming down the pipeline, and I was pleased to hear there are plans to continue improving upon the foundational feature I created. (I had meetings with the data science team to discuss specifications for a data summarization feature, ensuring my current work had a design that could be extended at the end of my summer at C3.ai.) Needless to say, it was fulfilling to make such an immediate impact as an intern. Of course, it wouldn’t have been possible without the team around me.

Mentorship from Exceptional Individuals

There were times this summer where I didn’t think I’d be able to complete the project, especially since it was my first experience in software engineering. It certainly wouldn’t have been possible if not for the amazing mentors on my team. At first, I didn’t want to ask for help because everyone looked so busy. I soon came to realize, however, that the team around me had immense experience and was happy to share. Learning how and when to ask for help was one of the most valuable lessons of the internship. I had so many layers of support, and using them was so easy. It was truly an open work environment.

For example, I had a mentor who guided me on the day-to-day aspects of my project, and he was always available to teach me the basics of developing at C3.ai, discuss probabilistic data structures, and help debug my code. His PhD-level math background and coding experience made him an ideal mentor for my project. If he wasn’t able to help me directly, other experienced members of the team were always around to help. And in the rare cases in which even they couldn’t help, my manager sat directly behind me and was always happy to provide assistance. I was particularly impressed with my manager’s eagerness to be involved in my project despite all of his other responsibilities. The team really made it possible for me to excel at my project and learn many valuable lessons. (As I spent more time at corporate headquarters, I realized this type of environment wasn’t unique to my team.)

Collaborative Company Environment

The environment at C3.ai exemplifies startup culture. It is fast paced, highly interactive, and everyone is enthusiastic about working there. The physical space is open and fosters a collaborative workspace. Everyone is accessible—not just for work help, but also to catch in the breakroom for career advice on the company’s master’s degree program or just a casual conversation. I even would run into numerous coworkers at the on-campus gym. This accessibility runs to the highest levels of the company. Tom Siebel, the CEO, hosted all the interns for lunch and allowed us to ask him questions on anything, sharing his insights on C3.ai’s future plans, culture, his past experiences, and even the “tech bubble.” I was amazed at his candidness and availability to me as an intern.

The positive environment extends beyond work. There were a few summer activities that allowed for relationships to form outside of the traditional workplace. It was a lot of fun to join the company soccer team to play once a week during lunch against the other offices in the complex. The interns also volunteered at a local foodbank for an afternoon and went sailing for another. There was also a weekly happy hour for all employees to relax and chat after an intense week of work.

Looking back, I started my internship with a limited understanding of the nature of working in software engineering. But after just a few months at C3.ai, I’ve experienced the value of doing meaningful work with a strong team in an environment that cultivates collaboration. As a result, I have a new appreciation for the role of a software engineer. And I have immense respect for C3.ai’s company culture and leadership and feel honored to have been part of its continued growth.

Dominic Croce was a 2019 summer intern, working as part of the C3.ai platform engineering team. He is finishing his bachelor’s degree in EECS and mechanical engineering at the University of California, Berkeley. He is a competitive chess player and enjoys swimming and basketball.