I still remember applying to Vena like it was yesterday, a simple task that has changed my life forever. As a first year student who has only 4 months of university under his belt, I knew my chances of finding a software developer job was slim especially with the upper years applying for the same jobs. My solution was to sort through my school's career site by least applied, and somewhere on that page was how I found Vena. As my internship comes close to an end, I feel like I won the lottery.
Vena may not have had the greatest job posting at the time I applied, but one thing is for sure, they know how to give a damn good internship experience, and through speaking with other developers on the team, it certainly doesn't go downhill from the transition to full-time either.
The Vena website is probably one of the hardest selling points to a potential future developer at Vena. Buzz words like Microsoft Excel, Financial Auditing, and Accounting are thrown at you to name a few. The website is a sales and marketing tool, certainly not the exciting buzzwords from a developer's standpoint and certainly not clear the technologies that a developer would work with. Well it is so much more than just a tool used by the business industry and the technology/code behind it is nothing short of stellar. How does building an infrastructure similar to Netflix sound before even knowing their structure? Or building a hyper-dimension cube that is extremely difficult if not impossible to imagine with the human brain?
In my own personal experience, as I frantically prepared for my interview, I tried to research their product through their website, still unsure of the technology they use. "Microsoft Excel? I should study some more of the complicated functions in Excel and maybe touch up on my VBA skills for the interview!" Oh boy did I make a mistake. My first technical question was to explain the difference between two data structures. I was totally confused, sweating, thinking to myself, "EXCEL HAS DATASTRUCTURES? WHAT?" My interviewer realized my confusion and clarified by looking at my resume, and asked me to explain the difference in C++, one of the languages I had listed. I quickly thought to myself how big of a mistake I made preparing for this interview in the wrong way.
Well, in the end, things worked out. The interviewers were quite forgiving and realize how nerves can play a significant part to interviews. I tried to learn more about the technology before my start date with no avail, and it wasn't until about a week in until I finally had a better understanding. I believe the product is best explained by George, "Vena represents the next evolution of cloud services. Where a service like Dropbox manages your files, we manage your files and all the data within them." Even without much of a financial background, I quickly grew to love the product and can definitely see how the sky is the limit in terms of growing the product. Anyways, this is a dev blog and I'm not here to sell the product; I'm here to talk about my experience.
If you haven't yet read about our culture, I recommend you do before continuing. The points brought out in that are absolutely seen on an everyday basis.
It is difficult to put in words how much I've learned and grown by the influence of the engineers here in Vena. As my team can tell you, I went from writing unit tests that were literally equivalent to
assertTrue(True) to being an integral part of building our automated deployment testing framework that integrates Github and Jenkins. In my early weeks, there were times were I felt hopeless and inexperienced and that my contributions would never amount to anything meaningful. Well I'll tell you now, that kind of thinking just doesn't fly with Vena.
Just seeing the engineers and developers here work so hard towards a common goal and still have such an enjoyable time influenced me to really take advantage of this opportunity and work harder. I read through tons of documentation and worked through and watched tons of tutorials. It came to the point that I would arrive quite early at the office and one the last ones to leave, which would then be followed by more tutorial programs at home. As my team lead would say, "Hey Roger, go home already." Well with the culture simulated at Vena, it really didn't feel like labour at all, even during the times where I was literally going through hundreds of pages of AWS documentation to learn more about their services. It was a lot of work and a heck of a ton of reading but hey, I would do it all over again in a heartbeat. All the work invested really paid off and I believe it can be shown in my work. A task that used to take me a over a week to do would now only take a couple hours for me.
As developers, it almost seems integrated to our nature to always apply band-aid type fixes to our code. I can't tell you how many cases there were where someone would propose a fix that was pretty much only beneficial to our system/product and have most of the team's support behind it. However, that's not how it works with Vena Engineers as there is always someone who looks at the bigger picture and makes the harder decision to have a more sustainable code base. You may be thinking that's the obvious thing to do, but what's not obvious is realizing the bigger problem, as sometimes the bigger problem isn't directly related. Now if that's not a good enough of an example of making hard decisions for you, here would definitely be one. There was a project that our two lead infrastructure engineers worked on for four months. It took just one weekend for one of them to say scrap the whole damn thing. It was pretty badass, in fact, it reminded me of a Steve Jobs type decision. You may be thinking how disappointed the other infrastructure engineer must have been; I mean, we were scraping 4 months of hard work from two lead engineers, not some intern's work. Wrong. It is ingrained in our culture to just move on as it is the right thing to do. It is very easy to have emotions attached to our code, but at the end of the day, you have to do what's right for the team.
A more personal example is towards the beginning of my term, it would take me over a week of just refactoring my code just to get it merged. Our code standard is high, and if your code is mediocre at best, it won't be merged. It was definitely frustrating in the beginning as I thought to myself, "my code works, theses are small changes that don't even make the code more efficient, why go through all this trouble when I can move onto the next project." Boy, am I ever grateful for this high code standard. This higher standard is now ingrained in my own personal coding . There are times now where a huge pull request of mine would get merged without any comments or required changes. It may not seem like a big deal at all, but I am amazed myself on how much I've grown.
Now all of this sounds like a whole lot of work and stress and not a lot of fun. Well, at least there's snacks and great espressos every morning right? Wrong. Sure, the snacks and coffee is great but there's a lot more fun to the Vena Experience. Besides being around other developers with ecstatic personalities and emanate positivity , there's also the weekly hack nights, the nights out at the bars, the team outings to escape rooms or tech meetups, classic video game nights, and the list goes on. In fact, most of my first legal drinks was with the team. What more can you ask for? We work hard and we play hard, like true engineers. It makes me sad just thinking about the fact that I'm leaving all this to go back to 8:30 lectures every morning. Oh god...
What I Witnessed
Four months isn't really that long when you think about it, but when I think back to what was accomplished in four months by the Vena team, it feels like I've been here for years. Our Infrastructure Engineering team is composed of 4 developers and that's only if you include me, a first year student. Managing a cloud infrastructure is hard enough for four people, but cutting our deploy time from an hour to about fifteen minutes during that time as well is incredible. You can pretty much say, mountains were moved. Not only did we improve the efficiency of our deploy, the reliability increased tenfold. Releases were a extremely stressful time, causing us to really worry about pushing changes that might cause a deploy failure. Now, with a much stronger testing framework, I can't even remember the last time a release went wrong. In fact, the atmosphere at the office has changed so much during a release that I don't even realize there's a release going on sometimes. Absolutely incredible.
Vena provides such a fast pace and dynamic environment that it really is hard to expect what is coming next. Although I've been quite disconnected from new features coming to the product as being part of the Infrastructure team, I've been able to witness some of them and they are truly incredible. Vena has still so much more to offer to the tech world and it's still just starting out. What is most exciting is that this feeling really invigorates at the office, where everyone knows this product is a big deal and is working towards making it better on a daily basis. It really is less of a job but more of a passion.
What is most exciting is that it's not just the developer environment that's rapidly improving. EVERYTHING is. Vena is quickly growing as a company that the office already is in the stage of confirming plans to change to a bigger office location. We're changing the approach to hiring and we fixed those job postings that I went through. Basically, I won't be able to experience the most exciting time for Vena yet as I have to go back to a deep dark place known as school, but you can. Take my word, you won't regret it.
I have to say the greatest thing about being an intern at Vena is that you're actually a human being. Leadership knows that they can probably get more worth out of an intern by just asking them to write tests for all their code. Well aware that interns might not return, they still care for you and want you to improve yourself and have an amazing experience. In fact, I was trusted with tasks that could potentially break the whole entire infrastructure of a cloud company. When my co-op advisor asked me over the phone what I would rate the company out of 10, there wasn't a single hesitation from my side,"10, without a doubt, 10". She talked about another nearby company that was almost always rated 10/10 by co-ops and their experiences. My only response was Vena had that and more.