As an Aspiring Software Engineer in 2019
Want to know how to get a job at Google your first summer of University? Ever wonder what the secret is to securing high-paying, high-impact jobs while maintaining near perfect averages in school?
Unfortunately for both the reader and myself, I can’t say that I have the answers to those questions — I’m still working on it. What I can do is shed some light into field experience, give some general advice, and hopefully pass on some of my lessons learned.
My name is Colin, and I’m an aspiring Software Engineer. The summer of 2017, I held a technical internship at a Venture Capital fund in San Francisco. The following winter, I spent four months at fast-paced Augmented Reality startup located in Lower Manhattan. Most recently, I worked in San Jose at one of the fastest-growing tech companies in recent years.
I also study in Software Engineering at the University of Waterloo as a Schulich Leader, which oftentimes involves more work than when I’m employed. As much as possible, I try to reflect on and learn from my experiences in this field in order to best tailor my career.
This article is an open reflection on the past few years of this fast-paced, always-changing lifestyle. In particular, I’d like to use my experiences at various internships (and in the classroom) to convey some of my opinions as an aspiring Software Engineer in 2019.
The Culture of Chaos
What I would first like to mention is that though the last few years have my life have been full of priceless insight and experience, they have also been remarkably difficult at times.
My school program involves switching between four months of school and four months at an internship until graduation. That means no summers off, and maximum a couple weeks between school and work.
Each of my internships, or co-ops, have been held in completely different cities. This means every four months for the past two years, I’ve had to find housing in a new city. Once I move in, I only have a couple months before I need to start the housing search back in Waterloo. Moving cities every four months implies meeting new people every term, but it also implies losing touch with friends every term, accustoming to brand new cultures, and leaving your loved ones for months at a time.
If that sounds crazy, it’s because it is. If it doesn’t, then you’re crazy.
As I move further along through university, I understand more strongly the importance of a proper work-life balance. Straight out of high school, it’s hard to lose the attitude of the relentless, sleep-deprived perfectionist. As I have learned, that isn’t always the healthiest way to approach things.
That being said, let’s move forward.
Summer 2017: Khazanah
My first internship was at a company called Khazanah. My official job title was “Innovation Intern”, and I was given the task of working on a project of my choosing on the side of a sizable Venture Capital Fund in the heart of San Francisco’s financial district. Admittedly, this wasn’t the most relevant internship for a Software Engineering career, but it was great for a first job.
At a Venture Capital Fund, companies of all different sizes pitch and attempt to convince a committee into making investments in their companies. As an intern, I was able to sit through some of these meetings, whenever I wasn’t working on my project.
My main takeaway from this internship was about the process of these startups acquiring these important, potentially life-changing meetings.
There was no formal process for acquiring a chance to pitch. If a company approached us and we were interested in them, we would give them a chance. Oftentimes, just knowing someone working at Khazanah was enough to secure a meeting.
From a non-traditional angle, this was my first exposure to the tech industry.
Winter 2018: Spatial
My next internship was at a company called Spatial. Spatial is an Augmented Reality startup trying to change the way people interact with computers.
When I arrived at Spatial, there were approximately seven employees. We worked in a shared office in Lower Manhattan with a few laptops and very limited equipment and resources. One of my first thoughts after working at Spatial for a week was something along the lines of, “Wow, this just feels like I’m at a full-time hackathon in New York.”
It was truly amazing how much a small group of driven individuals was able to accomplish in four months. We were invited to attend TED2018 in Vancouver that term, and we were able to showcase our work to some of the greatest minds in the world.
At the heart of the team was the founder, Anand Agarawala. After meeting Anand, my perception of startups changed entirely.
Anand was incredible at selling his vision, expressing his passion, and convincing an audience that they were witnessing the future of Augmented Reality. Even while some of the features were largely proof of concept, Anand was able to inspire in others the idea of what could be, and convince them that he was the one who could accomplish it.
Hence, this internship taught me a great deal about what it means to lead a successful company from scratch. It’s hardly the idea that allowed our startup to be successful. I’m sure there are many others who could dream up the AR demos we pulled off. What is more important is a confident leader, and his or her ability to inspire, to present a vision, and to persist.
Fall 2018 / Summer 2019: Splunk
Splunk is a fast-growing data analytics company headquartered in the Bay Area. I was placed on the Mobile Team working on various unreleased projects. During my time at Splunk, I was able to make an impact on a brand new project, and was even brought to the company conference in DisneyWorld, Florida where we presented our efforts to thousands of customers.
One of the most interesting things I learned at Splunk was the concept of intrapreneurship. Intrapreneurship is the concept of growing a company within a company, by leveraging the large customer base, amount of resources, and capital. For example, Expedia was launched as a division of Microsoft in 1996. Eventually, after growing internally, it spun off as its own company. At Splunk, I witnessed first-hand how successful this strategy can be.
Though Splunk is a billion-dollar company, the culture of my team was more similar to that of a startup. It was as fast-paced as Spatial, but with more resources available, less pressure to hit tight deadlines, and with far more existing customers. It was a very comfortable work environment to work in, since I was given almost complete freedom over a project with plenty of support and feedback.
Four Main Takeaways
1. Software Engineering is a field for creative, artistic, and driven individuals.
Every great Software Engineer I’ve met has had some common artistic, creative motivation behind him or her. Spatial is a company aiming to achieve the supernatural, Sci-Fi vision of next-gen computing. Even at a company as seemingly black and white as Splunk is fueled by individuals using their creativity to solve problems. Wherever I look, there’s a common, inspired pursuit to achieve some artistic vision of better technology.
It’s this trait of creativity that makes Software Engineering, in my opinion, one of the most creative and engaging careers one could enter. Hardly any problems are as straightforward as solving a math equation or logic puzzle. At some point, there’s a required step of thinking outside the box, forming a vision, and being inventive.
2. Starting and growing a company from scratch is extremely hard, and requires far more than just technical ability.
At Khazanah, I was lucky enough to be able to meet many startup founders and CEOs. At Spatial, I worked directly across from the founder of the company. At Splunk, my manager had previously started a company that had been acquired by Splunk.
Working with and meeting all these people gave me a closer understanding of the role of a founder/CEO. A massive amount of work goes into presentation and being able to clearly convey your product to others. Networking, leadership, and even charisma matter much more than I had expected. Getting the product right is only part of it.
This is important for me as someone who regularly contemplates starting a company. If I am ever going to pursue that path, it’s not enough to just have a good idea, app, or product.
3. Growing your career doesn’t happen overnight — it takes blood, sweat, and tears.
I’ve worked tirelessly trying to get the best possible job placement. I’ve spent thousands of hours studying for school, practicing for job interviews, and networking. During my job placements, I’m constantly looking for ways to excel and make a name for myself.
I can confidently say the same is true for everyone I know working at Google, Facebook, Apple, or any massive tech company. In order to be a part of this field, you need to earn your spot. If you want to make leaps and grow your career, you need to constantly be looking for ways to learn, adapt, and innovate.
This can mean anything from touching up your resume, asking your manager for more work, doing side projects, or attending tech events.
At times it can be extremely frustrating, disappointing, and work-intensive, but you truly get out of it what you put into it.
4. Software Engineering is fueled by passion, and it’s essential to appreciate why you’re in it.
One of my favorite quotes has always been the last of Arthur C. Clarke’s Three Laws:
“Any sufficiently advanced technology is indistinguishable from magic.”
I couldn’t agree more, and this concept is the entire reason I choose to pursue Software Engineering. By typing a certain combination of letters, numbers and symbols on my laptop, I’m able to accomplish goals that would otherwise be impossible.
It’s important to remind yourself of this as much as possible, since it’s so easy to get caught up in job-hunting and school. There’s more than just monetary incentive behind your pursuits — there’s a genuine passion for something exciting. You’re accomplishing something incredible, and you should take pride in that.
So, what are my next steps? What should anyone’s next steps be?
If you’re looking to advance your career in tech is to look into getting an internship. Nothing beats hands-on experience, and you can gain a lot of career insight by working with current Software Engineers.
If you’re looking to start a company, I would advise you to consider if now is the right time, and if you’re ready to lead a team and present yourself and your product to others. I’ve heard repeated advice from startup founders to wait until at least a few years post-grad before attempting a startup.
For myself, I’ll keep gaining experience through internships and trying to learn from others as much as possible. If I ever strike an idea I’m so passionate about that I must initiate a company, then I’ll at least have some relevant experience to guide me along the way. If I never reach that point, then that’s okay as well.
Some Concluding Thoughts
While career is important, remember that there’s more to life than just getting the best possible job. It’s easy to get carried away, but we’re all on this earth for a limited time, and there are other important things things like health, family and friends, that need to be prioritized.
All in all, I hope this was helpful to you, and I wish you the best in your career. If you have any questions, comments, or you just want to chat, feel free to reach out to me on Facebook, or shoot an email to email@example.com.
Thanks for reading, and best of luck!