This post was written by intern Olivia Shi.
“I read somewhere that everybody on this planet is separated by only six other people. Six degrees of separation. Between us and everybody else on this planet… you have to find the right six people to make the connection. It’s not just big names. It’s anyone… How every person is a new door, opening up into other worlds. Six degrees of separation between me and everyone else on this planet. But to find the right six people.” — John Guare, Six Degrees of Separation (1990)
At the end of my first week with 4Degrees, I had a 1-on-1 conversation with Darian, the back-end engineer, and he started the conversation off by saying the best way that he’s found to introduce ourselves is to describe who you are, where you came from, and where you want to go. I probably answered those questions along the lines of, “Well my name’s Olivia, I’m a rising sophomore in college, I grew up in a small Chicago suburb, and I have no idea where I want to go in the future.” We went on to discuss each other’s lives and interests, but for some reason, that last question really stuck with me. Where did I want to be in the future?
As a kid, I wanted to be a princess, then a lead singer in a rock band, then a dancer. Somehow, somewhere along the way, I chose to give up a chance at stardom for the opportunity to sit and stare at my computer trying to figure out why my program won’t display “Hello World” correctly. The world of computer science truly struck my interest when I took my first HTML/Python class in highschool. I loved making my fake website with “Submit” buttons that did nothing and printing out smiley faces composed of asterisks and “/n”.
As I continued to take more computer science classes in high school and college, I began to make buttons that actually had actions, and create algorithms to process real data. Although I was enjoying experimenting with both sides of programming, I knew eventually in the workforce, I’d have to choose. Whether it was being a back-end engineer like Darian or a front-end engineer like Kathryne. However, I didn’t have the experience yet to make that call. I decided to take full advantage of this internship to figure out the right path for me.
I was able to explore both areas and thoroughly enjoyed being challenged with something new for every project. Some days the challenge would be trying to make text appear then disappear at the click of a button. Other days it would be furiously Googling an extremely vague error from trying to set up the mobile environment. No really, that was a very confusing and humbling learning experience; I still don’t know what the AccessibilityInfo module is and why it broke the AVD.
In all seriousness, an important part of my experience was learning new ways to approach a problem. I am definitely guilty of coming up with elaborate ideas that theoretically could work and going full speed to program the whole thing only for it to break the website because of a miscalculation at the start of the code. Sometimes this amount of chaos is beneficial, similar to Mark Zuckerburg’s “move fast and break things” ideology. However, I found that simply slowing down just a little bit and spending more time dissecting the task at hand, can lead to more efficient and effective code.
One of the first pieces of advice I received from this internship was to take things piece by piece. When trying to display a sum, first make sure you know how to make something new appear in the HTML file. Once you’ve produced a simple phrase like “Hello World” somewhere on the page, manipulate the code so that it displays how and where you want it. Then go into the Python file and compute the sum of the numbers you’re working with. Then link the two processes to create cohesive code! Looking at the project in this light made it seem a lot less daunting than I would have if I treated it as one big task.
I also learned pretty quickly that the problems you anticipated beforehand are almost never the only problems you will face. The last project that I worked on dealt with deleting a company, which seems pretty straightforward: the user clicks a button and the company gets taken out of the database. Hooray! Unfortunately, it wasn’t that simple since the information from a company is shared between deals and contacts which is basically the whole premise of the web app.
I really had to take the time to flesh out every possible scenario and choose the method that wouldn’t break any functionality. Coding isn’t as black and white as I once thought! In school, you’re given a straightforward homework assignment that at the most returns an error after compiling. In the workforce, there isn’t a safety net built-in that can predict your mistakes. You have to act as your own map when deciding the best way to implement a new feature that properly executes the task while not affecting other details.
To my surprise, this internship wasn’t just heavy-duty coding all day long every day during the week. We would have weekly “Lunch and Learns” where we would discuss a book we were reading together or listen to someone talk about what they’re currently working on. We read the book Between the World and Me by Ta-Nehisi Coates which was a letter to his son about his realities of being Black in the US. These meetings allowed us to reflect on our own actions and further educate ourselves about the systemic racism in this country which was especially valuable given the rise in awareness of racial injustice.
I also found much value in the Team Lookback meetings at the end of each week. We would express gratitude to other people on the team and share our highs, middles, and lows. It allowed consistent reflection while motivating me to continue improving not only on work but also myself. It made me more appreciative of the people I was working with because it showed me how important it was to work together as a team. Each week, everyone would pay gratitude to a different person or group of people which encouraged positive feedback as well as new friendships. It was our way of patting each other on the back for making it through the week and looking forward to the next.
At the end of this internship, I can confidently tell you that I’m still not confident in which direction I want to head in for the rest of my life, and that’s completely okay. The biggest thing that I took away from this internship wasn’t where I wanted to be in the next few years, but rather who I wanted to become. Although it might be counterproductive to reflect on my own experiences this summer by talking about everyone but myself, I’ve learned from and truly look up to each and every one of the members of 4Degrees.
To Donnie and Noemi who didn’t go to college but worked their butts off by attending bootcamps and teaching themselves how to code to end up becoming amazing programmers. I learned perseverance.
To Sarika and Jon who somehow always managed to put a smile on my face by radiating joy and positivity every meeting and saying what was on their minds. I learned confidence.
To Rod and Dylan who even though I never worked with, still managed to teach me business concepts through weekly meetings and lunch and learns. I learned communication.
To Moshe who took such an interesting path to end up at 4Degrees, proving that it’s never too late to pursue what you want. I learned flexibility.
To Darian, Kathryne, and Kayla who I worked with the most and had an infinite amount of patience with me. They made me a better software engineer by challenging me to think in new ways and always guiding me in the right direction. I learned creativity.
To Ablorde and David who work tirelessly every day for this company; their passion and dedication is practically tangible. I learned leadership
I am so grateful for the opportunity to have worked with such an amazing group of people and to say that this has been a learning experience would be an understatement. Thank you to everyone for teaching me how to be a better programmer and all-around person, and I hope in the future we’ll only be four degrees away. (-: