Шрифт:
Если вы разрабатываете сложную программу обработки данных внушительного объема, то, скорее всего, эта программа будет использовать какую-нибудь базу данных. Последняя обычно хранит пользовательские данные или конфигурационную информацию приложения, и может обновляться в процессе правок исходного кода.
Многие команды разработчиков используют ту или иную форму непрерывной интеграции, чтобы код собирался автоматически, когда разработчики «присылают» свои части программы.
Разработка – это не просто набор кода
И, наконец, не забывайте про отлов багов (отладку). Бoльшая часть вашей работы в качестве разработчика ПО будет заключаться в том, чтобы понять, почему ваш (или чей-то еще) код не работает. Как я уже говорил ранее, разработка ПО включает в себя немного больше, чем просто написание кода.
Я считаю, что вы должны осознать этот нюанс еще до того, как устроитесь на работу. А лучше всего будет, если вы заранее обзаведетесь опытом во всех вышеперечисленных вещах.
Но не бойтесь. Цель этой книги – информировать вас обо всех аспектах – или, по крайней мере, указать правильное направление. Возможно, вам придется самостоятельно собирать свой багаж (знаний), а я подскажу, что стоит с собой взять.
Главное – план!
«Так, Джон, мы поняли, что разработка – это не только программирование, и нам придется проводить кучу времени за отладкой, развертыванием и бла-бла-бла, – скажете вы. – Ну а начать-то с чего?» Спешу вас поздравить: вы уже начали!
Поскольку вы взяли в руки книгу типа этой и начали осознавать, что разработка ПО – это нечто большее, чем просто написание кода, то на старте вы уже дадите фору большинству других разработчиков.
Да-да, я знаю, что все это лишь слова, но поверьте мне, это не пустые нравоучения. Когда-нибудь вы тоже станете старым вредным профи и будете вещать то же самое.
А теперь давайте поговорим более предметно. О плане. Он нужен всем. Настоящий, реальный план, без лишней воды. В частности, вам нужен план, как из бестолкового джуниора превратиться в гуру разработки. Существует множество путей, ведущих к этой цели, и о некоторых из них мы обязательно поговорим в следующих главах. Запомните главное: неважно, какая дорога выбрана, важно, встав на тропу, не сходить с нее.
Как составить план?
Давайте поговорим о том, из чего должен состоять подобный план.
В первую очередь надо объективно оценить, каков сейчас уровень ваших навыков и чему вы хотите научиться.
• У вас есть опыт программирования?
• Вы знаете какие-нибудь языки программирования?
• Вам уже приходилось писать программы (пусть даже самые простые) или вы пока что находитесь в самом-самом начале пути?
• Обладаете ли вы какими-нибудь навыками, о которых я говорил, помимо написания кода?
• Знаете ли вы что-нибудь о базах данных, управлении версиями ПО, разработке через тестирование, отладке или методологиях создания программ?
Задайте себе еще и такой вопрос:
• В какой сфере разработки ПО вы хотели бы развиваться?
Да-да, конечно, все хотят разрабатывать игры, но стоит ли в это бросаться? Если вы планируете начать карьеру программиста именно в этой области, подумайте, готовы ли вы конкурировать с огромным количеством таких же «гейм-дизайнеров»?
Очень много людей отправляются в дорогу, не продумав свой путь.
Потратьте немного времени, чтобы ответить себе на эти вопросы и составить план развития. Я, конечно, буду помогать вам на протяжении всей книги, но это все, что я могу сделать, уж простите.
Я могу вам очень подробно рассказать, как стать хорошим или даже отличным разработчиком, но пока вы не превратите эту информацию в собственный уникальный план и не начнете ему следовать, книга не принесет вам большой пользы.
Создание плана
Допустим, что вы уже обдумали все, написанное мною выше. Тогда мы можем приступить к созданию плана! На мой взгляд, лучший способ составить план – определить цель и наметить путь к ней из вашего текущего положения. Как я уже говорил, вместо того чтобы просто «учиться программировать» вы должны сначала четко сформулировать для себя, специалистом в какой области разработки хотите стать.
В части «Все, что нужно знать о разработке ПО» я расскажу о различных видах ролей и вакансий, которые вы можете рассматривать для себя. Тем не менее вы можете самостоятельно проанализировать, какие сферы разработки вам подойдут лучше всего. Вы разберетесь, что конкретно вам следует изучить, как должны выглядеть ваши резюме и портфолио и какие курсы имеет смысл посетить. Кроме того, вы даже сможете примерно представить, какая работа и в какой компании вас устроит.