Depuis huit ans, Naumen est activement engagé dans des programmes éducatifs, en particulier, soutient des olympiades de programmation sportive. Aujourd'hui, nous allons vous dire comment le mouvement AFM a changé et pourquoi il est intéressant pour nous.
Nous notons tout de suite que nous n'écrirons pas sur la programmation sportive en tant que sport intellectuel (les compétitions peuvent être d'équipe et personnelles), nous sommes intéressés par ACM ICPC - l'olympiade d'étudiants de l'équipe internationale en programmation sportive. Souvent, ces concepts sont confus même par les participants aux olympiades.
Un peu sur l'AFM
Comme l'ont dit les organisateurs de ces olympiades à Iekaterinbourg, le concept d'AFM est déjà dépassé. Auparavant, ils s'appelaient officiellement AFM ICPC, et depuis 2018, il s'appelle simplement ICPC. Par conséquent, le mot «ice-picker» devrait être remplacé, apparemment, par «ice-picker» :)

Selon les règles générales, des équipes de trois personnes participent aux Olympiades. Ce sont des étudiants universitaires ou des étudiants diplômés de la première année d'études. Des équipes de cinq heures reçoivent des ordinateurs et huit à douze tâches. Les décisions sont prises en C, C ++, Java, Python, Pascal, C #, etc ... Les réponses sont envoyées au serveur de test. Si le programme a donné la mauvaise réponse ou n'a pas respecté les limites de temps ou de mémoire, la commande qui l'a envoyé reçoit un message à ce sujet et peut envoyer une version corrigée du code. La tâche est considérée comme résolue si le programme a donné les bonnes réponses à tous les tests. Contrairement à d'autres olympiades, les décisions partielles ne sont pas prises en compte.
L'équipe qui a résolu le plus grand nombre de problèmes l'emporte correctement. Si plusieurs équipes ont résolu le même nombre de problèmes, alors elles regardent le temps de pénalité. Il est considéré en fonction de l'heure de fin des tâches et de la tentative d'écriture du code.
Les concours du CIPC se distinguent des olympiades informatiques par un nombre accru de tâches pour lesquelles un temps relativement court est alloué. En conséquence, les participants doivent écrire du code rapidement, efficacement, en utilisant une connaissance approfondie des algorithmes, et aussi proprement que possible, sans bogues.
Si nous parlons de tendances, alors chaque année le nombre d'équipes devient de plus en plus. De plus, à la fois à l'école et aux olympiades étudiantes. En conséquence, les tâches deviennent plus difficiles, mais le processus lui-même est plus amusant.
Avantages et inconvénients de l'AFM
Les avantages et les inconvénients des programmes sportifs ont été révélés par des employés de Naumen qui ont participé aux Olympiades du CIPC.
Avantages
+ meilleures pratiques sur les algorithmes;
+ la vitesse de la solution augmente;
+ bien versé dans les choses de base, par exemple, comment un HashSet diffère d'un TreeSet;
+ vous pouvez calculer la vitesse d'exécution et la quantité de mémoire consommée;
+ vous apprenez à trouver des erreurs à la fois dans le vôtre et dans le code de quelqu'un d'autre;
+ vous comprenez la structure interne d'un langage de programmation: avantages, inconvénients et pièges;
+ la capacité de trouver des amis partageant les mêmes idées;
+ la possibilité de gagner de l'argent décent. Par exemple, pour une victoire sur VK CUP, ils donnent 2 ^ 20 (~ 10 ^ 6) roubles;
+ Si vous avez de la chance, vous voyagerez gratuitement à travers la Russie et le monde.
Inconvénients
- «govnokod» - l'essentiel n'est pas la qualité, mais que la solution passe tous les tests
- oublier les concepts tels que l'architecture, le cadre
- selon des collègues masculins, peu de filles
Bien sûr, les compétitions ACM, comme les autres compétitions professionnelles, sont nécessaires pour identifier les talents. Lorsqu'il s'agit de développer de réelles compétences en programmation, ACM n'est pas le meilleur moyen. Mais il pourra donner les connexions nécessaires.

«Lorsque je me suis installé à Naumen, je n'avais ni expérience de travail ni même connaissance de la langue utilisée dans le département. Mais il y a eu quelques années d'ACM intensif, ce qui m'a aidé à trouver un emploi et à commencer à développer déjà dans le développement industriel », a déclaré notre collègue Vlad.
Pourquoi est-ce pour les entreprises informatiques
Pour commencer, parlons de la façon dont Naumen soutient les Jeux olympiques du CIPC:
- offrir des cadeaux aux participants et aux gagnants;
- assistance au programme: ouverture et performance des employés devant les étudiants;
- accompagnement des partenaires pour l'organisation d'un événement.
Nous comprenons que les ICPC, comme d'autres compétitions professionnelles, sont nécessaires pour identifier les talents. Les Jeux olympiques montrent une personne immédiatement en tant que spécialiste et en tant que membre d'une équipe. C'est important pour nous.

Pourquoi soutenons-nous de tels événements:
- Les olympiades attirent des élèves et des écoliers talentueux dans le monde de l'informatique;
- si une personne passe son temps aux Olympiades et à une formation supplémentaire, elle doit être soutenue et aidée à se développer davantage;
- reconnaissance de l'entreprise. Les participants aux olympiades sont le public cible des entreprises. Et ce sera une erreur de ne pas profiter de l'occasion pour parler de vous non seulement aux étudiants en informatique, mais à ceux qui sont «malades» avec la programmation.