Намедни возникла мысль, которая еще не полностью сформировалась, но что-то в ней есть. Не уверен, что это относится к другим профессиям, потому мысль относится к сфере IT. А точнее к разработчикам. Работая над каким-то проектом разработчик все глубже погружается в используемые в нем инструменты, технологии, языки. И чем дольше он занимается этим проектом, тем более узким, или наверное точнее будет сказать заточенным, становится набор его умений. Он не забывает окончательно все, что знал до этого. Основы других языков и областей, общие какие-то принципы и понятия, названия и назначения инструментов, которые не используются в текущем проекте. Однако у него уже не получится просто взять и переключиться на другой, забытый или еще незнакомый инструмент. Особенно вне рамок текущего проекта. Уйдет время на отвыкание от приобретенных привычек и рефлексов, на чтение, пробы, обучение новому.
Возникает аналогия с амортизацией, финансовые и временные расходы на которую необходимо учитывать при использовании автомобиля или любой другой техники. Чем активнее используется, скажем, автомобиль, чем более неровные дороги он покрывает надрывая двигатель, тем дороже и дольше обойдется его ремонт и восстановление. А рано или поздно это придется делать. Или менять его на новый автомобиль. Можно, конечно, делать текущий Т/О достаточно часто, чтобы предотвратить критические поломки. Но это связано с дополнительными затратами на транспортировку к месту ТО, на сам осмотр и т.д. В случае программиста чем дольше он занят на одном проекте, и чем глубже он в него погружен и, соответственно, не имеет возможности отвлечься на развитие в других направлениях, тем больше он упускает новинок. И тем больше ему придется наверстывать, когда по той или иной причине ему таки придется уйти из проекта. Как и в случае с периодическим техосмотром авто программист может (и должен) иногда переключаться на другие активности и направления. Однако, как и в случае с авто, это связано с последующими временными затратами на восстановление "потока" в текущем проекте. Ну и на дорогу туда-сюда. И стоимость этого периода наверстывания так же должен быть включен в стоимость текущей эксплуатации знаний программиста, чтобы потом компенсировать месяц, полгода, год, которые уйдут на разгребание навалившихся новых фреймворков, технологий, версий операционок и языков.
Показаны сообщения с ярлыком жизнь. Показать все сообщения
Показаны сообщения с ярлыком жизнь. Показать все сообщения
24 мая 2016 г.
16 апр. 2016 г.
Репост: Переживания цивилизованного человека.
Статейка про природу нашего беспокойства. Для хомо сапиенс характерно больше беспокоиться и переживать за будущее, чем за кратковременное настоящее. В отличие от менее развитых существ. Чем более цивилизовано общество, тем меньше его членам нужно заботиться о сиюминутном выживании, но тем больше они вынуждены переживать за свое и сородичей будущее. Образование, перспективы, зарплата, семья... И чем меньше уровень цивилизованности, тем короче тот период времени, за который человек пытается заглянуть. Причем это заметно и в современном обществе. Чем спокойнее и стабильнее живет страна (тот же СНГ), тем дальше начинают загадывать ее граждане — на 10, 20 и более лет. В 90е загадывать на год-два вперед было уже сложно.
В отличие о людей, у животных таких проблем нет. Поймал оленя, съел, валяешься под деревом и ни о чем не думаешь. Только пытаешься сам не стать съеденным.
В отличие о людей, у животных таких проблем нет. Поймал оленя, съел, валяешься под деревом и ни о чем не думаешь. Только пытаешься сам не стать съеденным.
Let’s pretend for a moment that you are a giraffe. You live on the grasslands of the African savannah. You have a neck that is 7 feet long (2.1 meters). Every now and then, you spot a group of humans driving around on a safari taking pictures of you.
31 янв. 2016 г.
Почему так мало людей становятся программистами?
В дополнение к статье "Не будите спящего программиста" хочется зафиксировать еще одну статейку, правда на английском. Это ответ на вопрос на сервисе Quora: "Why Don't More People Work As Programmers?" Поскольку подобные сервисы грешат всякими пропаданиями, зафиксирую ее копипастом здесь. В кратком изложении заметка рассказывает о том, что быть программистом (от себя добавлю, что описание может касаться и некоторых други Software специальностей типа DevOps и QA), нужно постоянно учиться чему-то новому, постоянно соревноваться с новичками, которые знают меньше, но готовы пыхтеть ночами, говнокодить, использовать кучу лишних костылей и велосипедов, постоянно нужно быть в курсе новых технологий, веяний, языков, инструментов... И к тому же, нужно учиться создавать продукты во все более узких рамках и короткие сроки. Постоянно. Бесконечно. Далеко не все могут, хотят, готовы на такие темпы.
Becoming a good programmer is incredibly difficult and it doesn't happen quickly.
We can't expect to plant some trees and have 2000-year-old redwoods grow overnight, regardless of the demand for them.
Personality traits
Not having these personality traits is enough to weed out most people.
Subject Matter
Work/Life Environment
On top of that there are the management aspects.
Programmers are often treated like factory workers. People with no programming talent (and less business sense) are often in charge of projects. They think programmers are cogs in the machines. The truth is programmers are artisans and to get the best results from a project the wise thing to do would be to ask the people who are experts at programming how things should be done! Just about every project ends up being over budget and behind schedule, forcing programmers to work tons of uncompensated and unappreciated overtime to deliver a poorly-designed and poorly-tested product. The great programmers realize that they're not being paid more than the crappy programmers because management can't tell the difference - and on top of that, they're doing extra work to compensate for other programmers being below-par. And great programmers who speak up and try to change things for the better are often intimidating to managers, who often try to get rid of them (which is a general employment trend discussed in other posts). Enough of this and it's easy to see why good people get fed up with the profession - especially since there are plenty of other opportunities. People who are even average programmers, as long as they're reasonably good at dealing with people, have enough skills to be successful in a variety of other professions. Programming is something that can be easily transferred out of, but not into.
Good programmers are probably less likely to be randomly looking for work.
It's easy to find programmers. It's hard to find good programmers. The crappy programmers are probably perpetually looking for work. The good programmers, if a company realizes that they're good, should do whatever it takes to hang on to them, so they're probably looking for work a lot less often. And when they do they're choosy about where they want to work - which would explain why many companies claim "there are no good programmers available - all we can find are crappy ones." As has been said elsewhere, a good programmer can certainly be worth several times what an average programmer is worth, and a crappy programmer can actually have negative value. And it's really tough (if not impossible) for crappy and average programmers to turn into good ones - and certainly not worth the investment for any startup to try to undertake when they're supposed to be focused on developing something quickly and getting it out the door.
Becoming a good programmer is incredibly difficult and it doesn't happen quickly.
We can't expect to plant some trees and have 2000-year-old redwoods grow overnight, regardless of the demand for them.
Personality traits
- One basically has to be an autodidact to learn programming. It takes years of practice to learn everything necessary to get beyond just a basic level where you can write short programs that work. No one has ever become a great programmer just by taking classes or reading books. It takes hours of practice. And contrary to popular belief, CS programs do not teach programming. CS programs teach theory.
- As a programmer you need to have nearly unlimited persistence to continue trying to troubleshoot, fix, and develop things. It takes a special person to persist this much, especially when it often seems like you're not making any progress. This is pretty much a personality trait, and not having this level of persistence is enough to turn off most people who don't have it from the profession.
- You need to be exceptional at math and problem solving. Programming is a LOT of problem solving.
- You need to have an excellent short term (and long term) memory so that you can juggle multiple things in your head simultaneously, and remember what you wrote a month ago.
- You need to have a great understanding of how things interrelate and how to design good architecture. If I change this little thing here, what might I be breaking elsewhere?
- You need to have incredible attention to detail. Close doesn't cut it in programming. Forget a semicolon somewhere? Program isn't going to compile! Misspell a function name? Your program could be doing something completely different than you anticipated.
Not having these personality traits is enough to weed out most people.
Subject Matter
- You need to have a strong understanding of data structures and classes and know when and how to use them.
- You need to have some familiarity with libraries that have already been developed so that you don't have to reinvent the wheel.
- You need to have familiarity with a lot of basic (and advanced) algorithms, again so that you don't have to reinvent the wheel.
- Often you need to know the limits of the hardware that you're working with so that you can do things like managing memory properly and avoiding running out of it, or utilizing your memory properly to eliminate wasted transfer of data within the processor and speed up processing.
- So you can program. Great! But do you know anything about packet structure, TCP/IP, HTML, CSS, user interface design, or databases? Programs don't run in isolation.
- There's a ton of stuff you need to know, and it keeps changing! It's not something you can be truly great at unless it's your main focus. You can't be a "weekend programmer."
Work/Life Environment
- You need to have long blocks of uninterrupted time so that you don't lose your concentration when you're programming (and learning to program). Many work (and home) environments struggle to offer this. Phone rings? Great, it's going to take you 15 minutes to regain your train of thought.
- You often have to make decisions about tradeoffs on the fly. Sure, you could write a program that could handle every single case, but how often is someone really going to put in "zero" as an input? Besides, we're behind schedule, and it's more important to get something up and running right now.
- On top of all this, the language that you thought was the next big thing was a passing fad and nobody is using it 5 years later. Now you're on to the next cool language, which might not be used 5 years from now. You constantly have to stay on top of things.
On top of that there are the management aspects.
Programmers are often treated like factory workers. People with no programming talent (and less business sense) are often in charge of projects. They think programmers are cogs in the machines. The truth is programmers are artisans and to get the best results from a project the wise thing to do would be to ask the people who are experts at programming how things should be done! Just about every project ends up being over budget and behind schedule, forcing programmers to work tons of uncompensated and unappreciated overtime to deliver a poorly-designed and poorly-tested product. The great programmers realize that they're not being paid more than the crappy programmers because management can't tell the difference - and on top of that, they're doing extra work to compensate for other programmers being below-par. And great programmers who speak up and try to change things for the better are often intimidating to managers, who often try to get rid of them (which is a general employment trend discussed in other posts). Enough of this and it's easy to see why good people get fed up with the profession - especially since there are plenty of other opportunities. People who are even average programmers, as long as they're reasonably good at dealing with people, have enough skills to be successful in a variety of other professions. Programming is something that can be easily transferred out of, but not into.
Good programmers are probably less likely to be randomly looking for work.
It's easy to find programmers. It's hard to find good programmers. The crappy programmers are probably perpetually looking for work. The good programmers, if a company realizes that they're good, should do whatever it takes to hang on to them, so they're probably looking for work a lot less often. And when they do they're choosy about where they want to work - which would explain why many companies claim "there are no good programmers available - all we can find are crappy ones." As has been said elsewhere, a good programmer can certainly be worth several times what an average programmer is worth, and a crappy programmer can actually have negative value. And it's really tough (if not impossible) for crappy and average programmers to turn into good ones - and certainly not worth the investment for any startup to try to undertake when they're supposed to be focused on developing something quickly and getting it out the door.
Labels:
жизнь,
не будите,
программирование,
работа,
articles,
programming,
review
18 окт. 2012 г.
Пробуемся в скорочтении
Около года назад я прошел курс скорочтения в центре развития Тетра в Одессе. Не скажу, чтобы я начал читать по тысяче слов в минуту, но скорость переваривания печатного текста возросла заметно. Беглый пробег по тексту с выхватыванием основных тезисов выполняется легко. Быстрее стал режим быстрого чтения, когда я читаю все слова, но не задумываюсь о них в момент прочтения. После просмотра слов (бычно это 1-2 средних абзаца) возникает картина, описанная в этих абзацах. Формальная скорость чтения выросла вдвое. После меня этот курс прошли мои сын и жена.
И вот теперь мы с супругой решили открыть свой семейный клуб, в котором тоже будем преподавать этот и другие курсы сходной тематики. Но уже в Киеве. Название придумали "Семейный клуб "САПИ"". Сайт озаглавили соответсвующе :) - www.sapi.com.ua.
Но так как клуб семейный, то и занятия у нас разнообразные. Кроме скорочтения мы проводим парный массаж на основе глубинных практик. Страшно звучит. И, по правде говоря, страшновато выглядит. Поначалу. Но штука очень действенная. Сам не один раз убедился в этом. Чем-то напоминает физзарядку, но более спокойная и требует пары для выполнения. Ну, и со своими характерными движениями и положениями.
Супруга кроме всего прочего увлекается методикой РейКи. Не то, чтобы философия, но своеобразный способ смотреть на мир и на себя в этом мире. Очень полезная штука для того, кто хочет разобраться в себе, как-то систематизировать свои отношения со вселенной и соседним подъездом.
Так что, будете у нас в Киеве - милости просим :) Угостим киевским тортом.
4 нояб. 2011 г.
24 мая 2011 г.
22 апр. 2011 г.
Ленин заDDOSил википедию
Решил сегодня посмотреть инфу по случаю ДР вождя мирового пролитариата. Ессно залез на википедию. А там - такое...
"Извините, сейчас серверы перегружены.
Поступило слишком много запросов на просмотр этой страницы. Пожалуйста, подождите и повторите попытку обращения к странице позже.
Истекло время ожидания блокировки "
Кажися, не я один про Ленина вспомнил сегодня :) Это радует.
Кста, подумалось, что ежели б КПСС дожило до наших дней, сайт wikilenin.ru, скорее всего, был бы самым пропагандируемым.
19 апр. 2011 г.
27 мар. 2011 г.
Конференция Req Labs 25.03.2011
![]() |
| Req Lab. Киев. 25.03.2011 |
Сама конференция имела тематикой работу с требованиями в сфере ПО. Некоторые доклады были откровенно притянуты за уши к этой тематике. Некоторые напрямую касались этой темы. В общем и целом, из 9 докладов, на которых я присутствовал, 1 был откровенной пургой, и 1, состоявший из двух частей (про психологическую составляющую комндной работы) мог бы занять раза в 3 меньше времени. Остальные доклады были вполне полезные и интересные.
Организация конференции понравилась. Всё вовремя, продуманы перерывы, перекусы, перепивы...
Очередной раз удивился (хотя уж пора бы и привыкнуть) быдлости некоторых товарищей. Этому вот нужно припереться на первый ряд, достать ноги из-под юбки, чтобы заслонить ими докладчика, открыть ноут и с гламурно непосредственным выражением лица свистеть в аське. Или порадовали товарищи, которые положили на стулья свои вещи (мол занято), а сами съе#лись пить шаровый кофе, в то время, как народу пришлось тащить стулья с другого этажа, чтобы послушать интересный доклад.
Да и про необходимость выключения звука у мобилки мало кто из высокообразованных и гламурных гиков знает. А хуле?! Мне тут корешь должен звонить!
Но это так - накипело.
Несколько докладов было про Agile. Тренд. Ничего не поделаешь. Модно.
В общем и целом - полезная поездка.
26 февр. 2011 г.
Живой писсуар
Вот такй феномен встретил в офисе. :) Писсуар, который дышит.
Заклеили его за то, что у него небыло кнопки слива.
А объясняется всё, в принципе, просто. Когда вода сливается, она создает разряженную атмосферу в канлзации. Кулёк втягиваеся туда. Затем по трубе начинает подниматься теплый воздух из канализации, и кулёк опять надувается. Выглядит прикольно.
23 янв. 2011 г.
13 дек. 2010 г.
Новое слово
Наткнулся на новое слово, которое, несомненно, появилось совсем недавно.
Netizens. Гугл-транслятор переводит его как Интернетяне. Понятно, что составлено слово из двух: (inter)Net + Citizen. Обозначает примерно то же, что и Citizen, токмо в области сетевого сообщества.
Netizens. Гугл-транслятор переводит его как Интернетяне. Понятно, что составлено слово из двух: (inter)Net + Citizen. Обозначает примерно то же, что и Citizen, токмо в области сетевого сообщества.
5 дек. 2010 г.
23
0+36-6-3-4 = 23
0+5+0+5+6+7 = 23
0+50-5-6-7 = 32 (антипод 23)
2 дек. 2010 г.
15 авг. 2010 г.
Undo history
30 июл. 2010 г.
27 июл. 2010 г.
...идентичный натуральному.
Сегодня в в процессе чтения описания состава очередной китайской сладости открыл тайну ароматизаторов, "идентичных натуральному". Там написано "ароматизатор, идентичный натуральному по вкусу". А я-то, наивный, полагал, что ароматизаторы идентичны натуральным по составу... А оно, оказывается, просто симулирует вкус. Еще одно разочарование.
14 июл. 2010 г.
Колобок. Родителям посвящается.
Вчера посмотрели мультик "Колобок. Родителям посвящается." российской студии "Классика". Малый (7 лет) рыдал. Потом попросил удалить этот мультик. Утром, когда я спросил его про смысл мультика, он просил не напоминать ему про эту картину. Я сам еле держался, чтобы не рыдать, когда смотрел этот мульт. Пересказывать смысла нет. Нужно посмотреть. В интернете его есть. Скажу только, что он мне сильно напомнил фильм "Реквием по мечте". Однозначно для семейного просмотра. Несемейным рекомендую запастись валерианкой.
21 июн. 2010 г.
Утро
Сегодня утром на входе в офис меня весело встретили сиськи одной из наших HR. Жаль, что из мозга нельзя слить видео :)
Подписаться на:
Сообщения (Atom)








