My Short but Sweet Summer Internship

My Short but Sweet Summer Internship

I’m coming up on the end of my summer internship at CBRE Build, and I couldn’t be more grateful for the experience. I’ve learned so much in my short 10-weeks here: about software engineering, about product development and about the importance of an awesome office culture.

The Culture

When I first joined CBRE Build, they had recently undergone an entire company rebranding and office relocation. The once-upon-a-time startup Floored was acquired by CBRE, a huge real estate firm, but both parties wanted to keep the unique tech-savvy office culture. The new brand included a font, little builder icons, art decorations, and a new company website (that I would later help create!). The entire office exhibited this rebranding, including glass conference room walls with stylish designs and TVs with animations of the cute builder icons as well as visualizations of the team’s product, creating a unique and exciting office atmosphere. I interviewed at the company’s old office, so I was able to appreciate what an amazing office space they had created for themselves in the short time between my interview and the start of my internship. Maybe they did it just for me!

But what surprised me the most wasn’t the atmosphere created by the office rebranding and decorations, but the office culture that perpetuated the space. My coworkers and team were extremely helpful throughout my internship experience, ensuring any and all questions of mine relating to engineering or the company in general were answered. My designated buddy (Lars!) always made sure I had something I could be working on and that this work is meaningful, but also that I generally was enjoying myself. My manager Judy scheduled time every two weeks to chat with me about anything and everything, including professional goals, software engineering, and life in general.

My first week at the office, I had scheduled lunch dates every single day, showcasing the friendly atmosphere of the office. There is an entire café space where you will find people eating their lunches and enjoying conversations about the widest range of topics. Ever since that first week, I have yet to eat lunch alone. This could be easily overlooked, but thinking back on my previous internships and speaking with friends who are working at different companies this summer, lunch with others is not a guaranteed commodity. Whether I board a lunch train to a fun lunch take-out location, or eat something in the office, I know I’ll always have someone to keep me company. This cozy culture is also captured during the twice a week catered lunches as well as our All-Hands meeting every Friday, where people share exciting company updates by means of funny powerpoint presentations. It is further encapsulated by the extensive use of Slack, where you will find channels for engineering and the different product teams, but also a #food-nyc channel, a #puppy channel (cute pictures of puppies), and a #no-context channel (funny slack comments from other channels with no context). There is truly a slack channel for any and all topics. I feel lucky to be a part of this welcoming environment, if only for a short while.

During my first couple weeks here, I was able to sit in on meetings that introduced me to the many different products being developed at CBRE Build. It was fascinating for me to hear both about their more senior projects such as Plans and Build 3D, as well as their newer projects like Calc, Spacer, and DataVis. I learned quite a bit about real estate, an industry that I knew very little about before, and the many ways that this office is facilitating technology infiltration into this sector. Also, though I am technically an engineering intern, I got to meet with the design team and the sales team to hear more about what they do, giving me a more robust understanding of how the team as a whole operates.

The Technical

Now onto the more nitty-gritty of my internship experience. As a software engineering intern at CBRE Build, I’ve been fortunate to directly contribute to one of their newer products, DataVis, a web based data visualization application for brokers which highlights market statistics. When I first began, I explored displaying public transit data on a map relating to different markets, something the DataVis team may add as a feature in the future. Then as opposed to delving further into this feature without a clear vision of how clients would want this to be implemented, I began working on smaller but more pressing features and exploring the existing code.

I was also lucky to be working on DataVis during its launch, giving me a whole new perspective on creating a product due to the client feedback we received. Although when I started the product was already in an impressive state thanks to our awesome engineers, I was able to participate in the last couple of features before launch. At first, I was nervous about how much I would really be able to contribute given my lack of experience with their frameworks. The product is written using primarily Javascript and React, two technologies I have never used or learned about in school. I also had minimal experience using github, but I learned quickly that the way I had been using it was very very bad (having an entire team pushing code solely to master, what is a branch?).

With the help of my teammates, I started getting the hang of things and started being able to contribute meaningfully to the product. The team utilizes a ticketing application called Clubhouse where ideas are moved through a pipeline starting off as an early stage idea, to being designed, to ready for engineering, where me and my fellow engineers could pick up what our next task should be.

One of my most exciting contributions was implementing a feature that pilot users really wanted after using the first version of the product (customizing the submarkets after creating a presentation, and the ability to select or deselect all submarkets). This feature took me a couple of weeks and a lot of trial and error. There were multiple occasions when I thought I had finally implemented it correctly, but due to the thorough code review process that the engineering team engages in, my coworkers found bugs. When I fixed these initial bugs, they found some more. At one point I had to completely alter my approach to the feature. This is the reality of working as a software engineer, but it is also comforting that my code won’t be fully deployed until all engineers on the team have reviewed the code and tested it. Once it was finally ready and deployed, I also had the satisfaction of hearing real positive feedback from users of the product after the feature had been implemented.

Additionally, after completing this difficult feature, I found myself being able to contribute to the product with much more ease and had a larger understanding of how the code base works. Instead of waiting to be assigned a ticket from Clubhouse, I could go in myself and find one that looks challenging but also doable. I also engaged in the code review process for my coworkers and tried to understand their approaches to solving the different problems, and did my own testing of the code. Once in a while, I would find a bug in the web application and logged it in Clubhouse, and maybe even fix it myself!

I’m truly amazed at how much I have learned in my short time here. My interest in product development has grown, and I’m excited to see how I can use my newly acquired skills in the years to come. I’m extremely grateful to everyone in this office for making my experience here so great -- I will miss you guys!