Life lessons from my sophomore year doing a Computer Science degree

Or what happens outside of the curriculum

This article is a collection of the thoughts and events which have shaped who I am today starting from the beginning of my sophomore year of studying Computer Science. I scrutinise those events and provide actionable & valuable lessons that can be reapplied.

Always in motion

It’s a 15 minutes long article. Here is the structure:

  1. Major events & thoughts of the last year
  2. Key takeaways
  3. Regrets and final thoughts

A little bit of context

This is probably the first time you read one of my articles. Hence, I think that you will connect the dots better from the events below if I give a little context about myself. My beginning with programming happened in high school when I got into the Competitive Programming group and I managed to win a few gold medals in the computing olympiad. This made me study Computer Science. And because I had a Competitive Programming background I got to lead the youngest team which qualified to the world finals of Google HashCode 2017.

While freshman year was mostly centred around programming competitions, it seems that this year gravitated around actively trying to answer the age-specific questions about the world, gain confidence and reduce uncertainty when making decisions.


Barcelona bootcamp

You can always be surprised

Back in October 2017, in order to prepare for programming competitions, three of us participated in a Bootcamp in Barcelona to prepare for ACM ICPC. It was the first time I’ve been to Barcelona and the city seemed to be relaxing, futuristic and cleverly planned to support the modern lifestyle (with large streets, good transportation and a beautiful marina).

Barcelona

Let’s tell a funny story. The accommodation was such that two teams shared a room and luckily, we stayed with some very nice guys from Australia. Everything went well since the beginning, we were talking, making jokes etc.

In a morning, on our way to get breakfast, we all took the elevator alongside a stranger who was already inside the elevator. He started screaming to my roommate “Are you the one who was 1st in IOI (International Olympiad of Informatics) last year?”. My roommate replied, “Yes, I am”. I was stunned to find this out after days of living in the same room. Are you kidding me?

My point is: people can always surprise you, and you never know what lies behind a human being.

True winners seem to always be modest about their results. To be completely frank, I am not yet convinced that this is always something good. I am however certain how powerful is the impact of randomly finding of someone’s great achievements .

How to create a global event?

Another thing I found very interesting is how the whole bootcamp was organised. There is a new university in Barcelona called Harbour Space and they were the main organisers. Now, because they are so new, they do not have staff with expertise in training for competitive programming. Hence, they found an extremely smart solution, to partner with a leading Russian university, MIPT, that has great trainers.

Here is the way I see the key takeaway from this: Harbour Space wants to become a renowned University, hence they need to attract top talent. By organising a bootcamp where the best students in the world come, they will get brand awareness (see, I am writing about them!). Now, they did not have the training knowledge, but they had something equally valuable: being situated in Barcelona. Why? Because it is easy to attract people to come and train in a world-famous city that everyone wants to visit. And this bootcamp is the perfect excuse to fly around the world.

Did you ever wonder why all global events are organised in great locations? Because in order to have a truly global event you need to make people desire to come. And Barcelona is clearly one such place.

A new model for universities

This new university was doing another thing that captured my attention. It followed a very interesting concept that I have never heard of. Harbour Space is a private university with an ambition to become a leader in Technology and Entrepreneurship. Now, the question is: how can you do that if you were “born yesterday”? The simple answer is to get the best in the world to teach there.

How to attract the best teachers? Let’s make it clear that the best people are spread all over the world and they have other commitments apart from teaching (such as a job, company etc). Hence, the solution is to run every day for three weeks with only one course, for a total of 45. To me, this seems really smart. Why? Because humans are definitely poor at multitasking and get easily overwhelmed. So why not learn a course from the beginning to the end at once and the move to the next course? This way of teaching seems way ahead of the current university system where you learn four courses simultaneously and they just mix in your head so that you basically end up learning just before the exam.

Silicon Valley trip

I have been wishing for a very long time to visit San Francisco because of all the hype and stories of the tech companies founded in the area. One day, at the beginning of 2018, I was talking to one of my friends, Tomasz, and he told me that new flights were introduced for the London — San Francisco route. And guess what? I found some dirt cheap tickets, called one friend, Oscar, and booked the flights together.

I don’t know how it happened, but all the stars were aligned in that week. A few days away from departing to SF, I found out that the Startup Grind Global conference was taking place in the exact same period. Even better, they had special pricing for students. Hence, we decided to dip our toes in the atmosphere of Silicon Valley.

I have to say that the conference was excellently organised and it had amazing speakers (Andrew Ng, Reid Hoffman, Booking.com CEO etc). To me, the speakers are there to decide the public, because usually people that like the same speakers have things in common.

There was a speaker Kamran and in that period I was listening to GaryVee who is actively promoting to work for free for people from which you can learn. Hence, I decided to ask Kamran if I can work for him for free over the summer. He didn’t need me, but I would have regretted not asking him.

Afterwards, I randomly heard people talking in my language. So I made a joke and it turned out that we started to discuss and become friends. The husband of one of them and gave us a tour of the Twitter SF office; the boyfriend of another person from the group founded the programming website that I was training for the olympiads. Totally random!

Internship hunting

This year I applied to summer internships with the aim to work at a company where I will be able to learn. If you are a student wondering how to pass a coding interview, there is no other secret than to practice 200 interview problems and you are good to go.

I applied to just a few companies where I really wanted to work and ended up getting offers at Google, Amazon, Bloomberg and Quantcast. I chose to be a Software Engineer Intern at Quantcast in San Francisco and it is an amazing experience (about which I will write a more detailed article later on!) . But to give a preview now, Quantcast is an AI-driven company for the advertising industry. For an intern, the good thing is that the company is no longer a startup and also is still not a gigantic corporation of tens of thousands of people. Hence, it gives a great mix of both.

The office I interned is the headquarter in San Francisco and there are a few hundred people working there. Because of this I would argue that learning is faster when you get to work on something that the company will actually use. They spent a ton of time finding interesting projects to work on and organised deep technical talks which are worth listening to.

GaryVee sneaker event in London

I am very interested in understanding human behaviour and this is probably visible in my vlogs. This makes me read and listen to people that speak true facts and the one I resonate most with is Gary Vaynerchuk. A funny coincidence was that he was launching his own pair of sneakers and made an event in London. Because the number of sneakers was limited, I had to queue at 7am in the morning to participate in a raffle. Later that day he came for the event and it’s hilarious that he made a piece of content with me that was seen over a million times on his social media.

Starting my vlog — Decode Your 20s

One thing that I pondered for months was starting a vlog. I acknowledge that I am now in a transit period when I am actively asking myself questions and trying to find answers. Now, the motivation behind the vlog is to force myself to find answers and communicate them in a clear manner to other people of my age in the hope that they will be able to see my view and help them develop their own view. I do the vlog because I like to, not because I have to.

I talk about diverse themes, such as “Developing pattern recognition”, “How to take fast decisions?”, and “Software engineering is the search for abstraction”. Many people asked me if I want to become an influencer and the answer is no. Hence I am not actively devoting time to promote the vlog.

At the beginning of the vlog, I was shooting the videos in my room, and the background was not interactive. Hence, I wanted to make them more interesting and I found a freelancer to edit the videos for me and then I uploaded them. As a side note, I observed what a good motivator is to praise her work in order to satisfy her internal ego. It is without any doubt more powerful than paying a few more dollars.

Volunteering Qcon

I wanted to find out more how software is built. Hence, I searched on google “top software development conferences”. The third spot was Qcon London which was taking place in the coming weeks in London. Hence, I registered as a volunteer and gained access to the conference in exchange for working to count feedback votes and move some chairs. It’s a very good deal.

At the conference, there were almost exclusively software engineers and engineering managers that were interested to be up-to-date with the latest technologies and find out how they can improve their workflows. If you are technical and want to know the subjects, there was a lot of buzz around microservices, containers and how to build scalable systems. The most interesting talks were centred around real-world scenarios and relating the mistakes they made when splitting a monolith system into microservices.

An interesting trend was to see that most engineers were using Java and they were strong advocates of it. I do not understand why people are so heavily defending the things they are used to (Java in this case), even if your opinion as a person has exactly zero impact in the evolution of the language. Moreover, advocating a specific technology makes you biased about it. I’m still trying to understand this phenomenon, and I believe that it is strongly related to going into defence mode — when you get into a good place and you want the world to stop changing because you are an expert in a specific technology.

News alert, the world does not stop advancing even if you like it or not.

Academic year & exams

This year exam topics were more interesting because the courses touched deeper and more abstract topics. Likewise, this meant that exams were harder. This is how I prepared:

In the last year, I didn’t go to many classes because I found it to be more useful to learn from home where I could concentrate more. At the beginning of the year, I was not able to concentrate and always felt like I did not have enough time . This happened because I did not make daily plans and I was choosing which thing to do next from a pool of many things. Now, I found that the solution to that is to create a to-do list and sort them in descending order of importance, then start working on the most important thing.

At the beginning of the year, I tried to keep the to-do list in mind (not written) and it didn’t work well. This is because there are always other things that you remember about, then you start doing them and then you realize that you started two things and didn’t finish either of them.


What changed this year

1.This year I made vast improvements in taking decisions faster. Also, I started to put more value on time and I am actively trying to “buy time” whenever I can. Is the train faster? Can I order it online? What should I read today in the tube? Everything to squeeze in some minutes.

2. I also deal better with anxiety because the answer to “What is going to happen if this fails?” is “Nothing. You are not going to die, so there is nothing that happens”. What can happen? Did you miss a deadline? So what?

The Earth is not going to stop spinning if you fail.

3. Of course, this doesn’t mean that you actively seek to fail, but as long as you try to do your best, everything will be fine. Weirdly, I even started to like situations under controlled stress.

My big revelation this year is that I decided to fully play on truth and good intentions. Why? Truth it gives you leverage when you don’t have to hide anything and you know that you have good intentions.

4. Also, I found out that truly great public speakers have powerful speeches because they believe that what they are saying is true. Similarly, I found out that the secret of selling is to believe in your product. This gives you the leverage to speak from your heart. Try it.

Blurriness is what makes people lazy!

5. A very important thing I understood is that our brain is not good at dealing with uncertainty. Blurriness and fuzziness are making us stop thinking and we end up postponing things. The most appropriate example, in this case, is writing. People do not write articles or essays because they don’t fully know what they want to write. And that’s the reason you end up writing that homework on the last day before the deadline. Hence, here is the solution: before starting doing anything, make a plan of the steps you have to do. The most important thing is to write the steps you consider that you need to take, even if they are right or wrong. The whole point is to make a plan, any plan. A good example is this article; I knew that I wanted to write about the main events of my sophomore year, then write about the key takeaways and lastly a conclusion.

6. I started to spot patterns in human behaviour. The more experiences you have gathered, the less likely is to see something completely different than what you have already encountered. Hence, I encourage you to put yourself in as many situations as possible because this is going to eliminate the fear of the unknown and give you the courage to deal with the situation.

7. A very interesting thing happens when you get away from your family: you start valuing more the quality time spent with them compared to when you were seeing them every day. Hence, I took the initiative and organised a family reunion in Milan to spend one weekend together.

8.University became more interesting and also harder. I had an inner desire to learn more maths because I view it as a way to improve thinking. Hence, I chose to do a course in maths. And it was harder than any other course because it contained five different maths topics. In order to finish the exam on time, you needed to have four hands instead of two to write everything. But it was very interesting and I would choose it again.


Failures & Regrets

I miserably failed at publishing an online video course about the programming interview. Last summer I started to create an online video course for preparing for the technical interview, while I applied for internships. To my shame, I recorded around 25% of the lessons and then I abandoned because the university started. This is a poor excuse. The real reason is that creating video content takes big blocks of time and I was not able to put them on my calendar. And as I write this, I still don’t know if I should treat the course as a priority or not.


Key takeaways

1. Acknowledge that 99% of things don’t matter

To prove this, think of the things that made you become who you are. What you will realize is that you are in this position because of a handful of things. The rest of them (99%) did not matter in the process of becoming who you are today. Hence, by acknowledging that 99% of the things do not matter you start focusing on the important things.

2. Eliminate uncertainty

This is related to the point above, our brain cannot deal with uncertainty. Blurriness is slowing us down. The best way to find clarity is to make a plan and start working. Pondering is never a good idea.


Previous year goals

Last year I put three flags in the ground and now is time to look over them:

  1. Make Intelligent Regulatory Advisory a viable product — I made steps towards this direction, but it is not completed
  2. Reach 1000$/month passive income by the end of 2017 — I reached this target but not fully passively
  3. Get an internship at Google in summer 2018 — I can tick this since I had an offer from Google

Next years goals

Now it is time to decide on three things that I want to accomplish until the next years’ article:

  1. Finish the bachelor with the best overall grade out of CS students
  2. Launch the interview programming course by 30 December (with minimum 5 hours of content)
  3. Grow the company to 5 full-time Software Engineers

I’m eager to achieve all three and I want to work hard to do so.

Found this post useful? Kindly tap the ❤ button below! :)

About The Author: Andrei Margeloiu is a passionate programmer interested in entrepreneurship, startups and understanding human behaviour. He has a weekly vlog “Decode your 20s” about life thoughts. You can connect with him on LinkedIn.