For the past 8 weeks, I have been interning at Balbix. It has been a unique and educational experience. I have been reminded of how much can be learned in such a short period of time. The combination of the fast-paced environment, collaborative culture, and commitment to constantly iterate for our customers, makes working at Balbix rich with learning opportunities.
I am a rising senior at Stanford, studying Computer Science. I have learned a ton from my 3 years in college both inside and outside of the classroom. But there is a whole lot I have learned at Balbix that I could have never learned in school.
The Technicalities of Coding in the Real World
I have gone through dozens of Computer Science courses and have completed countless programming assignments. Despite that, I never knew how real coders coded. Interning at Balbix, I have gotten firsthand experience with real-world software development. For example, the first task of my internship was to set up a secure development environment on my computer. I had no idea that so much has to go on behind the scenes. Just through setting up my computer, I learned about VPNs, AWS environments, and SSH tunnels. Even now, 8 weeks into my internship, I am constantly learning about the many concepts and systems that scaffold a real-world software product.
How Software Teams Collaborate
In school, the majority of my programming projects have been individual. As a result, I was under the impression that coding was a very solitary effort. However, I quickly learned at Balbix that real-world programming is quite the collaborative endeavor. All Balbix software engineers work on the same codebases. To accommodate that, we have a host of procedures we follow and tools we utilize. For example, we use a tool called GitLab to continuously integrate and deploy code. Every morning, the first thing I do is “pull” code from our GitLab repository. Every time I want to add my own code, I “push” my code to the GitLab repository. I love doing my morning code “pull” and seeing the long list of the exciting new revisions my teammates made in the last 24 hours.
How Software Teams Communicate
It has been fascinating to witness how a super-collaborative startup like Balbix has adjusted to working remotely because of the COVID pandemic. Twice a day, every week day, my team has a 30 minute standup meeting where everyone updates everyone else on what they are working on, what they need help with, and what they hope to accomplish. Our daily standups hold us accountable and keep us communicating. Outside of these formal meetings, I have been seriously impressed by how Balbix engineers utilize tools to constantly communicate and help each other out. I have learned that whenever I run into a roadblock and need guidance on how to move forward, I can Slack anyone on my team and within minutes, I will receive a thoughtful and helpful response.
Working Through Real Challenges
Programming assignments in school are incredibly straightforward. If I attend class, do my homework, go to office hours when I have questions, and generally understand the material, I can get through any assignment, no matter how challenging or complex. That is how school assignments are designed: they are designed to be feasible. Working on my software project at Balbix, I am constantly running into challenges, and more often than not, those challenges do not have clear solutions. To get my code working how it is supposed to, I must be creative, take risks, and experiment. I must be able to recognize when I alone cannot solve a problem. I must know who to reach out to for help, how to communicate my problems effectively, and what questions to ask. Because I am always encountering unfamiliar technical challenges, I have developed grit, resilience, and creativity.
How to Set and Accomplish Goals
In school, every assignment has a clear set of instructions and a deadline. But, as one can imagine, in the real-world, especially at a startup, work is much less structured. At Balbix, even as an intern, I am given a great deal of responsibility and freedom. I am responsible for managing my priorities and getting my work done. Very quickly into my internship at Balbix, I learned the importance of setting goals for myself. Every day when I begin work, I think through what I want to work on that day. I find it productive to break large tasks into smaller tasks. If a task is taking much longer than expected, I know that is a sign that I should Slack someone for advice. At the end of the day, I reflect upon what I accomplished and what I want to work on the next day. At our daily 6pm standup meeting, I share my status with the rest of the team. I also try to send a daily update to the Product Manager I work closely with. I have found that making a habit of updating others about my goals, challenges, and successes is a great way to hold myself accountable.
The World of Cybersecurity
Coming into my internship at Balbix, I was no cybersecurity expert. 8 weeks into my internship, I am still not! Cybersecurity is an exciting and complex field. People (like Gaurav, our CEO) can spend their whole careers working in cybersecurity and never run out of things to learn. In my internship at Balbix, there has been no shortage of learning about the world of cybersecurity. Though I am working on an engineering project, I have had many great conversations with people in Sales, Marketing, Customer Satisfaction, and Business Development. I have had the opportunity to sit in on sales calls and executive staff meetings. I have loved learning from the many people that have made Balbix the company that it is. Working alongside people with such expertise in cybersecurity, I have soaked up a great deal of knowledge and insight.
Interning at Balbix has been an incredibly enriching experience. The work is challenging, the industry is fascinating, the culture is inspiring, and the team is brilliant. I have learned so much through this internship, in both technical and non-technical realms, that I have never had the opportunity to learn in school. I will leave this internship with new skills, knowledge, and confidence. Moreover, I will leave this internship with the wisdom of knowing how much there is to be learned outside of the classroom and how valuable interning at a startup like Balbix can be.