Приветствую Вас, уважаемый посетитель!

Меня зовут Александр Гудок. В настоящий момент я являюсь создателем и владельцем
данного сайта, а также некоторых других ресурсов по смежной тематике. Все свое
рабочее время я отдаю изучению и практическому применению возможностей
технологии .NET. Это дело мне настолько нравится, что профессиональное занятие
фактически стало моим увлечением, хобби. Ввиду этого, в личной жизни у меня два
любимых занятия: разработка программных продуктов и проведение свободного
времени с семьёй; к сожалению последнее бывает не часто.
Собственно, почему я этим занимаюсь.
Для начала немного предыстории.
В свое время я окончил среднюю школу (почти школу, это был технический лицей),
поступил в технический университет на специальность «Лазерная и оптоэлектронная
техника». Сегодня всем известны оптоволокно, лазеры, оптические процессоры и
прочие связанные с этими словами понятия. В старших классах изучая физику
мне особенно понравился раздел физики "Оптика". Поэтому и решил поступать на эту
специальность. Учился средне, но парадоксально. По обычным
(для многих студентов) простым предметам еле-еле вытягивал 4-7 баллов (по 12-ти
бальной системе), имел по 3-5 задолженностей в конце семестра. Бегунки, выговоры
и ощущение себя неучем доставались мне за неуспеваемость. Два раза чуть не вылетел за
академическую задолженность. Связи отца удерживали меня на плаву.
Но по самым трудным, наводящих ужас на
студентов, профильным предметам я с патологической легкостью имел 11-12 и при этом
не очень то и напрягался, просто как-то само-собой перло. И вот тогда я впервые изъял
практическую пользу от скудных познаний языка TurboPascal. Ни разу за всё время учебы в
институте по этим самым ужасным предметам я не выполнял только свои задания. Почти вся группа
имея для каждого свой вариант очередной расчетной работы по некоторому предмету тормошила меня
и просила помощи. Ну как отказать. Я свое сделал. Значит, я могу и понимаю. А если не помогу, значит - крыса.
А помогать всем доводило до личной неуспеваемости. Я стал писать программки на Паскале конкретно
для решения очередной расчетной работы. Я тратил неделю-другую на точное кодирование логики
пути решения (для любого варианта) и потом экономил себе два месяца дурных решений. Выгоды налицо.
Так я научился в программировании обходится минимальным запасом знаний, что в последствии негативно
скажется на моей способности "красиво" писать код.
Так, одни преподаватели смотрели на меня как на слабенького неприметного троечника, другие преподаватели
открыто высказывали свое уважение ко мне и иногда, даже помагали.
Парадокс. Но я так учился.
Дожил я до 5-го курса. По программированию я знал самые азы языка TurboPascal.
Объявление переменных, условный оператор, цикл for и многомерные массивы. Больше
ничего, профиль то - не программное обеспечение, а «железки» типа ЦПУ, память и
т.п. Программировать очень хотелось, но жизнь распоряжалась иначе.
В итоге, в конце пятого курса я успешно защищаю диплом по теме «Устройство для
параллельного перемножения трех матриц картин-изображений». Если просто, то
работа свелась к разработке алгоритма и его последующей зашивкой в оптическое
ЦПУ (оптопроцессор), который параллельно выполнял перемножение трех матриц
большого размера. Что это значит. Это значит, что с космоса получают снимки
удаленных объектов и для выполнения необходимых преобразований в реальном
времени надо очень быстро сформировать тройное произведение составляющих (что-то
похожее в медицине при проведении УЗИ выполняется на последовательных
компьютерах) . С этой задачей не могут справиться современные последовательные
компьютеры (те которые стоят в каждом доме). Это под силу только оптопроцессору.
Как каждый уважающий себя студент за диплом я взялся меньше чем
за месяц до его защиты. Забегая наперёд
скажу, что все это время пыхтел как паровоз. А в последнюю ночь техника подвела
и на утро комиссия еще час ждала пока какой-то «неуч» (я) в спешке дооформит все
чертежи в дипломной работе. Меня спасла только новизна темы и реальные
результаты реальной работы.
В общем, вместе с моим научным руководителем мы получили результаты в 1000 раз
(!) превосходящие единственного на то время аналога нашего устройства разработанного в
Израиле. Это было нечто! Приятно, что после этого заведующий кафедры, где я
учился, в переносном смысле бегал за мной с просьбой оставить ему копию своей
работы. Правда, неимоверным образом на следующий день электронный вариант моей работы пропал навсегда
вместе с упавшим от вирусов Windows. И материалы диплома пришлось сканировать
с одолженного у архива на 1 час мне моего же диплома.
Эту разработку обещали запатентовать, но… как всегда.
Дальше бумаги дело не пошло. И хотя мне
сразу предложили работу в одном из технических центров, я с удовольствием
отказался. Дело в том, что всю жизнь у меня было две мечты: служить в спецслужбе
и стать крутым программистом. Первое желание было сильней.
Спустя некоторое время и заплатив немалую цену (я о службе в армии, переживаниях,
тестированиях и долгого пребывания в состоянии неизвестности без копейки в
кармане) я попал на службу в СБУ. Да и как, не кем-либо, а самим опером. Вау! Я
был на седьмом небе от счастья! Я гордился своим достижением и личной
пригодностью для работы в спецслужбе. И перегрузки в работе меня не пугали.
Поначалу работа шла на ура. Все получалось с пол-оборота. Все как-то само-собой
шло, ну просто пёрло мне. Работал сутками напролет.
Однако, мой пыл постепенно таял.
Ничтожная зарплата, отсутствие выходных и почти суточный рабочий день стали меня
сильно подкашивать. Романтика стала заменяться рутиной. Ко всему прочему
я и моя семья просто захлебывались от
безденежья. Кроме престижа в семье только шар катался. Дома не бываю, жену и
детей не вижу, денег не приношу, днем терплю на работе, ночью выслушиваю дома.
Исхудал как бродячий кот…
Тут все перевернул случай.
По роду служебных занятий мне довелось осваивать язык
PHP. Ну понадобилось для одного дела. Пошел на курсы, неплохо освоил азы, и свое
очередное дело в службе я завершил удачно. Но, занятия по освоению языка
программирования мне настолько понравились, что бросать это дело я не стал и уже
из собственной инициативы выкраивал время на своем служебном компьютере
занимаясь языком PHP.
Через некоторое время я посчитал себя уже достаточно развитым в этом
направлении, что бы попробовать подрабатывать разработкой сайтов. Как сильно я
ошибался. Благо, что тогда я просто верил в себя. Разместил в местной газете
объявление и получил таким образом первый заказ. Заказчик хотел иметь очень
простой сайт (чистый html без php) но очень скоро. В моем распоряжении был один
вечер и полное отсутствие опыта. Надо сказать, что и интернетом в то время я
пользовался крайне редко. В итоге горе-сайт за один вечер был создан. За него я
заработал треть своей месячной зарплаты. И тут Остапа понесло. Вы поняли, о чем
я. Все больше времени я отдавал созданию сайтов, все меньше службе в органах.
Так дальше продолжаться не могло. Я решился оставить службу в СБУ и с головой
окунуться в разработку сайтов.
Но как я оказался приверженцем технологии .NET.
Временные заработки на создании домашних сайтов стали быстро падать. Я стал
рассматривать вариант трудоустройства php-разработчиком. Но тех знаний, что
имелись у меня, оказалось не достаточно. Я стал упорнее работать над этим. И
вот, по совету знакомого я оказался на собеседовании в одной софтверной
компании. Человек, проводивший собеседование мне говорит: «PHP? Это хорошо. Но нас это не
интересует. Да, мы этим занимались, но сейчас мы развиваем только направление .NET. Если есть желание,
можете попробовать освоить язык C# и тогда приходите опять».
Я думал несколько дней. Ведь на кону висело дальнейшее мое положение:
либо накапливать дальше уже немалые познания в области PHP, или потерять все это время
и начать с нуля осваивать новую технологию. Ознакомившись в интернете сравнениями характеристик
этих двух направлений я выбрал второе. И не ошибся. Опыт, полученный на PHP я в последствии использовал
при изучении ASP.NET.
В итоге взял у них тестовые задания на проекты и стал
учить язык C#.
Достаточно быстро я освоил его синтаксис, с объектно-ориентированной философией
кое-как разобрался. Освоил Windows Forms, затем сразу ADO.NET. Впрочем, как все.
Поделал задания и принес на проверку. Каждое приложение
работали правильно, но код оказался ужасным. Разобраться в нем было нереально.
Да и к тому же полное отсутствие применения основных концепций .NET
(полиморфизм, инкапсуляция, наследование). Откуда им взяться, если я в глаза не
видел кода коммерческих продуктов. Но со временем на таких тест-проектах
набрался уму-разума. Ну а дальше была работа в такого рода компании, потом в
другой, третьей, …, n-й.
Работа нравилась до тех пор, пока было новое, еще не изученное. Как только я
доходил до пика достаточного развития в рабочем проекте, я сразу терял к проекту
интерес и соответственно результаты начинали падать. В этом случае либо
повышение интереса к работе, либо смена проекта, зачастую вместе с фирмой.
Такая линия поведения характерна многим разработчикам, ведь создание продукта не
только сплошные нолики и единички, это некоторое искусство, философия.
Кстати, я еще и тестировщиком успел поработать.
Однако это мне совсем не
понравилось. Не потому, что это не интересно, а потому, что лично мне это не
понравилось. Но при этом я достаточно уважаю тестировщиков – работа адская.
Кроме того, выполняя самому свои личные заказы приходится совмещать в себе и
руководителя, и разработчика, и тестировщика проекта.
Так, что - все профессии нужны, все профессии важны.
Сегодня я не могу сказать, что познал всю философию .NET. Очень многие вещи мне
ещё незнакомы. Однако, оглядываясь назад к моменту принятия решения посвятить
свою жизнь разработке программного обеспечения, я рад, что фундаментом для
этого, по воле судьбы, я выбрал именно технологию .NET.
Благодаря .NET я реализовал старое желание узнать и, что самое главное, уметь
самому создавать обычные Windows-приложения, игры, базы данных и сайты. С самой
ранней юности я смотрел на работу компьютерных программ и думал как это все,
наверное, тяжело и нереально для меня. Это сколько знаний и ума надо иметь, что
б создавать, например, игры.
Но как только я стал этим интересоваться, как все эти вещи оказались настолько
простыми, что я смеюсь с тогдашнего себя, мол, как можно так все накручивать!
В заключение, наступило время, когда не только я замучивал всех и вся вопросами
по C#, но другие люди тоже стали искать моей помощи. Мне это было приятно. Я
начал осознавать, что первый старт выдержан и есть смысл двигаться далее. Так
родился данный сайт и продукты на DVD.
Контент сайта стараюсь нести в самой простой форме,
дабы помочь начинающим
разработчикам освоить язык C# и технологию .NET. Опытные программисты в состоянии
сами искать ответы и решать возникающие проблемы. Новичку порой очень затруднительно найти
подходящее решение его задачи. С этой целью и был создан данный ресурс. Когда-то
я сам был зеленым и неотесанным, катастрофически не хватало помощи со стороны,
совета и тыканья носом. Приходилось рыть землю этим самым носом. Поэтому, не
бойтесь оставлять вопросы на сайте. Не надо переживать о том, что Ваш вопрос
очень примитивен и, что Вы можете показаться в дурном свете. Не заморачивайтесь.
Все когда-то начинают с нуля.
И помните, что каждый генерал хотел бы поменять
свои генеральские погоны на лейтенантские я-ца. Поверьте, это так. Вдобавок
замечу, что сегодня имея за плечами не один собственный коммерческий проект, я
по сей день частенько ищу ответы на других сайтах, форумах, у знакомых и коллег.
Все знать нереально. Главное уметь решать новые и нетипичные задачи. Никто из
.NET-разработчиков не знает досконально соответствующий язык программирования.
Даже, если он в 10-й раз пишет подобную штуковину, он каждый раз вспоминает
былые знания, которые очень быстро нивелируются. Но такой программист не боится
этого поскольку, имея голову на плечах, фундамент понятий технологии .NET и
кой-какой опыт он всегда успешно решит возникшую задачу и получит от этого кайф
и деньги, от которых тоже получит кайф 8)
P.S. В свое время, посещая различные
бесплатные тренинги, общаясь на форумах я часто задавал вопросы типа: «А что
такое …?», «А зачем вот это…?», «А вот я встречал в книге такой значок #. Когда
он используется?», «А как сделать такое…?». С меня втихаря смеялись.
Оборачивались и внимательно смотрели, кто это ляпает такую ерунду. А на форумах,
где не знаешь собеседника, даже оскорбляли. Я не обращал внимания, ведь если
знатоки мне не объяснят, то кто же тогда. Плюс, не всегда задавая вопрос я не
знал на него ответа. Просто, на один и тот же вопрос разные программисты
отвечают по-разному. От сюда и реальные собственные знания по таким вопросам.
Вот в чем смысл постоянного задавания «тупых» вопросов.