Автор Уилл Мигдол, студент факультета компьютерных наук в Государственном университете Сономы

Меня зовут Уилл, мне двадцать один год, я студент государственного университета Сономы и получаю степень бакалавра компьютерных наук. Этим летом я проходил стажировку в CodeHS после того, как использовал их платформу как в средней, так и в старшей школе. Я хотел бы рассказать, как я перешел от использования CodeHS в школе к работе здесь.

Впервые меня познакомил с программированием мой отец, инженер-программист. В детстве он показал мне программу под названием Scratch. Это похоже на кодирование, но с перетаскиваемыми полями. Затем, когда я учился в средней школе, мы сделали что-то под названием «Час кода». Это был час, когда мы научились перемещать собаку по имени Карел по экрану на основе запрограммированных нами инструкций. Позже я узнал, что мы использовали CodeHS для Hour of Code. Еще со школы я знал, что хочу заниматься какой-то формой инженерии, но я не был уверен, какой именно инженерией я хочу заниматься. Когда я был в старших классах, я изучал AP Computer Science, а летом нам дали дополнительный кредит на самостоятельное обучение по программе CodeHS.

Было очень легко изучить концепции программирования на сайте CodeHS, который мне очень понравился. Раньше я пробовал использовать некоторые веб-сайты, чтобы научиться программировать, но всегда боролся, пока не начал использовать CodeHS. CodeHS помог мне понять концепции Java, которые я использую по сей день при программировании, например функции, классы и объекты, а также основные условные операторы и циклы.

«CodeHS учит вас логике, которая позволит вам научиться писать код на большинстве языков программирования».

Скорее всего, вы никогда не столкнетесь с реальной ситуацией, когда вам нужно управлять собакой с помощью компьютера; однако вы можете взять те же концепции (например, функции и циклы), изученные при программировании Пса Карела, и применить их к другим языкам программирования и ситуациям.

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

На первом курсе колледжа я подал заявку на стажировку и получил ее в CodeHS! Одна из вещей, которые мне нравились в стажировке, - это то, насколько команда способна сотрудничать и поддерживать. Все были очень любезны и терпеливы, пока мы проводили адаптацию и учились использовать библиотеки, которые использует CodeHS.

До сих пор мне приходилось работать над некоторыми действительно крутыми проектами, включая реализацию некоторых дизайнов страниц на веб-сайте, добавление возможности для сотрудников просматривать и управлять сообщениями в блогах, а также добавление возможности для пользователей связывать свои учетные записи CodeHS с GitHub и импортировать свои проекты на сайт.

«Было очень приятно и полезно поработать в CodeHS и увидеть, как написанный мной код появляется на веб-сайте».

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

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

Наконец, когда дело доходит до программирования, сосредоточьтесь на том, что делает вас счастливым. Если вам нравится стилизовать веб-страницы и создавать интерфейсы, с которыми взаимодействуют люди, тогда вам следует стать фронтенд-разработчиком. Если вам больше нравится решать головоломки в программировании и вам нравится работать с базами данных, вам следует заняться бэкэнд-разработкой. Если вам нравится и то, и другое, тогда вам стоит заняться комплексным проектированием! Какой бы способ развития вы ни выбрали, убедитесь, что он делает вас счастливым.

Спасибо CodeHS за то, что помогли мне научиться программировать и за предоставленную мне прекрасную возможность этим летом!