Мой интерес к веб-технологиям начал появляться после того, как я осознал, какими темпами развивается Интернет, какие возможности он может предоставить. Интерент сочетает в себе мощь использования десктопных приложений, распределенных систем и, привычное нам, газетное представление. Великие ИТ-компании все свои основные силы бросают на развитие веб-технологий. Первые цели — это развитие облачных вычислений и дата-центров. В будущем, все программное обеспечение, используемое по сей день на десктопных системах, полностью перейдет в Интренет. Уже сейчас можно воспользоваться Интернет-версией графическим редактором photoshop. Всё идёт к тому, чтобы обычный пользователь не нуждался в установлении операционных систем и программного обеспечения для них. Вся рабочая среда будет находиться в дата-центрах, доступная через Интернет. Пользователь сможет зайти на свою рабочую станцию с любого компьютера, где есть доступ в Интернет. Будет возможность использовать программное обеспечние от разных производителей платформ, использовать известный текстовый редактор TextMate от компании Apple для своей операционной системы Mac и jabber-клиент от операционной системы Ubuntu в одном рабочем окружении.
Интернет — это не только технический процесс, это новая возможность объединения людей, обмена информацией между ними. С каждым днём я узнаю его с новой стороны и понимаю, какой большой потенциал у этой давольно примитивной технологии с точки зрения реализации. Окончательное мое решение заниматься веб-разработкой наступило после прочтения книги об успехе компании Google. В ней давольно интересно описаны этапы развития интернета до сегоднешнего уровня и роль поисковых систем в нашей жизни. Самое интересное в этой книге путь, по которому шли разработчики алгоритма поиска PageRang Сергей Брин и Лари Пейдж, пример рождения прекрасных идей и их удачное применение в жизни. Также было позновательно для меня узнать, как происходит обучение в селиконовой долине, какие возможности там предоставляются студентам для их профессиональной реализции.
Моё знакомство с веб-технологиями с точки зрения реализации началось с такого мейнстрима, как язык программирования Java. В то время я брезгливо сморел на скриптовые языки с динамической типизацией вроде PHP, и не понимал, почему они так популярны в веб-строительстве. Я довольно долго использовал Java как основной язык во всех своих проектах, на протяжениии 2-х лет его изучал. Со временем начал понимать, что мне чего-то в нём не хватает, а именно какой-то лёгкости и маневренности. Для поднятия своего уроня программирования я начал пристально присматриваться к экзотическим языкам программирования, не имевших большой популярности в промышленной разработке, однако реализовавшие прекрасные идеи составления программного обеспечения, противоречившие проверенным языкам программирования, используемых как мейнстирм, вроде Java и .Net платформ.
Я начал замечать, что под тиском сообщества разработчиков эти закоренелые и строгие в своих идеологиях платформы начинают заимствовать идеи из языков программирования для интузиастов. Таким образом я наткнулся на язык программирования Ruby. Самый близкий его брат, если так можно сказать, это Python, активно продвигающийся компанией Google. Ruby — язык праграммирования с утиной типизацией и гумманой идеологией разработки. Разработчик языка пытался максимально приблизить написание программы к обычному написанию осмысленного текста для чтения. Ruby On Rails — фреймвёрк, быстро развивающийся и, наверное, считающийся самым перспективным в своём подобии.
После непродолжительного знакомства с Ruby я наткнулся на интересную вакансию на позицию Junior Ruby On Rails Developer. Я немедленно приступил к составлению резюме и сопроводительному письму. С составлением резюме я уже неоднократно сталкивался и имел неплохой опыт. Составление резюме — это целый процесс с множеством тонкостей и правил. Чтобы написать хорошее резюме нужно уделить этому много времени. Могу лишь сказать, что считается хорошим тоном писать сопроводительное письмо кроме самого резюме.
В письме нужно твёрдо указать Ваши намерения, причины, так сказать, написать небольшое эссе, почему именно должны взять Вас. Письмо покажет Вас с человеческой стороны, а резюме больше с технической. Прикреплять резюме к сопроводительному письму стоит в формате pdf. Это подчеркнёт ваше творчество и вкус в ИТ-сфере. Резюме в pdf формате выглядит более элегантно. Также стоит корректно указывать тему в письме, она должна выглядить четко и ясно (Резюме на позицию: Ruby On Rails Developer).
После того, как я успешно прошел собеседование и выполнил предварительное задание, что тоже является целой наукой, я приступил к работе в интересном и молодом коллективе. После некоторого времени я понял для чего такое количество языков программирования существует в мире. Решающие задачи порой имеют абсолютно разные принципы взглядов на них и решений. Использования какого-то универсального метода решения было бы очень долго и неоправданно дорого.
Я почувствовал, какую мощь имеют языки программирования вроде Erlang для написания веб-сервисов, пример тому Amazon, языки со статической типизацией вроде Java, там где нужно постоянное масштабирование, надежность, долговечность, динамические языки вроде Ruby и Python для лёгкого и быстрого написания веб-приложений. К каждой задаче есть свой интсрумент, и так будет всегда, пока в мире будут существовать хотя бы 2-е разные задачи.
Наверное самое сложное в реализации самого себя — это найти то, что тебе по-настоящему интересно. Я не знаю, есть ли какие-то методы для этого, однако я точно знаю, что нужно быть активным в своих поисках и любознательным. Для тех, кто только начинает этот путь, и думает, что он где-то в разработке программного обеспечения, я бы мог посоветовать пару интересных ресурсов, где можно узнать, что сейчас является мейнстримом, что перспективой, а что экзотикой.
TIOBE software — наверное самый популярный рейтинг языков программирования и прогнозы на будущее.
Indeed | Job trends — можно сравнить любые языки пограммирования по количеству вакансий, с ними связанными.
Google | Trends — возможность сравнения по популярности, строевшейся из количества запросов к поисковой системе.
1. Обзор языков программирования и их характеристики [электронный ресурс]: http://ru.wikipedia.org/wiki/Языки_программирования
2. Один из первых интернет-сервисов, ориентированных на продажу реальных товаров массового спроса через Интернет [электронный ресурс]: http://ru.wikipedia.org/wiki/Amazon
3. Рейтинг языков программирования [электронный ресурс]: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
4. Рейтинг языков программирования по количеству вакансий [электронный ресурс]: http://www.indeed.com/jobtrends
5. Рейтинг языков программирования по популярности [электронный ресурс]: http://google.com/trends