Я хотел бы выделить время, чтобы записать свой путь технического энтузиаста, который хотел добиться успеха в области компьютерных наук. В этой статье я бы разбил свое семестровое путешествие в колледж и расскажу о различных вещах, которые я делал в качестве кодера за последние 2,5 года моей студенческой жизни. Цель этой статьи - помочь читателю извлечь уроки из моего опыта и ошибок и лично убедиться в том, чего вы можете достичь за годы учебы в колледже. Это длинная статья, поэтому рекомендуется немного терпения 😛

Первый семестр

Когда я поступил в колледж, у меня был некоторый опыт в области компьютерных наук и Java. Моей целью было научиться и исследовать новое, а по окончании колледжа достичь нескольких вещей, которыми я мог бы гордиться. Я познакомился с миром соревновательного программирования, который сейчас является неотъемлемой частью моей жизни. Я выполнил свой первый длинный вызов на Codechef в сентябре через свой мобильный телефон, так как в то время у меня не было ноутбука. Я решил три задачи, так как мне было комфортно с базовым программированием. Затем я познакомился с Клубом кодирования нашего колледжа, KeyGEnCoders, также известным как Codechef KGEC Campus Chapter, который теперь мне очень близок. В KeyGEnCoders есть несколько блестящих программистов и удивительных людей, некоторые из которых сейчас работают в Google, Amazon и других элитных местах. Раньше я звонил пожилым людям Keygen, чтобы получить рекомендации по WhatsApp или Facebook, и они всегда были готовы помочь.

Лучшее, что произошло, это то, что у меня была группа единомышленников в кругу друзей, что очень важно, когда у вас такие амбициозные цели. В моей партии много отличных программистов и умных людей, которые всегда побуждали меня выходить за рамки моих возможностей. Затем я узнал о ACM ICPC, крупнейшем в мире командном соревновании по программированию. Я вместе с двумя моими друзьями участвовал в онлайн-квалификационном раунде, и мы были единственной командой с 1-го курса, но, к сожалению, мы не смогли пройти квалификацию на региональные соревнования ICPC из нашего колледжа, так как мы не так хорошо выступили, а также у ICPC есть ограничение от количества квалификационных команд от конкретного вуза. Я понял, что я далек от того, чтобы называться профессиональным программистом, поэтому стал больше практиковаться в Codechef и Hackerrank. Пытался решать простые, специальные проблемы и, в конечном итоге, жадные, DP, струнные и другие важные типы проблем и продолжал участвовать в Long Challenge, Cook-Off и Lunchtime на Codechef. Позже Keygencoders организовали конкурс кодирования исключительно для новичков под названием Coder’s Legacy, но я не смог хорошо выступить. Тем не менее, я продолжал практиковаться и участвовать в различных конкурсах на Codechef, Hackerrank и Hackerearth и пытался учиться и повышать свой рейтинг.

Я также начал изучать веб-разработку, начал изучать HTML, CSS, Javascript, PHP в Sololearn, W3Schools и freeCodeCamp. Я встретил своего товарища по команде, который руководит стартапом, работал над веб-сайтом, узнавал новое и набирался опыта во время зимних каникул. А также продолжил соревновательное программирование.

Первый семестр имеет решающее значение, и нужно учиться и исследовать новые вещи, а не просто терять время. Выбирая круг друзей, нужно быть осторожным и обращаться за помощью к соответствующим пожилым людям. В целом это было хорошее начало.

Второй семестр

Это было время, когда я нажал на педаль газа и бросился к поставленным мною целям. Я получил 4 звезды на Codechef и вошел в Дивизион 1 Codechef в феврале 2018 года. Я участвовал в Recode 2.0, организованном NIT Durgapur на Hackerearth, и получил 1-е место Позиция в нем побеждает всех первокурсников NIT Durgapur вместе со студентами разных курсов и разных колледжей. Компания-спонсор конкурса приехала в наш колледж для своего продвижения и тоже упомянула мое имя. Я продолжил работать с Codechef, но оказалось, что долгие задачи усложняются. Пришло время изучить сложные темы, такие как дерево сегментов, DP, графики и деревья. Я также принимал участие во многих конкурсах, проводимых различными колледжами на Codechef, и показал хорошие результаты во многих из них. Я участвовал в каком-то конкурсе кодирования, организованном техническим фестивалем различных колледжей Западной Бенгалии, в основном один, а некоторые вместе с несколькими друзьями в команде. Я прошел много предварительных раундов, но выездные раунды были настоящим испытанием. Я не смог оправдать свои ожидания в большинстве из них, но опыт того стоил. Я также принимал участие в соревнованиях по программированию на фестивале в моем колледже. Я начал думать, что я не улучшаюсь и мне нужно больше работать. Я начал участвовать в конкурсах на Codeforces, это довольно хороший веб-сайт, а короткие конкурсы на Codeforces - это довольно сложно.

Я хотел исследовать как области CP, так и разработки. Я планировал присоединиться к команде KgecWeb нашего колледжа, которая управляет веб-сайтом нашего колледжа. Во время собеседования мне задавали вопросы о Python и Front-End разработке, и я прошел собеседование. Старшие там были очень талантливы, и под их руководством я изучил Git, Django и многие другие вещи для разработки. Я также внес свой вклад в веб-сайт нашего колледжа, а позже разместил свое имя и фотографию на странице участника этого веб-сайта, чем я горжусь.

Теперь идет процесс собеседования с KeyGEnCoders, к которому я хотел присоединиться с самого начала. Это был однодневный процесс, после того как некоторые пожилые люди задали мне несколько алгоритмических вопросов, после того, как я прочитал все, что было написано, это было больше похоже на дискуссию. Позже я стал участником KeyGEnCoders.

Во время летних каникул я участвовал в Facebook Hackercup и занял 374-е место в квалификационном раунде, хотя в последующих раундах я не смог преуспеть. Я также получил 5 звезд на Codechef после июльского Long Challenge 2018 года. Я продолжил заниматься соревновательным программированием, а также немного развился.

Первый год был успешным, и нужно было работать как можно более продуктивно и повышать свои навыки.

Третий семестр

В этом семестре было много взлетов и падений, как в моем рейтинге на Codeforces. Я продолжал участвовать в соревнованиях Codeforces, но не очень много в Long Challenge и Cook-Off Codechef, поэтому рейтинг не сильно вырос. Но я продолжал практиковаться и решать проблемы и принимал участие в других конкурсах, проводимых разными колледжами. Затем я участвовал в TCS Codevita, и все прошло хорошо. Это была та часть года, когда мы нацелены на ICPC, на этот раз я сформировал команду с одним из моих друзей и одним старшим учеником третьего курса. Но нам не повезло, и мы не смогли снова пройти отбор из нашего колледжа. Я не мог перестать думать об этом несколько дней и винил себя за это. Я подумал об изменении своих тренировок и продолжил участвовать в соревнованиях на Codeforces. Я также ходил на курсы кодирования для студентов 1 курса нашего колледжа в составе KeyGEnCoders.

В октябре 2018 года Codechef провел престижный конкурс SnackDown ’19, в котором было зарегистрировано более 27000 команд. Я вместе со своим другом принимал в нем участие. Мы решили все задачи в раунде онлайн-квалификации и вышли в раунд-1А. Только 1500 лучших команд из этого раунда имели право на дальнейшее продвижение, и нам удалось получить ранг в пределах 1500 и перейти в онлайн-раунд предварительного отбора, и мы были исключены, поскольку были отобраны только лучшие 500 команд, но это был хороший опыт.

Во время каникул на пудже я получил первую стажировку. Это была стажировка по веб-разработке, которую я получил в Internshala, и это была виртуальная стажировка. Я разработал Front-End одного из продуктов стартапа. Я также узнал новое и в конце концов получил свою первую стипендию.

Затем я открыл для себя мир науки о данных и машинного обучения, и он мне показался весьма интересным. Я начал с курса машинного обучения Эндрю Н.Г. на Coursera, а также с курса машинного обучения от А до Я на Udemy. Я уже знал Python, но многие темы, связанные с математикой и статистикой, были для меня немного сложными. Я продолжил изучать машинное обучение во время зимних каникул, используя еще несколько ресурсов. Я продолжал заниматься CP и ML, но временами мне было трудно управлять временем для обоих. Иногда мне казалось, что я теряю интерес к соревновательному программированию, но все же пытался всем управлять.

Я узнал, что не все идет по нашему плану, и мы должны набраться смелости, чтобы подняться. Терпение - ключ к успеху.

Четвертый семестр

В этом семестре было много сюрпризов. Пришло время решить, что мне делать дальше, поскольку я достаточно изучил. Я подумал о создании прочной основы в структурах данных и алгоритмах и продолжил работу с CP. У меня появилась возможность стать волонтером Codechef на семинаре INOI в Калькутте, где школьников обучали концепциям соревновательного программирования. Я вместе с двумя отличными 6-звездочными программистами из Калькутты вызвался туда и попытался обучить этих умных студентов некоторым базовым алгоритмам, которые я знал. Затем я прошла стажировку в Geeksforgeeks. Это была стажировка инженера по написанию технического контента, на которой я написал несколько вопросов по кодированию на их платформе. Я участвовал во многих соревнованиях Codeforces. Я начал участвовать в конкурсах программирования на различных фестивалях колледжей и на этот раз выиграл призы на многих из них. Я выиграл второй приз в соревновании по веб-разработке на IEM вместе с другом. Я выиграл два конкурса кодирования в Правительстве. Колледж инженерии и керамических технологий. Я занял второе место на конкурсе в Технологическом институте будущего. Я участвовал в трех конкурсах программирования на фестивале в колледже и занял 1-е, 3-е и 4-е место в своем колледже, а также получил награды. Я также занял 2-е место в конкурсе, проводимом E-Cell нашего колледжа. Я участвовал в конкурсе под названием 3 Address Code от Johnson & Johnson на Hackerearth и поехал в IIT Kgp на финальный раунд, хотя я не смог хорошо выступить, но получил немного призовых. Итак, теперь я заработал немного призов и вкусностей, участвуя в различных конкурсах кодирования, и продолжение соревновательного программирования оказалось неплохим.

Это было время, когда я начал думать о стажировках и работе за пределами кампуса. Я начал участвовать в нескольких конкурсах найма компаний на Hackerearth, просто чтобы почувствовать. Я начал искать стажировку на лето и, к счастью, получил два предложения стажировки в области Data Science: одно от NIT Durgapur, а другое от стартапа под названием Xelpmoc из Калькутты. Мне было сложно выбрать один, но я выбрал стартап, посоветовавшись с несколькими людьми, и не жалею, что выбрал его, и на два месяца стал стажером по науке о данных в Xelpmoc. За эти два месяца я узнал слишком много вещей о науке о данных, таких как NLP, аналитика данных, визуализация данных, построение и развертывание модели машинного обучения с использованием flask API, сегментация изображений и многое другое. Я работал там над несколькими проектами, и общий опыт того стоил. Я подробно рассказал о своем опыте здесь.

Я также прошел квалификацию на финал TechGig Code Gladiators, представленный Джио, который был объявлен Книгой рекордов Гиннеса крупнейшим событием в области программирования по количеству участников. Он прошел в Мумбаи в июне 2019 года, и после двух предыдущих раундов было вызвано всего около 400 участников. Это был потрясающий опыт, и мероприятие было действительно большим, хотя финал прошел не так хорошо.

Когда ты учишься в колледже, тебе нужно участвовать в конкурсах и хакатонах, ты учишься и знакомишься с новыми людьми. Это увеличивает ваши достижения и дает вам преимущество перед другими учениками, а также вы можете зарабатывать деньги как программист.

Пятый семестр

Половина моей студенческой жизни закончилась, но лучшее было еще впереди. Я начал регулярно участвовать в соревнованиях Codeforces. В то же время я беспокоился о том, чтобы следующим летом получить хорошую стажировку, поскольку это мой предпоследний год. Я пробовал связываться с людьми в LinkedIn, чтобы узнать о возможностях, поскольку у меня уже много контактов в LinkedIn. Я участвовал во многих задачах найма компаний на Hackerearth, как для опытных, так и для стажеров, и я пытался решить как можно больше проблем. Один из моих друзей также пытался помочь мне найти стажировку, так как он очень находчивый. Но тогда удача мне не улыбнулась. Я дал онлайн-тест Goldman Sachs для стажировки, хорошо справился с вопросами по кодированию, но все равно меня не приглашали на следующие этапы, и это произошло со многими хорошими кодировщиками, которых я знаю. То же самое произошло с Microsoft, даже после решения всех проблем за меньшее время и, несмотря на то, что у меня было направление и хорошее резюме, я не попал в шорт-лист для дальнейших раундов, не знаю, как они попали в шорт-лист. Похожая история произошла с Morgan Stanley. Таким образом, удача также играет важную роль в работе вне кампуса. Я видел, как компании отказывают кодировщикам 6 звезд. Я продолжал находить возможности и участвовать в конкурсах найма, а также на Codeforces и других сайтах. Я также участвовал в нескольких раундах Google Kickstart.

Пришло время снова подготовиться к ICPC. На этот раз я сформировал команду с двумя старшими программистами, которых я когда-либо видел. Мне посчастливилось сформировать команду с двумя блестящими программистами, участвовавшими в соревнованиях, которые уже были на ICPC в прошлом году, и я также многому научился с ними. На этот раз мы заняли 255 место в онлайн-квалификационном раунде ICPC и, к счастью, прошли квалификацию как на Региональные соревнования в Харагпур, так и на Региональные соревнования в Амритапури, и для меня это было как сбывшаяся мечта. Мы начали участвовать в командных соревнованиях на Codechef и Codeforces, чтобы потренироваться на региональном уровне. Мы участвовали в UEM Codestorm на Codechef, заняли первое место и получили подарочные карты Flipkart и Codechef laddus. Мы также выиграли конкурс Geekahertz на Codechef и получили Codechef laddus после получения 1-го ранга. Мы поехали в IIEST Shibpur, чтобы принять участие в выездном раунде конкурса Ode-to-Code и заняли там 3-е место. Тем временем я стал экспертом по Codeforces.

Мы поехали в ИИТ Харагпур на ICPC Kharagpur regionals 7-8 декабря 2019 года, решили 6 задач в локальном конкурсе и получили 18-е место, что неплохо, и это было здорово. опыт для меня. Нам нужно было больше готовиться к региональным соревнованиям в Амритапури. Мы поехали в университет Амриты Вишва Видьяпитхам в Керале на ICPC Amritapuri Regionalals. Мы останавливались там с 24 по 29 декабря 2019 года, и регион Амритапури был лучшим регионом, и они отлично организовали мероприятие. В конкурсе мы решили 5 задач и заняли 135-е место, так как получили мало штрафов из-за нескольких неправильных заявок. Но для меня это был хороший опыт с двумя моими умными товарищами по команде.

Я также стал представителем Codechef компании KeyGEnCoders. Семестр заканчивается на хорошей ноте. Через 2,5 года у меня есть несколько подарков, куча сертификатов, много бесплатных футболок, а также денежные призы и стипендии - все из-за программирования.

Мне повезло, что у меня была возможность испытать много хороших вещей, но мое путешествие еще не закончено, мне нужно работать еще усерднее, чтобы достичь своей мечты. Есть еще несколько вещей, которых мне нужно достичь, например, получить отличную стажировку и работу, еще несколько конкурсов кодирования и хакатонов и еще раз ICPC. Мне нужно продолжать работать над достижением своих целей и расширять свои границы.