• Часть 5. Карьера программиста. Middle. Кризис. Первый релиз

      Продолжение рассказа «Карьера программиста».

      2008-ой год. Глобальный экономический кризис. Казалось бы, при чем тут фрилансер-одиночка из глубокой провинции? Оказалось, что даже мелкий бизнес и стартапы на Западе, также обнищали. А это были мои непосредственные и потенциальные клиенты. Ко всему прочему, я наконец защитил диплом специалиста в университете и других занятий, кроме как фрилансить — у меня не оставалось. До кучи, я расстался со своим первым клиентом, который приносил постоянный доход. И следом за ним, рухнули и мои отношения с потенциально будущей женой. Все как в том анекдоте.
      Наступила “черная полоса”, в тот момент, когда должна была наступить пора возможностей и роста. Пора, когда амбициозные молодые люди рвутся строить карьеру и впахивают за пятерых, молниеносно получая повышение. У меня было все наоборот.

      Один на один, с фриланс-биржей oDesk и редкими заказами, протекала моя жизнь. Я по-прежнему жил с родителями, хотя мог позволить себе жить отдельно. Но жить одному мне не понравилось. Поэтому мамкины борщи и папкины сто грамм, скрашивали серые будни.
      Когда-никогда я встречался со старыми друзьями из универа, поговорить за жизнь, да поделиться новостями. Компания СКС из третьей части этого рассказа сделала pivot и перекочевала во фриланс. Теперь Илон и Ален, также как и я, просиживали штаны дома у компа, добывая деньги для существования. Вот так мы и жили: без целей, перспектив и возможностей. Внутри меня все бунтовало, я категорически был несогласен с происходящим. Это был system error в моей голове.

      Первой попыткой что-то изменить, был масштабный по замыслу веб-сервис.
      Читать дальше →
      • +33
      • 18.9k
      • 5
    • Часть 4. Карьера программиста. Junior. Заход во фриланс

        Продолжение рассказа «Карьера программиста».

        Смеркалось. И прямо, и косвенно. Я с большим усердием искал работу программистом, но не было никаких вариантов.

        В моем городе было 2-3 объявления на 1С-разработчика плюс, редкий случай, когда требовались преподаватели курсов программирования. Был 2006-ой год. Я начинал учебу на 4-ом курсе университета, но родители и девушка недвусмысленно мне намекали, чтобы я искал работу. Да я и сам хотел. Поэтому пройдя пару собеседований на должность препода курсов и не снискав там удачи, я уже было ринулся осваивать «1С: Бухгалтерию». С багажом в десятки прочитанных книг и сотней написанных программ на С++/Delphi и Java — я от безнадеги начал учить 1С.

        Но к моему счастью, кабельный интернет уже «завезли» в наш город, и можно было попытать счастья дав объявление о поиске работы на сайтах. Имея почту на mail.ru и нередко туда заходя, я нашел для себя раздел объявления и написал там про весь свой богатый опыт в области разработки ПО. Я уже писал в прошлой части, что первые десять ответов на мое объявление, были в духе — «напиши Гейтсу». А вот 11-ым, был парень, который развернул мою судьбу на 180 градусов, так же, как в свое время это произошло на первом занятии на курсах программирования.

        Мне в ящик упало письмо, примерно такого содержания:
        Читать дальше →
      • Карьера программиста. Часть 3. Университет

          Продолжение рассказа «Карьера программиста».

          Закончив вечернюю школу, пришла пора поступать в университет. В нашем городе был один университет технической направленности. В нем же, был один факультет «Математики и Информатики», на котором была одна кафедра «Компьютерных систем», где обучали будущих IT-шников — программистов и админов.

          Выбор был невелик и я подал документы на специальность «Программирование вычислительной техники». Впереди было 2 вступительных экзамена. По языку и математике.

          Экзаменам предшествовало собеседование, и выбор формы обучения — бюджет или контракт, т.е. бесплатно или за деньги.

          На моем собеседовании присутствовали родители, которые переживали за поступление.

          Разумеется они выбрали контрактную форму обучения. Стоила она к слову около 500$/год, что на 2003 год были большие деньги, особенно для нашего маленького города. Хорошо помню диалог отца с девушкой из приемной комиссии:

          Девушка: Вы можете попробовать сдать экзамены на бюджет, а если не получится, тогда перейти на контракт. Оплатить можно частями.
          Отец: Нет, мы уже решили, что будем поступать на контракт
          Девушка: Ну почему же, вы ничем не рискуете
          Отец: Нет, это все равно риск. Скажите, а на контракт все поступают?
          Девушка: Да, все поступают. Наверное только полные дебилы не могут
          Отец: Тогда у нас шансы есть… ухмыльнувшись, сказал он, и мы подписали документы на поступление
          Читать дальше →
        • Карьера программиста. Часть 2. Школа или самообразование

            Продолжение рассказа «Карьера программиста».

            На дворе стоял 2001 год. Год в который вышла крутейшая операционка — Windows XP. Когда появился rsdn.ru. Год рождения C# и .NET Framework. Первый год тысячелетия. И год экспоненциального роста мощностей нового железа: Pentium IV, 256 mb ram.

            Закончив 9-ый класс, у меня был неиссякаемый энтузиазм дальше изучать программирование. Видя это, родители приняли решение перевести меня в колледж на специальность «Программирование». Они считали, что так будет лучше и там-то меня научат. Слово колледж к слову, мало подходило к этому заведению, на окраине промышленного городка. Это был обычный техникум, ничем не выделяющихся среди других техникумов, которые не повесили на свой фасад лейбу с модным словом «колледж».
            Что ж. Родителям я не перечил и решение их не оспаривал. В любом случае я занимался самообразованием, и подумал что в этом новом месте мне дадут еще какие-то дополнительные знания.
            Читать дальше →
          • Карьера программиста. Часть 1. Первая программа

              imageУважаемые читатели Хабра, представляю вашему вниманию серию постов, которые в будущем я планирую объединить в книгу. Я захотел покопаться в прошлом и рассказать свою историю, как я стал разработчиком и продолжаю им быть.

              Про предпосылки попадания в IT, путь проб и ошибок, самообучения и детской наивности. Свой рассказ я начну с самого раннего детства, и закончу его сегодняшним днем. Я надеюсь, что эта книга будет особенно полезной для тех, кто только учится на IT-специальность.

              А те, кто уже работают в IT — возможно проведут параллели со своим путем.

              В этой книге вы найдете упоминание прочитанной мной литературы, опыт общения с людьми с которыми я пересекался при обучении, работе и запуске стартапа.

              Начиная от преподавателей в университете, заканчивая крупными венчурными инвесторами и владельцами многомиллионых компаний.

              На сегодняшний день готовы 3.5 главы книги, из возможных 8-10. Если первые главы найдут положительный отклик у аудитории, я опубликую всю книгу целиком.
              Читать дальше →
            • 8 правил успешного фрилансера

                Мой последний пост — "Недостатки фриланса", нашел весомый отклик у аудитории хабра (37k просмотров, 380 комментариев). В конце него, я обещал написать новый пост на тему «Как стать успешным фрилансером», для сохранения баланса во Вселенной . Помимо того, в личные сообщения прилетело несколько пожеланий о новом посте-наоборот. То бишь о хороших сторонах фриланса.

                Что ж, сказано — сделано. И я начал писа́ть. Сначала я выписал все темы, которые касаются работы и жизни фрилансера. Затем разбил их на подтемы, каждую из которых можно раскрывать в отдельном посте. В итоге только основных тем получилось 20, в каждой из которых по 3-4 подтемы. То бишь порядка 60-80 постов, если раскрывать каждый нюанс отдельно. Это либо целая книга, либо свой блог, либо youtube канал.

                Свой блог у меня уже был, а вот видео контент — для меня совсем новое явление. Поэтому решено было взяться за эксперимент с ютюбом, и убить двух зайцев — сделать пост об успешном фрилансе и научиться создавать видео.

                Этот пост родился из сценария к
                видеоролику
                с одноименным названием. Кстати, как создавалось это видео, само по себе — отдельная басня. Про этот backstage я наверное расскажу в отдельном посте, ибо не думал, что это занимает столько сил и времени.

                Собственно, под катом отредактированная транскрибация видео.
                Читать дальше →
              • Недостатки фриланса. Личный опыт



                  Это еще один пост из постоянной рубрики «фриланс vs. офис». На разных фриланс-тусовках, да и стоящие рядышком удаленщики, все чаще говорят о том, что работа переезжает на «удаленные рельсы». Эта знаменитая фраза — «Лучшие разработчики живут не в Сан-Франциско, а по всему миру». Проекты с полностью удаленными командами вроде basecamp. В целом рост бирж за последние несколько лет в разы — наводят на мысль, что удаленка и фриланс — это зарождение клондайка.

                  Развалившись в гамаке, на берегу острова Бора Бора, ты неспешно рисуешь скетч или отрабатываешь навыки js-ниндзя.

                  В левой руке махито, в правой мулат(ка). И основным обременяющим занятием есть поход к банкомату.

                  Может так и бывает, но уж точно не у меня. Поэтому, проработав 12 лет на фрилансе (около 11,000 часов), внезапно, я задумался — а что дальше? А почему я топчусь на месте то. Пусть у единиц, но получается расти дальше, расширять базу клиентов, основывать компании, интересно жить в конце концов.

                  Поэтому этот пост с СЕО-шным названием будет именно о том, что не так во фрилансе со «своей колокольни». Во-первых самоанализа ради. А во-вторых для того парня из офиса, который мылится работать на себя, да все никак… За 12 лет много опыта накопилось, есть чем поделиться. Много примеров из опыта.
                  Читать дальше →
                • Как я писал компилятор С++. Пересказ спустя 15 лет

                    15 лет назад не было Хабрахабра, не было фейсбука, и что характерно, не было компилятора С++, с выводом диагностических сообщений на русском. С тех пор, вышло несколько новых стандартов С++, технологии разработки сделали гигантский скачок, а для написания своего языка программирования или анализатора кода может потребоваться в разы меньше времени, используя существующие фреймворки. Пост о том, как я начинал свою карьеру и путем самообразования и написания компилятора С++, пришел к экспертному уровню. Общие детали реализации, сколько времени это заняло, что получилось в итоге и смысл затеи — тоже внутри.

                    image
                    Читать дальше →
                  • Жизнь и пинбол. Что общего?

                      imageРаньше у меня была куча времени, чтобы читать научно-популярные книги: по разработке, саморазвитию, управлению финансами, маркетингу, computer science. Сейчас же ситуация поменялась и накопленные знания уже применяются на практике, а когда появляется свободная минутка, приоритет сместился в сторону «просто потупить». Странно начинать пост в разделе Научно-популярное с такой реплики, не правда ли? Но причина проста: загруженная рабочая неделя и разного рода бытовые вопросы, оставляют свободное время в основном для отдыха мозга. Однако же и на “потупить-сайтах” нашлось место для философских постов. Один человек спросил: «А зачем вы живете? Опишите одной фразой». Под постом образовалась сотня комментариев с дружелюбными и не очень дискуссиями. Вы должно быть слышали, что такое ментальный триггер. Так вот подобного рода вопросы и есть триггерами к тому, чтобы описать весь свой опыт и прийти к какой-нибудь ясности.

                      К слову сказать, еще никто за всю историю человечества не нашел единого ответа на вопрос — «в чем смысл жизни?».

                      Если ответить универсально, что якобы смысл для каждого свой — значит ничего не ответить. Но тем не менее, пытаясь прояснить этот вопрос для себя, можно выстроить определенную систему которая позволит понять и формализовать этот смысл. А затем и провести аналогию с чем-то материальным и осязаемым, в отличии от того, что за пределами привычного восприятия.

                      Для моделирования реальности хорошо подходят игры. Или другими словами геймификация. Разного рода симуляторы, игры Cashflow, Монополия и прочие — отличная модель реальной жизни. Собственно ниже описана модель реальной жизни на основе игры Пинбол (YALM).
                      Читать дальше →
                    • Как написать лучший пост на Хабре. 7 ответов, 7 советов


                        1-го января в 6 утра воскресенья мне пришла мысль поделиться с Хабра-сообществом о том, как писать статьи на Хабр, чтобы они попадали в Лучшее. За сутки, за неделю, месяц, и если вы сможете взломать 3000 паролей или сделать комикс в духе Фриланс vs. Офис, то и в лучшее за все время!


                        Кто я такой чтобы не пить советовать? — Спросите вы. Не вдаваясь в фаллометрию, я просто люблю писать про IT, а зарабатываю на жизнь разработкой на .NET. За что Microsoft (хотя не только за это), выдал мне ачивку MVP и это мотивирует писать дальше.


                        А официально, началось все с Хабрахабра в 2011-ом году. Когда я, задолбавшийся разбирать индусские С++-вермишелины, отрапортовал в песочницу пост про избыточность С++. При этом не сильно рассчитывая на фидбек или инвайт, а что называется — просто выговориться. Каково было мое удивление, когда через пару дней мне прилетел не один, а 3 инвайта. Сам пост взлетел в топ Хабра получив 275 плюсов и висит в “С++ / Лучшее” до сих пор.


                        Так я встал на путь любительского IT-блоггерства. Потом были попытки создать свои тематические блоги про мобильную разработку, стартапы и IT-бизнес. Но времени постоянно постить и PR-ить блог не было, соответственно и трафика тоже полтора человека в день. Поэтому продолжал постить туда, где уже есть аудитория. Был посты на Цукерберг Позвонит (VC.ru), AIN.ua, Geektimes.ru, где-то еще писал, как пить дать. В  общей сложности у меня более 50-ти публикаций на тему IT.


                        Поэтому считаю уполномоченным расшарить советы, которые помогут вам писать качественный контент и получать бóльший фидбек от читателей. Будь то рейтинг, карма, избранное и просмотры. И как итог: ↑реальная карма, ↑общий вклад в IT-сообщество, ↑популярность, ↑авторитет, ↑трафик на ваш сайт.

                        Читать дальше →
                      • Выгорание фрилансера на Upwork. Причины, инструменты, решения

                          Мне не раз приходилось слышать: «Upwork — это же геморрой. Мне приходится тупо кликать мышкой, смотреть фильм на ноуте, чтобы побольше высидеть часов. Поэтому я ушел на XYZ...». Вот этот тезис, личные проблемы с продуктивностью, а также немалое количество self-help книг, побудили меня написать этот пост. Вся моя IT-карьера, связана с Upwork (который был oDesk). Это немного-немало 10,000+ часов работы, 10+ лет проведенных в этой системе, с короткими перерывами.

                          Но была одна серьезная проблема, баг в моей ментальной системе — это регулярное выгорание от работы, которое я не осознавал. Было плохо, нервозно, тревожно, но причину не удавалось найти. Она сидела где-то глубоко в подсознании, зарывшись поглубже еще в раннем детстве и не позволяла увидеть реальное положение вещей. Как наступило просветление и что делать во избежание выгорания — читайте под катом.
                          Читать дальше →
                        • Баг в Visual Studio 2017 RC при использовании новых возможностей C# 7

                            Многие из вас, те кто из мира .NET, наверное уже в курсе, что не так давно (месяц назад) Microsoft выпустила Visual Studio 2017 RC, в комплекте с которой разумеется идет C# 7. Что называется на суд энтузиастов. Изучая возможности новой версии, у меня внезапно упала Visual Studio. Каким образом — читайте под катом.
                            Читать дальше →
                          • Каким может быть программирование будущего. Новый взгляд

                              image
                              Людям всегда интересно будущее. Я человек, человек-программист, и мне интересно будущее программирования. На Хабре/Geektimes уже встречались подобные статьи, и в сети тоже можно было почерпнуть немало на эту тему. Сегодня я привожу свой список возможных нововведений в области программирования в ближайшие 10-20-50 лет. В посте вы найдете сравнительный анализ причин и необходимости появления нынешних языков программирования, и описание возможных причин появления новых языков и инструментов. Ключевое слово тут необходимость, так как причина рождает необходимость сама по себе.
                              Читать дальше →
                            • 5 способов получить положительный отзыв

                                Как известно, репутация во фрилансе — это основа успеха. Ценность хорошего отзыва от клиента сложно переоценить. На этом строится успешная карьера, качество получаемых проектов и их стоимость. Рекомендации ниже помогут вам чаще получать положительные отзывы, а также застраховать себя от негативных.
                                image
                                Читать дальше →
                              • Ищем деньги. Каталог инвесторов для стартапа


                                  Здравствуйте уважаемые Хабравчане, особенно те, у кого есть идея своего стартапа! А вот с деньгами и осведомленностью похуже. Хочу Вам в помощь поделиться небольшой таблицей IT-инвесторов, которая была составлена для себя. Дело в том, что я также как и вы, обладаю минимум информации. Такие вопросы как: «к кому идти за деньгами», «как составить бизнес-план», и наконец «кому я вообще нужен со своей идеей» — давно стали навязчивыми.
                                  Именно сейчас, после Новогодних праздников, самое время начать искать тех самых менторов, инвесторов, бизнес-ангелов, да и в целом зачитываться информацией на эту тему. Да, и у меня есть свой стартап, который перестал быстро развиваться и я активно ищу инвестора на дальнейшее развитие (О чем уже писал неделю назад).
                                  Под катом таблица, со списком полезных ссылок, в помощь начинающим IT-компаниям.
                                  Читать дальше →
                                • О стартапах и векторах

                                    Наступает Новый Год, курсор Блокнота приветливо мигает, в заголовке окна виднеется «Безымянный». На самом деле, как назвать этот текст? В голове как всегда табун мыслей перебивающих друг друга. Мне есть что рассказать, однако нет единого вектора, который бы задекларировал четкий путь рассказа.

                                    image

                                    Один вектор о фаундере-романтике, который слепо верит в свою идею. Второй, о том как создаются стартапы и что для этого нужно. Третий о выводах. Выводы о том, что мы не можем оценивать критично, то что любим. Три вектора и одновременно три темы пересекающиеся в одном посте. Помните, как у Джобса, — "… всего лишь три истории, ничего более".
                                    Читать дальше →
                                  • Сканер вирусов изнутри


                                      Последний год я работал над реализацией вирусного сканера для одной антивирусной как ни странно компании.
                                      Пост являет собой выжимку приобретенных знаний, и повествует хабрасообществу о внутреннем устройстве как ни странно антивирусного сканера.
                                      Сканирующий движок или сканер — это фундамент антивирусного пакета. Являет собой бэк-энд антивируса и, как правило представлен в виде dll, так как сканер используется сразу несколькими программами из пакета.
                                      Графическая оболочка в этом случае — лишь красивая обертка для отображения результатов движка. Всю полезную работу, делает движок в бэк-енде.
                                      Читать дальше →
                                    • Структура Radix Tree для сжатия данных

                                        Этот топик повествует об использовании Radix Tree на практическом примере. Radix Tree или дерево остатков — это структура данных, формируемая по принципу хранение значений в листовом узле. Промежуточные узлы представляют собой элемент конечного значения. Это может быть бит для чисел, символ для строк или цифра для номера, как в примере ниже. Приведенный алгоритм сжатия с использованием Radix Tree используется в реальной embeded системе, для хранения параметров телефонного файрвола.
                                        Читать дальше →
                                        • +16
                                        • 9.9k
                                        • 5
                                      • 2 минуты с Биллом

                                          imageТак уж случилось, побывав в Сиэтле я смог застать Гейтса во время очередного интервью. График у него расписан поминутно, поэтому чтобы задать вопрос пришлось пройти несколько препятствий. Когда Билл направлялся в аэропорт, мне удалось его перехватить. (Летел он к слову в страну Антигуа и Барбуда). И за 120 секунд я задал всего пару вопросов, представившись журналистом из Украины.

                                          Привожу вольно, как было:

                                          Я — Hello Bill! I am an journalist from Ukraine. Can I ask you a couple of questions?
                                          Б — Sorry I am hurry.
                                          Я — Just a couple of…
                                          Б — Ок, Ок (это произносится на ходу, пока Билл проходит Сиетловкий аэропорт)
                                          Я — How do you see the software industry in future?
                                          Б — Мы стремимся к тому, чтобы программы запускались на каждом устройстве, где могли бы работать. В том числе, действия пользователя не должны быть сидя, они буду более мобильны. (Вольный перевод.)
                                          Я — Билл, какова стратегия Майкрософт, по отношению к социальным сетям и посковым системам. Как вы планируете конкруировать?
                                          Б — (улыбается) Сейчас я этими вопросами не занимаюсь.
                                          Я — Но все же, каким вы видиете Майкрософт в будущем.
                                          Б — Мы хотим делать софт, везде где он может принести пользу. Извините, я спешу.
                                          Я — Спасибо большое.

                                          Конечно, сама встреча с Биллом побудила меня запостить. Конкретных ответов, как это и полагается, не последовало.
                                          Всего лишь делюсь тем, что успел запечатлеть.

                                          P.S. Пишу с мобильного, поэтому звиняйтся за скучность и возможные ошибки.