Я работаю разработчиком программного обеспечения вот уже 8 лет. За это время я сумел вырасти до Lead Software Engineer, попробовать себя в роли тим-лидера, ментора, выступить на многочисленных конференциях и попробовать кучу технологий на вкус. Гордиться особо нечем – я каждый день вижу разработчиков, которые куда более успешнее, моложе, талантливее или смышленее меня. Они занимаются той же самой рутиной, что и все разработчики. Но при равных условиях кто-то доходит до старшего разработчика за 2 года, а кто-то сидит в рядовых 10 лет. Но это часто не имеет какого-то существенного значения, так как это их собственный выбор. Все мы разные. У всех нас разные способности, и мы ставим перед собой разные цели. И добиваемся разных результатов в равных условиях. Книга эта не о том, как вырасти быстро бесплатно без регистрации и смс, а о том, как вообще можно расти.
Мой путь был тернист и полон трудностей. Развиваться как разработчику мне не давалось легко. У меня нет специального образования. В школе я изучал французский, который подарил мне скорее гуманитарное мышление. Высшее образование инженера по автоматизации немного помогло, но не дало никакой базы и практических навыков для становления меня как программиста. Поработав пару лет тут и там, я понял, что пора уже что-то с этим делать, перестать размениваться на малоинтересные непритязательные занятия и все-таки осуществить школьную мечту – начать писать код. Несмотря на практически полное отсутствие необходимых для профессии навыков, по крайней мере, сильное желание у меня было не отнять.
Не имея никакого понятия об объектно-ориентированном программировании, я начал искать место, где бы можно было начать и научиться хоть чему-то полезному, потому как идея учить то – не знаю что, мне совершенно не нравилась, а в какую сторону двигаться я вообще не представлял.
Очень хотелось программировать, но очень не хотелась страдать за учебниками и бестолковыми материалами, коими в избытке изобилует интернет. Чтобы найти действительно стоящий материал, нужно потратить кучу личного времени, а главное – нужно знать, что ищешь. А ведь материал может и не зайти или, по крайней мере зайти не сразу, а это требует еще больше временных затрат.
Расскажу короткую историю из собственного опыта. В школе я изучал 2 иностранных языка: французский и английский. При этом французский в нашей школе преподавали на супер повышенном уровне, начиная с первого класса. Школа эта, а ныне лицей, наверное, и сейчас остается лучшей в своем роде, когда дело касается французского языка. Английский же язык в учебную программу был включен только с пятого класса, и количество учебных часов было ровно в 5 раз меньше, чем предусмотрено у французского. Как Вы думаете, насколько успешен я был в обоих языках по окончании школы?
Каждый божий день я возвращался из школы, выполнял все домашние задания за полчаса, а дальше… Дальше я садился за французский, и прикладывал титанические усилия, чтобы выполнить все заданное на дом. Компьютера в школьные годы у меня не было и в помине, как и у 90% моих одноклассников, поэтому я делал все ручками. Приходилось включать собственную голову и много-много думать. Особенно много времени отнимала работа со словарем, а художественный перевод или заучивание кусков текста на память были смерти подобны. Чтобы найти нужный перевод, приходилось по несколько минут листать засаленный от частого использования словарик, перебирая десятки вариантов. Эту незатейливую процедуру я был вынужден повторять для каждого слова. Все эти ужасно скучные, нудные занятия порядочно изнуряли и отнимали по 2-4 часа почти каждый день. О, как я ненавидел такую учебу. Это было по-настоящему отвратно и очень непродуктивно. Даже в вузе учиться было в определенной степени легче, чем в школе. Приходилось во многом разбираться с нуля, но, по крайней мере, я не тратил по 4 часа времени к ряду на занятия, которые ненавижу.