Hali
"Trust me, I'm an improviser" (c) Owen Harper
Прочитала тут недавно пессимистичный пост фейсбучный на общую тему "в разработке софта все изменилось, качество кода не важно, все тащат чужой код с гитхаба и интегрируют вместо написания своего, скоро нас автоматизируют с работ, а кого не автоматизируют, тех вытеснят индусы" с отдельно выделенным "тестеры никому не нужны, обезьянью работу делают индусы, а остальное в автоматизации". :facepalm: Ну и вот кагбе... я в каком-то другом мире живу, видимо. Что автор вообще нифига не сечет в тестировании, понятно, тут и говорить не о чем. Но вот вообще в целом, не отвечая даже на тот пост, а размышляя дальше...

Мне кажется, что чем дальше, тем качество кода важнее, потому, что чем дальше, тем больше софт интегрирован в нашу жизнь: ИИ, интернет вещей, тупо ширина покрытия... это значит, во-первых, что цена ошибок в софте высока (от "умных машин" до "умных домов", от "роботов-поваров" до "роботов-хирургов" и "роботов-нянек", от экспертных медицинских систем до полностью автоматизированных банковских систем, не говоря уж о военной и космической областях), а во-вторых, что повышаются риски намеренной эксплуатации программ в дурных целях (больше людей с доступом, проще учиться - больше потенциальных черношапочных хакеров).

Разработка софта - относительно молодая область, и многое в ней еще далеко от зрелости. Прямщас качество программных продуктов в среднем аховое. Есть отдельные исключения, но они только подчеркивают правило. :-( И если к тестированию функциональности народ наконец-то начал привыкать, то о security, scalability, stability, performance, usability, serviceability и maintainability на практике мало кто думает, хотя в академической среде об этом всем говорят как минимум с восьмидесятых. При всем при этом годных специалистов катастрофически не хватает, так что страхи на тему вытеснения с рабочих мест мне кажутся обоснованными только в случае совсем уж никудышних работников. Крепкие середнячки и выше все еще в цене. Проблема, мне кажется, частично в том, что народ привык к тому, что знание какого-то языка и сопутствующих ему библиотек обеспечивает рабочее место, но мир-то меняется...

Когда-то достаточно было уметь читать и писать, чтоб этим зарабатывать себе на жизнь. Потом чтение и письмо, к счастью, вошли в набор базовых навыков для всех - и лафа закончилась. Когда-то было достаточно россиянину знать английский, чтоб этим зарабатывать себе на жизнь. Сейчас английский знает каждый второй (а среди тех, кому он нужен, почти каждый первый), и недостаточно просто знать язык для работы. То же самое происходит и с ITшными навыками. Знать языки, устройство ОС, фреймворки, библиотеки и т.д. - это не специальность теперь, а инструмент.

Ну и приходя к стар треку... я смотрю на тамошних офицеров ЗВ, и вот у них, конечно, есть специализации, но при этом каждый второй может провести несложные инженерные работы, перенастроить одну систему корабля для подхвата функций другой, собрать коммуникатор из базовых элементов, исправить холопрограмму и т.д. и т.п.. У них у всех очень широкий набор навыков, и для них это очень очевидно именно что инструменты, типа как для нас - умение читать и писать. Я думаю, что это здорово, и что разработка софта к этому придет постепенно. Но это светлое будущее еще оооочень неблизко. К сожалению.
Я себя чувствую порой эдаким ЗФ инженером в очень упрощенном виде - у меня куча навыков и знаний из разных областей, и это позволяет мне выполнять базовые работы в куче ролей, плюс в любой момент для выполнения более сложной работы я могу поднатаскаться. Есть пределы экспертизе, конечно - полноценным девелопером или безопасником в одночасье не стать. Но это уже вопрос опыта. В целом свою работу я могу выполнять не потому, что у меня есть какие-то конкретные знания, а потому, что я в целом умею думать нужным образом, ухватывать знания по ходу дела, видеть систему целиком и т.д. и т.п.. И вот это вот меня в моей работе штырит. :-)

@темы: QA-xport, Мысли вслух