Весь последний год я занимался всякой херней:
- читал русские и заграничные блоги
- тупил в Сети
- смотрел фильмы
- играл в игры
- начинал что-то изучать но не заканчивал
- немного писал на лиспе, совсем немного на питоне, джаве и аштиэмэле
- завел этот блог
- добрался до четвертой главы SICP
- пытался переписать библиотеку Iterate с Common Lisp'а на Clojure (кодоволкер таки переписал)
- досконально изучил пятую главу CTMCP (о конкурентном программировании и передаче сообщений), посмотрел курс лекций UC Berkley CS 61 A и половину курса CS 61 B.
Все это время я работал дворником: каждый день я тратил на выполнение своих служебных обязанностей 10 минут. Работа пыльная, но если прикинуть соотношение затрат времени (что-то около пяти часов в месяц) и уровень оплаты, то в целом, не такая уж и плохая. Однако в феврале произошла неведомая мне перемена в устройстве местных служб жилищно-коммунального хозяйства и моя простая, бесхитростная и весьма экономичная в плане ресурсозатрат работа закончилась.
Если бы я уволился на несколько месяцев раньше — не думаю, что я стал бы искать новую работу, но к тому времени затяжной семейный апокалипсис подошел к концу и я подался на барахолку смотреть вакансии. По Уссурийску почти ничего не нашел, зато вакансий по Владивостоку было несметное количество, при том что Владивосток мне нафиг не нужен. Мать же поступила проще: она открыла газету с объявлениями «Из рук в руки» — как по мне — последнее место где айтишник стал бы искать работу. Как ни странно, но в газете я нашел целых три вакансии программиста в Уссурийске. Позвонил, зашел в первые две фирмы — одним нужен был человек для поддержки сайта, эникейщик для неопределенных занятий. По-виду работодатель с трудом понимал что же ему надо на самом деле. Вторыми нужен был человек для работы с камерами наблюдения. Камеры видеонаблюдения в современном народном хозяйстве есть ясно прослеживающийся тренд; все портило только то, что это была всего лишь еще одна мелкая фирма с руководством, которое хотело нанять человека для чего-то там иди поговори с нашим инженером.
В третьей фирме я работаю уже второй месяц. Маленькая компания, занимающаяся устанавкой камер видеонаблюдения, прокладкой всяких разных сетей, плясками с бубном, и время от времени — написанием софта для промышленных объектов силами руководителя, фрилансера и пары неведомых мне личностей.
Если раньше я работал 5 часов в месяц, и большую часть оставшегося времени пинал балду, то теперь я работаю с 9ти до 6ти 5 дней в неделю. Ну как сказать работаю… Сейчас я занимаюсь примерно тем же, чем занимался последний год в свободное время: это учеба и программерская практика; но сейчас все серьезней, в больших объемах и с настоящей нагрузкой, не дающей бездельничать и растрачивать свое время попусту. Работа это переход из мира розовых пони и программистов, пишущих на лиспе в эмаксе в суровый российский реал ворлд, которым овладела корпорация зла: начиная с компьютера на котором я пишу по-работе, заканчивая всеми остальными компьютерами в городе (и во всех соседних городах тоже.)
Мои любимые технологии из мира розовых пони проиграли в столкновении с суровой правдой жизни. Линуксу, эмаксу (под виндой он невыносим), лиспу и даже питону (как знать, может быть напишу еще что-нибудь на F#), гиту (на этот счет я все еще теплю надежду покуда SVN в конец не остоп*%дит) и гитхабу (как оплоту всего хорошего в программерском мире) нет места в моем деле.
P.¶.S. Когда через полтора месяца после начала работы дело дошло до документирования проекта, я сдул пыль с «Путеводителя по пакету LaTeX и его расширению LaTeX2ε», поставил TeXlive и NOWEB, открыл Emacs и начал педалить документацию вперемешку с исходниками (знаю, я дурак.) Да, Visio хорош чтобы по-быстрому набросать десяток-другой схемок, но пользоваться Вордом для документирования программ это полный пиздец, тут уж как ни крути.
Я год писал для JVM, но за всю свою жизнь я не написал и десяти классов на джаве. Ближайшие несколько месяцев мне предстоит иметь дело исключительно с Java ME. Первые две недели я пытался организовать под виндой хоть сколько-нибудь рабочее окружение для кодинга для мобильников: перепробовал все 3 среды разработки, посмотрел на богомерзкие средства для кодинга мышкой и взглянул на поражающий воображение своей колоссальностью автосгенерированный Ant-скрипт для сборки проекта. В итоге остановился на варианте Netbeans + Maven + консолька MS PowerShell.
Но кодинг в нашем деле — вещь десятая. Вняв мудрому наставлению, прежде чем написать хоть одну строку я сел за проектирование, черт меня дери. Сидел себе и проектировал, открыв по случаю слайды курса MIT 6.005 Elements of Software Construction. Да, это были две недели дизайна стэйт машин и сетевых протоколов в контексте эргономичного пользовательского интерфейса. Еще две недели неспешного кодирования, и скелет программы готов. Чтобы позже не поиметь головной боли с локами и пятью потоками решил не заморачиваясь с самого начала иметь в виду «Десятое правило Гринспуна»
Любая большая система на C или Java содержит тормозную и бажную реализацию половины Common Lisp.
и наваял самопальную тормозную бажную полу-Эрланг-полу-Кложу.
Что будет дальше не знаю, но работа обещает быть интересной.