Я как-то записывал видео про то, как у меня менялась должность, когда я работал в консалтинговой компании в Канаде. Я начинал как простой программист, но когда моя заработная плата увеличивалась на 10 тысяч долларов, то автоматически менялась и должность, хотя обязанности и знания совершенно не менялись. Когда я работал простым программистом я писал C# код, оптимизировал базу данных, администрировал рабочие сервера клиента, поддерживал SQL, запускал код в продакшн, не говоря уж о CSS, HTML или JavaScript. Через год работы я уже и решал, каким образом решать задачи клиентов, то есть сам принимал решение об архитектуре и подходе.
Эта тема мне далась очень сложно, потому что я не любитель всех этих точных определений и тем более не любитель дискутировать на эту тему. Очень часто сложно найти точное определение, поэтому я их просто не даю, а просто описываю вещи простым языком. И вот тут как раз очень часто люди придираются к моим словам, что я сказал что-то не точно и есть более точное определение. Еще раз повторю, что я против определений.
Я уже несколько раз уже говорил, что у меня нет специального ИТ образования, почти все, что касается программирование приходилось изучать самому. Были курсы в МГТУ им Баумана – программирование SQL Server, администрирование SQL Server, в Канаде были недельные курсы по программированию для iOS и на все меня направляли компании, в которых я работал.
Можно сказать, что это будет продолжение моей биографии. Меня долго просили рассказать, про текущую работу, но я никак не мог придумать, что такого интересного вам рассказать. Если честно, я и сейчас не особо представляю, что рассказать, поэтому буду писать и посмотрим, что получится в конце.
Мне ни разу не доводилось работать в компании, где бы практиковалось парное программирование, но я хорошо отношусь к этой идее и с удовольствием попробовал бы.
Недавно под одним из видео бал комментарий, что в реальности почти все (кажется, довелось число около 90%) программисты не используют алгоритмы и им это не нужно в работе.
Что делает программиста счастливым? Деньги? Ну они делают наверно каждого человека по своему счастливым, программисты тут не исключение. Заработная плата действительно сильно влияет на то, сможет ли компания удержать специалиста или нет, может даже повлиять на производительность, но это не единственное, что необходимо для того, чтобы программисты не убегали в другие компании.
Идея создания сайта vr-online родилась по двум причинам – мне нужна была практика Web программирования и на тот момент в интернете почти не было подобных сайтов. Были о программировании, были различные форумы, но мне захотелось создать что-то именно в формате журнала, когда статьи оформляются как электронный журнал.
Я увидел тут код, с не очень приятной для мена архитектурой, где бизнес логика выполнена в виде больших интерфейсов. В каждом интерфейсе было по несколько десятков методов. Я с таким встречался раньше и обычно за подобным интерфейсом скрывался класс фасад, который скрывает вызов сложных вещей.
При удалении записей в базе данных они только помечаются, как удаленные, а место реально не освобождается. Это позволяет значительно увеличить скорость удаления, но при массовой чистке данных это может быть не совсем то, что вам нужно.
Продолжим знакомится с производительностью базы данных MS SQL Server и как ее улучшить и сегодня я решил рассказать про две примерно смежные темы - фрагментация индексов и статистика. Обе темы объединяют как раз индексы и они влияют на их производительность, поэтому я решил рассмотреть их одновременно.
В самом начале пути программиста желательно прочитать книгу по базам языка программирования, который вы выбрали. Я в основном C# программист, поэтому посоветую книгу только по этому языку. Хотел бы посоветовать что-то по Java, но не могу, потому что с этой платформой я не связывался уже более 10 лет. Последний раз что-то читал более 10 лет назад.