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

Тогда я также пошёл узнать о курсах для специальности «информатика» (в учебной части был учебный план). C был лишь базой; после этого обычно выбирали Java, ASP.NET или встроенные системы в качестве направления для будущей работы.

В то время я искал в Baidu «какой язык программирования в области компьютерных наук лучше для трудоустройства». Конечно, результаты поиска тогда могли отличаться от нынешних. Тогда сайты всё ещё были довольно популярны, поэтому распространённый ответ в интернете был таким: учите веб-разработку, а языки, связанные с веб-разработкой, — это Java, ASP, PHP и так далее. В интернете описание было таким: после изучения Java вы учите JSP, затем изучаете три основных фреймворка SSH. Это широко используется на крупных предприятиях, в банковской и финансовой отраслях, тогда как PHP в основном используется для разработки сайтов малых и средних предприятий. В то время я смотрел на PHP свысока. Я не хотел учить что-то для малых и средних предприятий (позже я стал PHP-программистом). Если уж учить, то лучшее и самое востребованное. Java, JSP и три основных фреймворка SSH были моим выбором. Более того, концепция объектно-ориентированного программирования была тогда очень популярна, и объектно-ориентированность Java почти готова была перевернуть другие языки, в то время как PHP всё ещё был процедурным (до PHP 5).

Затем я искал в интернете рекомендованные книги для изучения Java и обнаружил, что все единодушно рекомендовали «Философия Java» (Thinking in Java). Эта книга была дорогой и толстой, но я тогда решительно её купил. Потом, следуя методу, который я использовал для изучения C, я заставил себя прочитать её, набирая каждый фрагмент кода и даже переписывая его от руки. Весь процесс был очень болезненным, а эффект от обучения — слабым.

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

Если вы только начинаете изучать некоторые языки программирования, я советую вам зайти на Example (реклама).

Я прочитал примерно половину этой книги (как читают роман), а потом больше не мог себя обманывать. Поэтому я начал искать в интернете учебники для начинающих по Java. Позже, просмотрев несколько форумов, я увидел, как кто-то рекомендовал «Shangxuetang — вводный курс Java от Ма Шибина». Посмотрев несколько эпизодов, я понял, что это действительно хорошо. Смотреть видео было гораздо легче, чем читать книги, и к ним также прилагались примеры. Повторяя за примерами, я наконец понял такие концепции, как объектно-ориентированное программирование, абстрактные классы и интерфейсы. Я пересматривал это видео несколько раз, включая последующие видео по разработке на JSP и видео по трём фреймворкам SSH.

Самым запоминающимся было то, что они говорили: для технического поиска нужно использовать Google, а не Baidu. После этого я стал поклонником Google. Поиск Baidu — просто мусор, так что я действительно должен поблагодарить их за то, что поделились этим.

Когда всё это было закончено, уже шла вторая половина третьего курса. Все обсуждали, что делать с дипломной работой. Тогда я думал, что было бы лучше всего, если бы я смог применить то, чему научился, в своей дипломной работе (я упоминал ранее, что моя специальность — биотехнология), а также попрактиковать свои навыки. Все также обсуждали, какого научного руководителя выбрать. Я ранее узнал, что в нашей специальности есть довольно молодой научный руководитель, который изучал биоинформатику. Что такое биоинформатика? Это междисциплинарный предмет, грубо говоря, использование языков компьютерного программирования для расчёта последовательностей РНК, ДНК и так далее.

Итак, я прямо написал программу на Java, которая преобразует РНК в белок, распечатал её на бумаге A4 и пошёл искать того преподавателя. Я сказал, что хочу писать дипломную работу по биоинформатике, и спросил, не мог бы он взять меня под своё крыло. После этого я поговорил с ним о функциональности своей программы, и он, вероятно, счёл меня достаточно толковым, поэтому согласился меня взять. В итоге я понял, что выбрать его было очень правильно. В дальнейшей учёбе мой научный руководитель дал мне много очень хороших советов и одолжил мне много книг. Наконец, я не разочаровал его ожиданий и завершил свою дипломную работу (имя не замазано, Tian Qixin == FK, эта работа есть в Baidu Wenku):

Итог:

  • Направление: сначала вы должны быть заинтересованы. Затем зайдите на сайты по поиску работы, чтобы узнать, какие навыки требуются для интересующих вас должностей.
  • Инициативность: активно ищите людей, которые могут вам помочь. Не ждите, что другие придут к вам, потому что вы новичок.
  • Настойчивость: как только вы определили своё направление, вы должны не жалеть сил и делать всё, на что способны.
  • Поиск: программисты должны использовать Google. Если не можете получить доступ, найдите способ.

(Продолжение следует...)