Z
Z
ZARATUSTRA2011-12-21 17:53:59
IT education
ZARATUSTRA, 2011-12-21 17:53:59

What is more important for a student: Olympiads or work/own project?

Hello. Can you share your thoughts on this topic? What is better to delve into, and what are the advantages of this: programming Olympiads (given that there are inclinations towards this) or doing your own project / working / moonlighting / participating in open source? In my opinion, the number of pluses from the side of the Olympiads is much inferior to the opposite side.

Answer the question

In order to leave comments, you need to log in

13 answer(s)
A
Alexander, 2011-12-21
@Alexx_ps

No one will need your Olympiads after graduation, but it’s very useful to brag about your projects to the employer.

N
Niazza, 2011-12-21
@Niazza

Olympiads are certainly good in terms of continuing an academic career or studying abroad (if there is such a plan), but the real experience of working on a project by the time you graduate from the institute, in my opinion, will be much more useful to you. My friend in a large IT company manages a department of 40 people, and her comment is that only 30 percent of students and graduates can sit down and work immediately from the university bench - what Americans call plug & play - these are usually people who, by that time, somewhere worked. Who without experience - it is much more difficult for them to join the stream.

[
[email protected]><e, 2011-12-21
@barmaley_exe

In what is interesting.
If you work in some Research department, the Olympiads will come in handy more.

A
anmipo, 2011-12-21
@anmipo

Participation in work / side development / open source hones the experience of solving voluminous, but ordinary, predictable problems. Participation in Olympiads sharpens the experience of solving small, but “concentrated” non-trivial problems. Victory/reward is just a symbol, recognition of the level already achieved.
Decide what you want to do in 3-5-10 years. If you work in an office as a programmer, with a clear career ladder, but rather monotonous tasks, you will need more experience in participating in projects. If you are considering the option of going into science or solving non-trivial problems (a career is risky, because it may not work out) - participation (or rather victory) in Olympiads will develop the skills necessary for this.
You can draw a sports analogy: a marathon runner can get lost in the forest, and the CCM in orienteering is unlikely to master the marathon. Although, it would seem, both there and there you just need to run well ...

R
Ruslan Nigmatullin, 2011-12-21
@EuroElessar

Both this and that :)
As personal practice shows, it is possible to simultaneously engage in Olympiad programming and lead an OpenSource project, the knowledge gained in each of these industries complements each other.
So if you are only engaged in “industrial” programming, then the sense of code speed will not be honed so much (it is more difficult to find bottlenecks, the experience of participation in competitions allows you to feel and find such places even at the application design stage), the development speed will not increase as much as if would be engaged in Olympiad programming.
On the other hand, Olympiad programming does not provide knowledge and experience in developing reliable applications that will have to be maintained for a long time, and will not provide proper knowledge of frameworks and languages.

K
knekrasov, 2011-12-22
@knekrasov

Olympiads are great, of course, but in real projects, the skills of Olympiads are rarely useful (more often, on the contrary). The ability to quickly bungle a super-algorithm on your knee in fifteen minutes does not at all give an idea of ​​​​how it will work in a team and how high-quality and supported the code will turn out.
The key to professional programming is teamwork. The genius of a particular individual is not so important from the point of view of the project, no matter how sad it may seem.

M
MikeMirzayanov, 2011-12-21
@MikeMirzayanov

My detailed opinion is http://codeforces.ru/blog/entry/1851 . Yes, and it doesn’t say how much top companies love Olympiads. Yandex, Google, Facebook, etc. - they all tear off former students who have gone through a serious school of programming competitions with their hands.

N
Nicolette, 2011-12-21
@Nicolette

It depends on how pronounced the “inclinations” for the Olympiads are. If you win any tournament, then, of course, a lot of companies will tear off their hands and not look that there is no work experience. And if you get along somewhere closer to the middle, without standing out with success, then it may very well be that your project / work experience is better. It’s better, of course, “and this, and that, and you can do it without bread” :-)

C
CKOPOBAPKuH, 2011-12-22
@CKOPOBAPKuH

The Olympiad is a long-term investment, learning frameworks/working for an uncle is short-term.
I studied the whole school and the first one and a half or two courses, now I use this experience and I rate it as “extremely useful” and I regret that I quit the Olympiad early. I recommend being smart and not doing that.

P
png, 2011-12-23
@png

There are many opinions. already posted above. someone says that projects are better, someone says the olympiad.
I will express my own.
First, I am a former Olympiad. Participated in ACM. Prepared not very fanatically. There were no Olympiad preparations at my university, and therefore I studied most of it myself. We got together with the team, trained.
As a result, it was never possible to reach beyond the quarter-finals (the first stage, held in Saratov). In competitions, my team was usually somewhere in the middle. That is, no worse and no better than others. As a result, I don’t have diplomas for any places, only a certificate of participation.
What did it give me? is time wasted?
What team-type olympiads, for example, ACM gave me.
0. Classical algorithmic education.
You won’t believe it, in development it is important, very important, it so happened that you constantly have to solve difficult things.
1. Understanding the subtleties of the language and its libraries (it can be Java or C ++) - this is already important for developing high-performance applications. This is the senior developer level.
2. The ability to work with code, read your own and someone else's code, quickly look for errors in it.
3. The ability to write code with high quality, without errors, to think about all options for input and output data.
4. Ability to work in a team. The practice of joint problem solving, pair programming and other things
5. You can list different advantages for a long time ...
What do your projects (well, or work) give you:
1. dig into someone else's code (and not always of the best quality)
2. good long-term programming practice
3. experience in project development (this is also important)
4. teamwork (if you're lucky)
5. all sorts of true practices and ideologies (TDD, Domain Design, design patterns + OOP)
6. feel different technologies ( minus, almost all of them will sooner or later become obsolete, so without fanaticism, study what you really need at the moment)
7. maybe something else, you can think of it yourself ...
Conclusion, the Olympiad is a terribly useful thing. Even if you take nothing, you will gain experience that will allow you to quickly grow to a senior developer, and maybe even higher.
However, work also gives some experience.
I think it's worth doing both. But give preference to the Olympics, because. As mentioned above, this is a long-term investment.
Of course, if you decide to still win somewhere, it’s better to forget about work and get ready. In the end, this is also a very big and hard job, which will require strict discipline and great dedication.
And then the choice is yours.
PS: I live in the provinces, I develop applications whose performance is very important. I constantly need Olympic experience. So all the holivars about the fact that the employer does not need a person with such a lot of knowledge are not accepted, because. you need it, you're probably just not looking in the right place.
On the contrary, it is insanely difficult to find adequate developers here in the province.

V
Vitaly Zheltyakov, 2011-12-21
@VitaZheltyakov

See what kind of work.
If working on complex projects, then yes, working on a project is better. More experience. It doesn't matter what kind of work: official, self-employed or open source.
If small crafts are on the freelance exchange, then naturally the Olympiad is better.
This is a general view, although it should be noted that there are many other factors - personal preferences, the ability to meet the right people, perspective, etc.

K
kmike, 2011-12-22
@kmike

Either way, you can do it all. There was a lot of time at the university, as far as I remember, especially if you don’t play with toys, then there will be less time.

M
milky_cookie, 2011-12-22
@milky_cookie

You don’t need to tie it up at all, it’s interesting! You can sit on a topcoder like that (if the early morning doesn't scare you), there are virtual contests at codeforces, but I think that work comes first. And if it also helps at work, then just fine.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question