Personal

Life after programming competitions

Personal

Life after programming competitions

(Originally written in February 2012 on infoarena.ro, a Romanian community for programming competitions; translated to English in June 2023)

Well, after 3 intense years with balaur.ro and summify.com I have a moment of rest and I want to talk a little about the career options of a computer science enthusiast. Let's say I participated in competitions all through high school (and maybe even in college), maybe I even won some awards or medals... what do I do now with my life? I don't know how many had this problem, but for me, it was a big question mark after finishing high school and it took me a long time to find some satisfying answers. So, I made this (short) guide based on my experiences, maybe it's helpful.

Obviously, everything written here are my personal opinions, they're not absolute truths, probably many ideas are even wrong - it's not a “how-to” guide, just food for thought. So, let's start...

  1. Academia

What's it about?

I believe the academic environment is particularly suitable for those who liked the theoretical part of “computer science”, to read papers, to think all day about problems and ideas, but didn't really like to implement them in code.

Basically, after a lot of school (PhD), you can become a researcher in a university (in which case you have to be a professor and spend time with students of all kinds) or in a research lab (where you don't have to teach).

If you're a “world-class” researcher in a more popular field, you can have a very good life (high salary, travel around the world at conferences), on the other hand, if you're “average” it can be quite frustrating after all the years spent in school. Besides that, I understand that the academic environment is quite political, it matters to know the right professors, you have to wait for positions to open up to advance, etc.

I believe this choice should only be made if you're 100% convinced that this is your passion because it's a very long journey, quite hard (you make very little money, including during your PhD) and risky. If you're convinced, good for you, the idea itself is very noble and you'll be able to say that you've pushed humanity and science forward in a certain field.

How do I get there?

The first step is to leave the country as soon as possible for a school abroad (I would recommend the US). You have to do undergraduate, master's, and PhD and if you can do as many of these abroad, it's better. In addition, it helps to have a few papers (research work) in undergraduate for admission to master's and PhD.

  1. The technology industry

What's it about?

As a good "software engineer," you're in an extraordinary position at the moment. Look at what Joel Spolsky says:

"education system is massively failing us: it’s not producing even remotely enough programmers to meet the hiring needs of the technology industry. Not even remotely enough. Starting salaries for smart programmers from top schools are flirting with the $100,000 mark. Supply isn’t even close to meeting demand.”

He talks about the US system, but it applies all over the world. There are not enough good programmers in the world for the tech companies to hire. A passing trend? All signs indicate that we are only at the beginning of the digital/technological revolution, a historic moment in time, at least as important as the industrial revolution.

If you enjoyed writing code, implementing problems, making applications (web, mobile, etc.), and you are the type who "Gets Things Done", then a career in the industry is much more suitable for you. If you're good (e.g., you've won prizes at contests, Olympiads - not mandatory though), you'll be very sought after and treated like a king: good salary (starts from $80,000-$120,000), many benefits (free food, health insurance, vacation, courses, etc.), and "stock" (company shares).

If you're lucky, you might hit the "stock lottery", in which case you can make millions of dollars from "stock" if 1) you stay 4 years (to receive all the stock), 2) the value of the stock increases a lot since you got hired, and 3) the company goes public. There are a few examples of Romanians from programming competitions who have hit this (Cristi Francu and Catalin Francu - Google in 2002; Florin Ratiu - Facebook in 2007; Liviu Ciortea - Facebook in 2008).

Even if you don't hit the lottery, you will still learn a lot. In companies with a large impact, there are very interesting (and difficult) problems because they have a lot of data and use "state of the art" technologies (MapReduce, BigTable, Hadoop, etc.). Maybe you were a "superstar" in high school or college, but in such an environment, you will always have someone to learn from, especially in the first few months. It's said that "great people go to Google to be average" :)

Personally, I recommend a smaller company, but with very large challenges! Thus, you can learn from others better than you, but also have a significant contribution to the company. For example, Dropbox has only 200+ employees, Twitter 750+ employees, Facebook over 3K+, Google over 32K+, and Microsoft has 90K+.

How do I get there?

Luckily, you don't need too much education and it doesn't have to be completed abroad. It's a rather "meritocratic" industry, it doesn't matter what race you are, where you come from, who your parents are, how much money you have, etc., all that matters is that you do the job. You can get a very good offer even if you only went to college (without a master's or PhD) in Romania. The most important thing is to prepare well for interviews (algorithms, coding, systems), a topic that has already been written about on the Internet.

Not convinced? During college, you can do an internship (one or more) at a ton of companies (Twitter, Facebook, Google, Microsoft, Adobe, Amazon, BitDefender in Romania) and you can see what the work environment is like. You are well paid as an intern, and you even have higher chances at a full-time position because people have seen what it's like to work with you for 3 months (better than they could realize after 5-6 interviews of 45 minutes each).

If you're convinced, the next step is almost uniquely determined: it's not worth staying in Romania. If you prefer the lifestyle (parties, vacations, less work), then choose Europe, New York, or Seattle. If you want to push the limits of technology, to be where the future of technology is invented every day, to change the world, then you need to be in Silicon Valley. A small piece of advice: if you choose the US, do everything possible to get your green card (it takes 3-5 years), so you can get hired wherever you want later.

Of course, I must mention that Twitter (the company that bought Summify) is hiring a lot, contact me (mircea.pasoi [at] gmail.com) if you are interested :)

  1. Startups

What's it about?

The startup is the third option that I didn't know existed until I read Paul Graham's essays and for which I couldn't find any examples in the Romanian Olympiad environment... There are successful startups in Romania, but I don't know of any that have started from this milieu.

Personally, I believe that having your own startup is a totally different challenge compared to options #1 or #2. Many people think it's about money, but you are much more likely to make money in the industry as an employee. It's about freedom and changing the world for the better:

“We’re here to put a dent in the universe. Otherwise why else even be here?” - Steve Jobs

It sounds good, but it's easier said than done. It is by far the hardest thing I have ever done in my life. Winning a medal at the IOI? A breeze compared to having your own company:

“People say you need a lot of passion for what you’re doing, and it’s totally true, and the reason is .. is, because it’s so hard, that if you don’t, that any rational person would give up. It’s so hard to be successful, and it needs to be sustained over such a long period, that if you don’t love it – you’re going to give up. Any sane person would.” - Steve Jobs

It's hard because everything moves very fast, there's continuous chaos, you have to work almost non-stop, and the emotional fluctuations are like a "roller-coaster" - one day you think you are "the next Google", the next day you feel like you're going bankrupt. In a very short period, you need to learn a lot, evolve personally and professionally, and push your limits as you've never done before - your company's survival depends on you!

At the same time, it was also the most satisfying experience of my life so far:

“They may be very good engineers, or sales people, or marketing, or execs. But they ain’t entrepreneurs. They’re just resume gardening and they’re really no different from everyone else. I don’t care if you’re a billionaire. If you haven’t started a company, really gambled your resume and your money and maybe even your marriage to just go crazy and try something on your own, you’re no pirate and you aren’t in the club. That thrill of your first hire, when you’ve convinced some other crazy soul to join you in your almost certainly doomed project. The high from raising venture capital and starting to see your name mentioned in the press. The excitement of launch and…gulp…customers! and the feeling of truly learning something useful, you’re just not sure what it is, when the company almost inevitably crashes and burns.” - Michael Arrington

How do I get there?

Didn't I scare you enough? Very well, because as I was saying in part #2, we are in a unique moment in history, the beginning of the technological industry, and any field that has not yet been revolutionized by technology will be in the coming years. There are opportunities everywhere, it's our generation's chance!

A lesson you learn quickly is that the idea doesn't matter, it's all about execution. To execute as best as possible, you need to be in an environment with people who have much more experience than you. A good environment is critical for a startup - a mediocre entrepreneur in a good environment will get better results than a much more capable one, but who stays in Romania.

When it comes to startups, the best environment is by far Silicon Valley (or as close to it as possible). However, as a Romanian, you start with a big handicap (besides the cultural barrier): you can't work in the US at your company and you have to work even harder to find solutions for the visa.

If you really want to do this, I offer 2 plans:

Plan A (rational)

  • Get a job at a company in Silicon Valley (see option #2) as soon as possible, don't get a master's or PhD

  • Stay 3-4 years and get your green card, also save some money

  • Only then, with a green card and some money, can you start a startup

  • Ideally, get into the best incubator in Silicon Valley

Plan B (crazy)

  • Find an incubator now that accepts people from all over the world (including Romania)

  • Move completely from Romania to the country where the incubator is and leave everything behind

  • Hope that everything will work out, somehow (entrepreneurs are always optimistic!)

  • Find creative solutions to work there and avoid being kicked out of the country

After the incubator, the adventure just begins, but I'll leave that story for another time. Although we went with plan B, I can't recommend this to everyone, because it was extremely risky and we were very lucky that we succeeded in the end :)

(Originally written in February 2012 on infoarena.ro, a Romanian community for programming competitions; translated to English in June 2023)

Well, after 3 intense years with balaur.ro and summify.com I have a moment of rest and I want to talk a little about the career options of a computer science enthusiast. Let's say I participated in competitions all through high school (and maybe even in college), maybe I even won some awards or medals... what do I do now with my life? I don't know how many had this problem, but for me, it was a big question mark after finishing high school and it took me a long time to find some satisfying answers. So, I made this (short) guide based on my experiences, maybe it's helpful.

Obviously, everything written here are my personal opinions, they're not absolute truths, probably many ideas are even wrong - it's not a “how-to” guide, just food for thought. So, let's start...

  1. Academia

What's it about?

I believe the academic environment is particularly suitable for those who liked the theoretical part of “computer science”, to read papers, to think all day about problems and ideas, but didn't really like to implement them in code.

Basically, after a lot of school (PhD), you can become a researcher in a university (in which case you have to be a professor and spend time with students of all kinds) or in a research lab (where you don't have to teach).

If you're a “world-class” researcher in a more popular field, you can have a very good life (high salary, travel around the world at conferences), on the other hand, if you're “average” it can be quite frustrating after all the years spent in school. Besides that, I understand that the academic environment is quite political, it matters to know the right professors, you have to wait for positions to open up to advance, etc.

I believe this choice should only be made if you're 100% convinced that this is your passion because it's a very long journey, quite hard (you make very little money, including during your PhD) and risky. If you're convinced, good for you, the idea itself is very noble and you'll be able to say that you've pushed humanity and science forward in a certain field.

How do I get there?

The first step is to leave the country as soon as possible for a school abroad (I would recommend the US). You have to do undergraduate, master's, and PhD and if you can do as many of these abroad, it's better. In addition, it helps to have a few papers (research work) in undergraduate for admission to master's and PhD.

  1. The technology industry

What's it about?

As a good "software engineer," you're in an extraordinary position at the moment. Look at what Joel Spolsky says:

"education system is massively failing us: it’s not producing even remotely enough programmers to meet the hiring needs of the technology industry. Not even remotely enough. Starting salaries for smart programmers from top schools are flirting with the $100,000 mark. Supply isn’t even close to meeting demand.”

He talks about the US system, but it applies all over the world. There are not enough good programmers in the world for the tech companies to hire. A passing trend? All signs indicate that we are only at the beginning of the digital/technological revolution, a historic moment in time, at least as important as the industrial revolution.

If you enjoyed writing code, implementing problems, making applications (web, mobile, etc.), and you are the type who "Gets Things Done", then a career in the industry is much more suitable for you. If you're good (e.g., you've won prizes at contests, Olympiads - not mandatory though), you'll be very sought after and treated like a king: good salary (starts from $80,000-$120,000), many benefits (free food, health insurance, vacation, courses, etc.), and "stock" (company shares).

If you're lucky, you might hit the "stock lottery", in which case you can make millions of dollars from "stock" if 1) you stay 4 years (to receive all the stock), 2) the value of the stock increases a lot since you got hired, and 3) the company goes public. There are a few examples of Romanians from programming competitions who have hit this (Cristi Francu and Catalin Francu - Google in 2002; Florin Ratiu - Facebook in 2007; Liviu Ciortea - Facebook in 2008).

Even if you don't hit the lottery, you will still learn a lot. In companies with a large impact, there are very interesting (and difficult) problems because they have a lot of data and use "state of the art" technologies (MapReduce, BigTable, Hadoop, etc.). Maybe you were a "superstar" in high school or college, but in such an environment, you will always have someone to learn from, especially in the first few months. It's said that "great people go to Google to be average" :)

Personally, I recommend a smaller company, but with very large challenges! Thus, you can learn from others better than you, but also have a significant contribution to the company. For example, Dropbox has only 200+ employees, Twitter 750+ employees, Facebook over 3K+, Google over 32K+, and Microsoft has 90K+.

How do I get there?

Luckily, you don't need too much education and it doesn't have to be completed abroad. It's a rather "meritocratic" industry, it doesn't matter what race you are, where you come from, who your parents are, how much money you have, etc., all that matters is that you do the job. You can get a very good offer even if you only went to college (without a master's or PhD) in Romania. The most important thing is to prepare well for interviews (algorithms, coding, systems), a topic that has already been written about on the Internet.

Not convinced? During college, you can do an internship (one or more) at a ton of companies (Twitter, Facebook, Google, Microsoft, Adobe, Amazon, BitDefender in Romania) and you can see what the work environment is like. You are well paid as an intern, and you even have higher chances at a full-time position because people have seen what it's like to work with you for 3 months (better than they could realize after 5-6 interviews of 45 minutes each).

If you're convinced, the next step is almost uniquely determined: it's not worth staying in Romania. If you prefer the lifestyle (parties, vacations, less work), then choose Europe, New York, or Seattle. If you want to push the limits of technology, to be where the future of technology is invented every day, to change the world, then you need to be in Silicon Valley. A small piece of advice: if you choose the US, do everything possible to get your green card (it takes 3-5 years), so you can get hired wherever you want later.

Of course, I must mention that Twitter (the company that bought Summify) is hiring a lot, contact me (mircea.pasoi [at] gmail.com) if you are interested :)

  1. Startups

What's it about?

The startup is the third option that I didn't know existed until I read Paul Graham's essays and for which I couldn't find any examples in the Romanian Olympiad environment... There are successful startups in Romania, but I don't know of any that have started from this milieu.

Personally, I believe that having your own startup is a totally different challenge compared to options #1 or #2. Many people think it's about money, but you are much more likely to make money in the industry as an employee. It's about freedom and changing the world for the better:

“We’re here to put a dent in the universe. Otherwise why else even be here?” - Steve Jobs

It sounds good, but it's easier said than done. It is by far the hardest thing I have ever done in my life. Winning a medal at the IOI? A breeze compared to having your own company:

“People say you need a lot of passion for what you’re doing, and it’s totally true, and the reason is .. is, because it’s so hard, that if you don’t, that any rational person would give up. It’s so hard to be successful, and it needs to be sustained over such a long period, that if you don’t love it – you’re going to give up. Any sane person would.” - Steve Jobs

It's hard because everything moves very fast, there's continuous chaos, you have to work almost non-stop, and the emotional fluctuations are like a "roller-coaster" - one day you think you are "the next Google", the next day you feel like you're going bankrupt. In a very short period, you need to learn a lot, evolve personally and professionally, and push your limits as you've never done before - your company's survival depends on you!

At the same time, it was also the most satisfying experience of my life so far:

“They may be very good engineers, or sales people, or marketing, or execs. But they ain’t entrepreneurs. They’re just resume gardening and they’re really no different from everyone else. I don’t care if you’re a billionaire. If you haven’t started a company, really gambled your resume and your money and maybe even your marriage to just go crazy and try something on your own, you’re no pirate and you aren’t in the club. That thrill of your first hire, when you’ve convinced some other crazy soul to join you in your almost certainly doomed project. The high from raising venture capital and starting to see your name mentioned in the press. The excitement of launch and…gulp…customers! and the feeling of truly learning something useful, you’re just not sure what it is, when the company almost inevitably crashes and burns.” - Michael Arrington

How do I get there?

Didn't I scare you enough? Very well, because as I was saying in part #2, we are in a unique moment in history, the beginning of the technological industry, and any field that has not yet been revolutionized by technology will be in the coming years. There are opportunities everywhere, it's our generation's chance!

A lesson you learn quickly is that the idea doesn't matter, it's all about execution. To execute as best as possible, you need to be in an environment with people who have much more experience than you. A good environment is critical for a startup - a mediocre entrepreneur in a good environment will get better results than a much more capable one, but who stays in Romania.

When it comes to startups, the best environment is by far Silicon Valley (or as close to it as possible). However, as a Romanian, you start with a big handicap (besides the cultural barrier): you can't work in the US at your company and you have to work even harder to find solutions for the visa.

If you really want to do this, I offer 2 plans:

Plan A (rational)

  • Get a job at a company in Silicon Valley (see option #2) as soon as possible, don't get a master's or PhD

  • Stay 3-4 years and get your green card, also save some money

  • Only then, with a green card and some money, can you start a startup

  • Ideally, get into the best incubator in Silicon Valley

Plan B (crazy)

  • Find an incubator now that accepts people from all over the world (including Romania)

  • Move completely from Romania to the country where the incubator is and leave everything behind

  • Hope that everything will work out, somehow (entrepreneurs are always optimistic!)

  • Find creative solutions to work there and avoid being kicked out of the country

After the incubator, the adventure just begins, but I'll leave that story for another time. Although we went with plan B, I can't recommend this to everyone, because it was extremely risky and we were very lucky that we succeeded in the end :)

© 2023 Mircea Pasoi

© 2023 Mircea Pasoi