Есть такая, забавная проблема — backup’а. Думаю, каждый с ней сталкивался, после того, как грохнулся винт, а на нем была единственная копия курсового или проект, который писался неделю, без того, чтобы еще куда-нибудь быть занесенным.
Вроде решается все тривиально — ну делаешь резервную копию, да и все. Просто то, оно просто, но есть несколько подводных камней
а) Ну делаем мы резервную копию, когда основная помирает, решает восстановить резервную и обнаруживаем, что она неполная, не восстанавливается, тоже померла.
б) Хочется иметь копию резервной копии. Особенно, если резервная копия хранит всю историю изменений чего-то.Даже если мы обнаружим, что резервная померла, но у нас есть рабочая копия- это нам уже не поможет в том, чтобы выкопать что-то из старых данных (так как только резервная имела эти старые данные).
В общем, веселая проблемка. Но, я собственно говоря не о том. Я вообще хотел написать о самообразовании.
Опять же, большинству понятно — надо самообразовываться, иначе отстать от прогресса в IT можно буквально за 2-3 года, а через 5-7 лет уже только и останется ворушить говно какого-то мамонтного проекта.
Ну, что же, руки в ноги и мы начинаем самообразовываться. И я в нескольких местах читал план, а-ля — одна новая операционка, один новый язык программирования, одна технология и еще пару таких вещей.
Вроде звучит логично, план есть, аккуратненько его исполняем и все будет чики-пуки. А вот фига с два. Проблема очень похоже на проблему backup’а. Это вам кажется, что все чики-пуки, а на самом деле определить все хорошо или все плохо можно будет только тогда когда основная копия (ваши активно используемые знания) вдруг по какой-то причине лягут.
Например, возьмем какого-нибудь товарища занимавшегося подковыванием лошадей эдак в 1890 году. И вот он ставит себе план, каждый год смотреть на новинки в подковах, новые методы подковывания лошадей и т.п. И обнаруживаем, что хотя он очень четко выполнял свой план, но к 1910 году его знания (по самому хитрому подковыванию), учитывая активное развитие авто мягко говоря устарели.
А по сему, нужно не только исполнять сам план, а изменять сам план. Идеально постоянно изучать не просто новое, а новое и то, что не похожее на ранее изученное, новое и модное, новое из каких-то дальних отраслей. В целом изучать то, что не просто увеличит на единичку количество ваших знаний, а скорее откроет новую область.
P.S. Видео которое подкинул Sergey Perepechin (в другой статье) смотреть ОБЯЗАТЕЛЬНО!!!! Там как раз много сказано по поводу того, с какой скоростью все меняется.
А что на данный момент является наиболее модным, например, в сфере программирования.
Что бы Вы посоветовали изучить?
А зачем модное ? Изучайте фундаментальное — алгоритмы, построение и анализ =) (прямо эту самую книжку). Имхо — конкретную технологию можно освоить достаточно быстро, но если нету понимания, навыков конструирования ПО — это все равно будет мартышкин труд. А когда будет хороший фундаментальный базис -надеть на него очередную модную маечку а-ля «Diamond on Wheels» или «Perl on Steroids» — будет несложно. ИМХО.
Поздравляю, вы только что организовали себе проблему Backup’а.
Вы считаете, что единственной ценной вещью, является улучшенное подковывание лошадей… тьфу… в смысле алгоритмы. Ну, выучите вы ее наизусть. А в результате спрос окажется, на людей с опытом Flex + LUA и все это крутящееся на каком-нибудь хитром серваке под Linux. А теперь внимание вопрос — кого выберут, знатока алгоритмов или знатока конкретных технологий?
Я в институте и в школе знал кучу разнообразных алгоритмов, причем хитрых и забавных. Ни одного… подчеркиваю… ни одного из них я не использовал за 10 лет работы.
Собственно, я сам подотстал от модного, поэтому и говорю, что нельзя развиваться по заранее намеченной колее.
Проще говоря, время от времени надо отвлекаться от тактики и заниматься стратегией =)
В целом да. Причем нужно пересматривать свои стратегические цели.
Думаю лучше жить сегодняшним днем. Всякое планирование, как показывает жизнь, одно только расстройство. Сегодня надо сделать то-то и то-то. Делаем. Что вышло, хорошо. Что нет, вечерком анализируем почему. Завтра тоже самое.
Хорошая рекомендация для камикадзе — не планируем вообще, руль в руки и что будет, то будет.
Чаще всего мы даже не подозреваем насколько наши знания устарели и отсюда вывод стоит ли постоянно гнаться за их обновлением. Другой вопрос работают ли мои знания, какими бы угодно они не были. Если не работают суперновейшие знания то им та же цена что и неработающие устаревшие знания.
Если не работают суперновейшие знания у них цена выше, чем у неработающих устаревших. Так как суперновейшие легко из неработающих перевести в работающие.
Виктор, и все же вопрос не праздный. Вы уже осознали, что упустили что-то важное — не поделитесь ли этим осознанием с теми, кто уж совсем застрял в сиюминутных заработках? Эй, на флагмане — что там впереди? Что Вы, а тем более я, упускаем?
Ну, скажем честно — у каждого свое направление, так что рифы в одном море не имеют значения, если быть в другом. Но, что точно нужно — бескокоиться о будущих рифах.
В целом, я наступил на следующие грабли. Как программист мой опыт в основном находится в мобильных технологиях. Покрывает он (в разной степени) четыре платформы — WinMobile, Blackberry, Symbian, PalmOS.
В целом проблемы три
а) PalmOS мертв, а Symbian’а у меня откровенно мало
б) iPhone и Android которые являются модными, я слегка прохлопал ушами (так что это надо догонять)
в) Мои знания сосредоточенны в знании платформ + знания о устройстве какого-то конкретного приложения. То есть, общих знаний — а-ля J2EE или ASP.NET, которые можно приложить к куче проектов у меня очень-очень слабенькие
Конечно необходимо постоянно обновлять свои знания, да и вообще всегда надо чему то учиться так что вопрос о том, надо ли обновлять свои знания мне кажется некорректным, скорее уж как часто надо это делать.
лично как по мне, так в постановке вопроса уже кроется, гм, скажем так «проигрыш» …. «нельзя объять необъятное »
для себя я когда-то поделил знания\умения на три «кучки» — первая — это знания собственно о конкретных языках, либах, апи и операционках — конкретику стараюсь вообще не запоминать, что бы не засорять мозги … т.е. обычно за небольшой промежуток времени запоминаешь и так, «мозжечком»
— вторая «кучка» это некие универсальные вещи, которые действуют в достаточно широкой области, например, нормализация таблиц, правильный гуглинг (да и ковыряние в чужих исходниках) или там устройство файловой системы 🙂
сюда же относятся всякие штуки, которые стали называть паттернами
— третья кучка, это собственно вопросы исскуства — создание правильной архитектуры программ, или там тюнинг баз данных … ну в общем те вещи, которые два программиста сделают по разному, это даже не знания, это больше знания о знаниях. вот эта «кучка» самая ценная, вот ее то и нужно развивать .
ну и соответственно я противник фраз типа «изучать языки, технологии, операционнки» … я предпочитаю параллельно к работе придумывать себе некие «хобби-проекты», обычно из разряда «а вот мне для счастья не хватает», под которые я уже по ходу подбираю языки, технологии, операционнки, которые подходят для конкретной задачи и пишу… наигравшись — выбрасываю, иногда оно доживает до состояния что где-нибудь публикую как пень-соурс
иногда даже не пишу, решаю «в уме» вопросы архитектуры и довольный собой придумываю следующий «проектик»
согласен с методом изучения — хобби проект, это действительно хорошая вещь.
Это просто отдельная тема, которую я не слишком и хотел задевать — как именно самообучиться.
>лично как по мне, так в постановке вопроса уже кроется, гм, скажем так “проигрыш” …. >“нельзя объять необъятное ”
М… Идея не состоит в том, чтобы пытаться понять все. Идея как раз состоит в том, чтобы просто добавлять к своему списку то, чего там нету и чего там не хватает.
Опять же, хобби-проект штука вроде неплохая, но зачастую она на может дать результаты внутри одной и той же плоскости.
werer