Ура! Вас уже 256. Ждём следующего рекорда - 512 подписчиков.
Выучу Python и пойду работать программистом
Не так быстро, мой юный друг.
Python - в целом неплохой вариант - он несложный, востребован на рынке, используется много где.
Но я старовер. И пусть в меня кто-то кинет тапками, но, по-моему, начинать программировать лучше с языка C. Почему?
Потому что пересесть на автоматическую коробку передач, если умеешь ездить на механике - получится с первой попытки. А наоборот - куда сложнее.
«А если я хочу всегда ездить на автомате?» - А, скорее всего, не выйдет. Работодателю будет всё равно, какие языки программирования ты (не)знаешь - и обязательно окажется, что в проекте есть 10% кода на каком-нибудь java и человек, который это писал - год назад как эмигрировал в Штаты. И угадай, кого попросят внести изменения в этот код? Правильно, программиста. То есть тебя.
Изучать только Python - это даже не автоматическая коробка передач. Это как руль и педаль, которыми ты учишься управлять, но не думаешь при этом, что существуют такие вещи как колеса, асфальт и уличное движение.
А Си поможет взглянуть на чуть более низкоуровневый мир - на работу с памятью, арифметику указателей и многое другое. Сам Python (точнее, самая распространенная реализация интерпретатора - CPython) тоже написан на C.
После Си будет легче подступиться к C++ или java (а также десятку других языков с си-подобным синтаксисом). А к питону - и подавно, потому что после Си Питон покажется феерически простым языком.
Моя первая любовь и главный фаворит в мире IT-курсов - это гарвардский CS50's Introduction to Computer Science (можно найти на платформе edx.org). Это с одной стороны курс для начинающих, он не требует никакой исходной подготовки. Но при этом, там копают достаточно глубоко и материал разумной сложности. Там есть записи трансляций с настоящих лекций в Гарварде, есть семинары с ассистенами преподавателей, много разных дополнительных видео, задачки на самостоятельную разработку. И там как раз всё начинается с Си. И да - времени на него придётся выделить прилично, это не про 1 час раз в неделю. Зато это отличный старт для дальнейшего погружения в мир IT, он даст некоторый бэкграунд сразу в разных направлениях.
Кстати о Computer Science. Знать один Python и почти ничего не представлять о том, что «под капотом» - могут только дата-саентисты, и я до сих пор удивляюсь, как у них это получается (ну, по крайней мере, я таких часто встречаю). Так что если вы не про data science и не налегаете на матан - значит нужно копать не только в ЯП, но и в то, «как оно всё устроено» - хотя бы на уровне ликбеза - про операционные системы, сетевые протоколы, базы данных ит.п. Так как сталкиваться на работе придется именно с этими вещами, а не просто с питоном в вакууме (в текстовом редакторе).
Не так быстро, мой юный друг.
Python - в целом неплохой вариант - он несложный, востребован на рынке, используется много где.
Но я старовер. И пусть в меня кто-то кинет тапками, но, по-моему, начинать программировать лучше с языка C. Почему?
Потому что пересесть на автоматическую коробку передач, если умеешь ездить на механике - получится с первой попытки. А наоборот - куда сложнее.
«А если я хочу всегда ездить на автомате?» - А, скорее всего, не выйдет. Работодателю будет всё равно, какие языки программирования ты (не)знаешь - и обязательно окажется, что в проекте есть 10% кода на каком-нибудь java и человек, который это писал - год назад как эмигрировал в Штаты. И угадай, кого попросят внести изменения в этот код? Правильно, программиста. То есть тебя.
Изучать только Python - это даже не автоматическая коробка передач. Это как руль и педаль, которыми ты учишься управлять, но не думаешь при этом, что существуют такие вещи как колеса, асфальт и уличное движение.
А Си поможет взглянуть на чуть более низкоуровневый мир - на работу с памятью, арифметику указателей и многое другое. Сам Python (точнее, самая распространенная реализация интерпретатора - CPython) тоже написан на C.
После Си будет легче подступиться к C++ или java (а также десятку других языков с си-подобным синтаксисом). А к питону - и подавно, потому что после Си Питон покажется феерически простым языком.
Моя первая любовь и главный фаворит в мире IT-курсов - это гарвардский CS50's Introduction to Computer Science (можно найти на платформе edx.org). Это с одной стороны курс для начинающих, он не требует никакой исходной подготовки. Но при этом, там копают достаточно глубоко и материал разумной сложности. Там есть записи трансляций с настоящих лекций в Гарварде, есть семинары с ассистенами преподавателей, много разных дополнительных видео, задачки на самостоятельную разработку. И там как раз всё начинается с Си. И да - времени на него придётся выделить прилично, это не про 1 час раз в неделю. Зато это отличный старт для дальнейшего погружения в мир IT, он даст некоторый бэкграунд сразу в разных направлениях.
Кстати о Computer Science. Знать один Python и почти ничего не представлять о том, что «под капотом» - могут только дата-саентисты, и я до сих пор удивляюсь, как у них это получается (ну, по крайней мере, я таких часто встречаю). Так что если вы не про data science и не налегаете на матан - значит нужно копать не только в ЯП, но и в то, «как оно всё устроено» - хотя бы на уровне ликбеза - про операционные системы, сетевые протоколы, базы данных ит.п. Так как сталкиваться на работе придется именно с этими вещами, а не просто с питоном в вакууме (в текстовом редакторе).
За что я люблю IT
1) Здесь не выносят мозг. Люди, которые работали только в IT со мной не согласятся - но им просто не с чем сравнить. 🙂 Понятное дело, мозг выносят везде, где есть другие люди, но здесь - не так сильно. Никто не застрахован от того, что именно вам попадётся очень вредный и «токсичный» коллега, но концентрация таких в IT заметно меньше, чем, например, в продажах, да и много где еще. Сама по себе профессия подразумевает потребность спокойно подумать, а постоянные конфликты и разборки этому вряд ли помогут. Уровень стресса в этом плане гораздо ниже, чем в среднем, никаких тебе Лена! Ты как посмела клиенту сказать слово «наверное»? Уровень выноса мозга растёт вместе с вертикальным карьерным ростом - и да, если вы стали руководителем, значит придется больше контактировать с источниками конфликтов и претензий - то есть, с другими отделами и с высшим менеджментом, но такова цена.
2) Тут не задают глупых вопросов на собеседованиях. Ладно, задают, но меньше. Например, могут спросить «Нужно ли индексировать булево поле в таблице?» - без дополнительных уточнений вопрос бессмысленный. Но гораздо с меньшей вероятностью спросят, кем вы себя видите через 5 лет и какой у вас знак зодиака. Видимо, когда приходишь работать офисным клерком, собеседующие просто не знают, какие вопросы задать, поэтому спрашивают всякую дичь. Когда я начала ходить на собеседования на должность разработчика, то была удивлена, как изменился формат собеседований. Внезапно, никого не интересует моя личная жизнь. А чего у меня только не спрашивали раньше - «У вас есть парень? А планируете?» - «Что планирую? Парня?». «А когда собираетесь детей заводить?». Почему-то в IT не так заметно параноят на тему того, что я пришла к ним только для того, чтобы уйти в декрет.
3) Тут платят больше, чем во многих других сферах.
4) Тут ценят интеллект и знания. Как-то, на очередной подработке, я готовила презентацию, которую менеджеры собирались показывать клиенту, и думала о том, что с моей работой справится и 5-классник. И для этого надо было учиться 10 лет в школе и 5 в ВУЗе? А перед этим - сотни тысяч лет эволюции человеческого мозга - всё для того, чтобы делать какие-то тривиальные вещи? Тогда я поняла, что определенно хочу работать головой, а не языком («ООО Рога и Копыта, Елена, здравствуйте!») и не руками (например копипастить картинки для презентации). И вуа-ля, в IT работают именно головой, а не другими частями тела.
5) Тут кипит жизнь. Технологии развиваются с космическими скоростями. Многие работодатели оплачивают своим разработчикам участие в конференциях и митапах - всегда есть множество вариантов для обмена опытом и освежения своих знаний. В отличие от многих других областей, где может наблюдаться застой и стагнация - IT никогда не стоит на месте. И если ты начинаешь чувствовать, что сидишь в болоте - достаточно сменить место работы и найти более современную и высокотехнологичную компанию.
1) Здесь не выносят мозг. Люди, которые работали только в IT со мной не согласятся - но им просто не с чем сравнить. 🙂 Понятное дело, мозг выносят везде, где есть другие люди, но здесь - не так сильно. Никто не застрахован от того, что именно вам попадётся очень вредный и «токсичный» коллега, но концентрация таких в IT заметно меньше, чем, например, в продажах, да и много где еще. Сама по себе профессия подразумевает потребность спокойно подумать, а постоянные конфликты и разборки этому вряд ли помогут. Уровень стресса в этом плане гораздо ниже, чем в среднем, никаких тебе Лена! Ты как посмела клиенту сказать слово «наверное»? Уровень выноса мозга растёт вместе с вертикальным карьерным ростом - и да, если вы стали руководителем, значит придется больше контактировать с источниками конфликтов и претензий - то есть, с другими отделами и с высшим менеджментом, но такова цена.
2) Тут не задают глупых вопросов на собеседованиях. Ладно, задают, но меньше. Например, могут спросить «Нужно ли индексировать булево поле в таблице?» - без дополнительных уточнений вопрос бессмысленный. Но гораздо с меньшей вероятностью спросят, кем вы себя видите через 5 лет и какой у вас знак зодиака. Видимо, когда приходишь работать офисным клерком, собеседующие просто не знают, какие вопросы задать, поэтому спрашивают всякую дичь. Когда я начала ходить на собеседования на должность разработчика, то была удивлена, как изменился формат собеседований. Внезапно, никого не интересует моя личная жизнь. А чего у меня только не спрашивали раньше - «У вас есть парень? А планируете?» - «Что планирую? Парня?». «А когда собираетесь детей заводить?». Почему-то в IT не так заметно параноят на тему того, что я пришла к ним только для того, чтобы уйти в декрет.
3) Тут платят больше, чем во многих других сферах.
4) Тут ценят интеллект и знания. Как-то, на очередной подработке, я готовила презентацию, которую менеджеры собирались показывать клиенту, и думала о том, что с моей работой справится и 5-классник. И для этого надо было учиться 10 лет в школе и 5 в ВУЗе? А перед этим - сотни тысяч лет эволюции человеческого мозга - всё для того, чтобы делать какие-то тривиальные вещи? Тогда я поняла, что определенно хочу работать головой, а не языком («ООО Рога и Копыта, Елена, здравствуйте!») и не руками (например копипастить картинки для презентации). И вуа-ля, в IT работают именно головой, а не другими частями тела.
5) Тут кипит жизнь. Технологии развиваются с космическими скоростями. Многие работодатели оплачивают своим разработчикам участие в конференциях и митапах - всегда есть множество вариантов для обмена опытом и освежения своих знаний. В отличие от многих других областей, где может наблюдаться застой и стагнация - IT никогда не стоит на месте. И если ты начинаешь чувствовать, что сидишь в болоте - достаточно сменить место работы и найти более современную и высокотехнологичную компанию.
Учитесь задавать вопросы
И я, и мои коллеги часто сталкиваемся с такой особенностью молодых ребят (условно 20-летних) - как нежелание или неумение говорить, уточнять, задавать вопросы. Сложно сказать, в чем причина - то ли это что-то поколенческое, то ли так воздействует система образования, а, может быть, сказывается отсутствие опыта работы в коллективе.
Стандартная ситуация выглядит так: объясняешь человеку задачу, спрашиваешь, всё ли понятно? - Да, всё понятно. Человек уходит работать. И на первый взгляд всё хорошо.
Впоследствии же оказывается, что на самом деле ничего не было понятно, но человек постеснялся/побоялся или ему было просто западло в этом признаться. Он идёт «работать над задачей» - и надеется, что проблема как-то сама рассосётся, или же он в процессе работы поймёт, что именно надо делать. С вопросами и уточнениями он не подходит, сидит молча и либо просто что-то непродуктивно ковыряет и прокрастинирует, либо делает совсем не то, что от него требовалось.
Поэтому, друзья - задавать вопросы - это важнейший навык. До тех пор, пока у вас нет исчерпывающего понимания своей задачи - надо спрашивать снова и снова - и не бояться «задолбать» коллег своими уточнениями. Коллеги гораздо сильнее расстроятся, когда спустя две недели выяснится, что вы неправильно поняли задачу и всё это время прошло впустую, а они не получат результат, на который рассчитывали.
Еще хорошая практика - подытожить задачу и сформулировать её своими словами: «Правильно ли я понял(а), что мне нужно сделать то и то?» - чтобы уж точно синхронизироваться в понимании.
Главное - никогда не перекладывайте ответственность на того, кто задачу ставил - мол «мне не объяснили, мне не показали, я не знал, я сделал как мне сказали» - детство кончилось. Разобраться в задаче и понять, что нужно делать - это ваша прямая обязанность.
И я, и мои коллеги часто сталкиваемся с такой особенностью молодых ребят (условно 20-летних) - как нежелание или неумение говорить, уточнять, задавать вопросы. Сложно сказать, в чем причина - то ли это что-то поколенческое, то ли так воздействует система образования, а, может быть, сказывается отсутствие опыта работы в коллективе.
Стандартная ситуация выглядит так: объясняешь человеку задачу, спрашиваешь, всё ли понятно? - Да, всё понятно. Человек уходит работать. И на первый взгляд всё хорошо.
Впоследствии же оказывается, что на самом деле ничего не было понятно, но человек постеснялся/побоялся или ему было просто западло в этом признаться. Он идёт «работать над задачей» - и надеется, что проблема как-то сама рассосётся, или же он в процессе работы поймёт, что именно надо делать. С вопросами и уточнениями он не подходит, сидит молча и либо просто что-то непродуктивно ковыряет и прокрастинирует, либо делает совсем не то, что от него требовалось.
Поэтому, друзья - задавать вопросы - это важнейший навык. До тех пор, пока у вас нет исчерпывающего понимания своей задачи - надо спрашивать снова и снова - и не бояться «задолбать» коллег своими уточнениями. Коллеги гораздо сильнее расстроятся, когда спустя две недели выяснится, что вы неправильно поняли задачу и всё это время прошло впустую, а они не получат результат, на который рассчитывали.
Еще хорошая практика - подытожить задачу и сформулировать её своими словами: «Правильно ли я понял(а), что мне нужно сделать то и то?» - чтобы уж точно синхронизироваться в понимании.
Главное - никогда не перекладывайте ответственность на того, кто задачу ставил - мол «мне не объяснили, мне не показали, я не знал, я сделал как мне сказали» - детство кончилось. Разобраться в задаче и понять, что нужно делать - это ваша прямая обязанность.
Про мотивацию
Расскажу, что мотивировало учиться программированию меня.
Во-первых, азарт - это был эксперимент, можно ли на одних бесплатных онлайн-курсах въехать в IT. Тогда их было не так уж много, формат был непривычным и еще трудно было относиться к такой форме обучения серьезно. Некоторым моим родственникам казалось нонсенсом, что курсы вообще бывают бесплатными.
Зато сейчас курсов и онлайн и оффлайн столько, что аж глаза разбегаются. И я не уверена, что одни онлайн курсы - это самый эффективный и простой путь. Скорее имеет смысл провести анализ разных вариантов - почитать рекомендации и отзывы и выбрать то, что подойдет именно вам. Например, хороший вариант - курсы при IT-компаниях, в том числе очные. Свою «программу обучения» я формировала достаточно случайным образом - просто «загребала» все онлайн-курсы, которые были в наличии на тот момент и относились с IT, благо их было не так много. И, полагаю, что лучший вариант - не такой рандом, а когда более опытные специалисты состовляют для вас программу обучения и определяют, с чего начать, что изучать в каком порядке и в каком объеме.
Во-вторых, меня мотивировало моё незнание. Сталкиваясь с какими-то новыми для меня понятиями или технологиями, я думала «блин! да я же ничего про это не знаю! Какой тогда из меня айтишник? Срочно изучать!». Руководствуясь такими мыслями, я проходила курсы и читала книги на разные темы - об алгоритмах и структурах данных, о сетях, о Unix и Linux, про базы данных, разные языки программирования, веб-разработку, криптографию и еще всякое разное. В разработку под андроид я пробовала, но как-то не пошло. Не всё из того, что я тогда изучала, я помню до сих пор - когда какие-то знания не используются на практике, они, увы, улетучиваются. Но по большей части пригодилось очень многое из этого, как минимум в роли ликбеза.
В-третьих меня мотивировали, как ни странно, скука и безделье. Я уже упоминала, что в начале этого пути работала в неком стартапе, где не особо понимала, за что мне вообще платят зарплату. И большую часть «рабочих» дней мне там было абсолютно нечем заняться. А поглощать на работе днями и неделями развлекательный контент - достаточно уныло. Хотелось заняться чем-то продуктивным и полезным и не чувствовать, что всё время занимаешься какой-то херней. И курсы стали отличным вариантом.
А ещё мне хотелось стать нормальным специалистом, что-то уметь, в чем-то разбираться. Я испытывала неловкость от вопросов, кем я работаю - «ну, это сложно объяснить». Чувствовала себя не реализованной профессионально и бесполезной, «никем». И мне очень хотелось избавиться от этого ощущения.
Расскажу, что мотивировало учиться программированию меня.
Во-первых, азарт - это был эксперимент, можно ли на одних бесплатных онлайн-курсах въехать в IT. Тогда их было не так уж много, формат был непривычным и еще трудно было относиться к такой форме обучения серьезно. Некоторым моим родственникам казалось нонсенсом, что курсы вообще бывают бесплатными.
Зато сейчас курсов и онлайн и оффлайн столько, что аж глаза разбегаются. И я не уверена, что одни онлайн курсы - это самый эффективный и простой путь. Скорее имеет смысл провести анализ разных вариантов - почитать рекомендации и отзывы и выбрать то, что подойдет именно вам. Например, хороший вариант - курсы при IT-компаниях, в том числе очные. Свою «программу обучения» я формировала достаточно случайным образом - просто «загребала» все онлайн-курсы, которые были в наличии на тот момент и относились с IT, благо их было не так много. И, полагаю, что лучший вариант - не такой рандом, а когда более опытные специалисты состовляют для вас программу обучения и определяют, с чего начать, что изучать в каком порядке и в каком объеме.
Во-вторых, меня мотивировало моё незнание. Сталкиваясь с какими-то новыми для меня понятиями или технологиями, я думала «блин! да я же ничего про это не знаю! Какой тогда из меня айтишник? Срочно изучать!». Руководствуясь такими мыслями, я проходила курсы и читала книги на разные темы - об алгоритмах и структурах данных, о сетях, о Unix и Linux, про базы данных, разные языки программирования, веб-разработку, криптографию и еще всякое разное. В разработку под андроид я пробовала, но как-то не пошло. Не всё из того, что я тогда изучала, я помню до сих пор - когда какие-то знания не используются на практике, они, увы, улетучиваются. Но по большей части пригодилось очень многое из этого, как минимум в роли ликбеза.
В-третьих меня мотивировали, как ни странно, скука и безделье. Я уже упоминала, что в начале этого пути работала в неком стартапе, где не особо понимала, за что мне вообще платят зарплату. И большую часть «рабочих» дней мне там было абсолютно нечем заняться. А поглощать на работе днями и неделями развлекательный контент - достаточно уныло. Хотелось заняться чем-то продуктивным и полезным и не чувствовать, что всё время занимаешься какой-то херней. И курсы стали отличным вариантом.
А ещё мне хотелось стать нормальным специалистом, что-то уметь, в чем-то разбираться. Я испытывала неловкость от вопросов, кем я работаю - «ну, это сложно объяснить». Чувствовала себя не реализованной профессионально и бесполезной, «никем». И мне очень хотелось избавиться от этого ощущения.
👍2
Забудьте эти фразы
Итак, вы встали на путь IT. Пришло время убрать из употребления некоторые фразы.
- Я что-то нажала и у меня всё исчезло. Ой, кажется, я что-то сломал/а. Оно само. Не понимаю, что произошло.
Мы здесь верим в причинность, а не в «компьютерную магию». Что-то пошло не так? Не пытайтесь лихорадочно это исправить, тыкая во всё подряд наугад. Вы не доктор Хаус - сначала ставим диагноз, а потом думаем, как лечить.
- Попрошу соседа Ваню поставить мне винду.
Вы ведь догадываетесь, что поставить винду - это задача уровня любого школьника? Лучше попробуйте поставить себе Linux - если хотите, чтобы всё было просто почти как в винде - то Ubuntu какой-нибудь. И научитесь пользоваться терминалом. Вангую - пригодится.
- Это слишком сложно! Я этого не знаю. Мы этого не проходили. Я новенький. Я не умею. Я никогда этого не делал.
Открою вам страшный секрет - любой айтишник сталкивается если не каждый день, то вполне себе регулярно с чем-то таким, чего он никогда не делал и о чём не имеет никакого представления. Разница между айтишником и не-айтишником как раз в том и заключается, что первый, встретив что-то новое и незнакомое - берёт и разбирается в этом, гуглит, читает мануалы, документацию и исходный код, ищет ответы, пробует и экспериментирует. И в итоге докапывается до решения такой страшной и непонятной на первый взгляд задачи. А второй - сразу пугается и сдаётся с порога.
А подготовиться заранее (до трудоустройства) к работе со всеми незнакомыми технологиями - увы не получится. Ну вот не учат на курсах, как ставить PostgreSQL на CentOS определенной версии и какие там подводные камни. А работодателю как-то всё равно - учили вас этому или нет - он и слов-то таких не знает. Научиться и этому и десяткам других технических навыков можно только одним путём - делая их. А для этого нужно не так уж много - не бояться сталкиваться с ними в первый раз.
Итак, вы встали на путь IT. Пришло время убрать из употребления некоторые фразы.
- Я что-то нажала и у меня всё исчезло. Ой, кажется, я что-то сломал/а. Оно само. Не понимаю, что произошло.
Мы здесь верим в причинность, а не в «компьютерную магию». Что-то пошло не так? Не пытайтесь лихорадочно это исправить, тыкая во всё подряд наугад. Вы не доктор Хаус - сначала ставим диагноз, а потом думаем, как лечить.
- Попрошу соседа Ваню поставить мне винду.
Вы ведь догадываетесь, что поставить винду - это задача уровня любого школьника? Лучше попробуйте поставить себе Linux - если хотите, чтобы всё было просто почти как в винде - то Ubuntu какой-нибудь. И научитесь пользоваться терминалом. Вангую - пригодится.
- Это слишком сложно! Я этого не знаю. Мы этого не проходили. Я новенький. Я не умею. Я никогда этого не делал.
Открою вам страшный секрет - любой айтишник сталкивается если не каждый день, то вполне себе регулярно с чем-то таким, чего он никогда не делал и о чём не имеет никакого представления. Разница между айтишником и не-айтишником как раз в том и заключается, что первый, встретив что-то новое и незнакомое - берёт и разбирается в этом, гуглит, читает мануалы, документацию и исходный код, ищет ответы, пробует и экспериментирует. И в итоге докапывается до решения такой страшной и непонятной на первый взгляд задачи. А второй - сразу пугается и сдаётся с порога.
А подготовиться заранее (до трудоустройства) к работе со всеми незнакомыми технологиями - увы не получится. Ну вот не учат на курсах, как ставить PostgreSQL на CentOS определенной версии и какие там подводные камни. А работодателю как-то всё равно - учили вас этому или нет - он и слов-то таких не знает. Научиться и этому и десяткам других технических навыков можно только одним путём - делая их. А для этого нужно не так уж много - не бояться сталкиваться с ними в первый раз.
- Напишите, пожалуйста пост, как у вас появился линукс на машине? Кто первый раз вам её поставил? Как было работать? Вообще Опишите первое впечатление об этой Ос.
Я в целом такая же ленивая, как и большинство людей. :) И поначалу ставить linux как основную ОС на свой компьютер не спешила, пользовалась более привычной на тот момент виндой. Кстати, настраивать среду под разработку, например, на том же питоне на винде гораздо неудобнее и дольше, как и решать некоторые сопутствующие разработке проблемы - ну например, с виндовыми кодировками текста. Но поначалу кажется, что более привычное = более простое.
Многие курсы предлагают готовый образ ОС, чтобы использовать Linux со всеми нужными (для обучения) настройками в виртуальной машине - то есть запуская в отдельном окошке прямо из-под вашей винды (или другой ОС). Так, например, было в моём любимом курсе CS50 Introduction to Computer Science - там использовался дистрибутив Fedora. Это, насколько я помню, и был мой первый линукс - я его запускала в виртуальной машине - то ли с помощью VMWare, то ли VirtualBox. Какие впечатления от него были - точно не скажу. Сложностей с ним не было (разве что с настройками виртуальной машины и ошибками при запуске ОС). А в остальном - на курсах все объясняется, показывается и есть инструкции. Когда что-то получается - это всегда приятно.
Потом уже по книге (называлась она Unix. Программное окружение - старенькая, но классная) я изучала стандартные команды оболочки и Unix-утилиты. Пробовала их и экспериментировала тоже в виртуальной машине - вроде на этот раз скачала и поставила уже образ Ubuntu. Вот здесь уже могу поделиться впечатлениями от Linux - они были полный восторг. Bash - очень классная штука, и делать в нем можно так многое и так удобно (в том числе программировать прямо на нём). Винде такого и не снилось (не даром, говорят, в 10й винде в итоге добавили встроенную поддержку bash - но я не пробовала его использовать там).
А впервые я поставила Linux как основную ОC на свой старенький ноут, потому что там банально устарели драйвера для графики под винду (а новых для этой модели не выпускали), и обновить версию винды стало невозможным. А Ubuntu стала без проблем и на "ура". Убунту по сложности установки - это та же винда (то есть, сложности никакой нет). Находите в интернете инструкцию, скачиваете образ ОС и записываете на флешку. Потом по инструкции ставите ее на комп - большинство действий будет сводиться к тому, чтобы нажимать кнопку "Далее". Если хотите поставить ее как вторую ОС рядом с основной - тогда надо аккуратнее, чтобы не навредить первой ОС - но для всего есть инструкции, гугл знает всё. Главное - смотрите на дату инструкции, которую читаете. Если там стоит какой-нибудь 2013 год - ищите другую.
Я в целом такая же ленивая, как и большинство людей. :) И поначалу ставить linux как основную ОС на свой компьютер не спешила, пользовалась более привычной на тот момент виндой. Кстати, настраивать среду под разработку, например, на том же питоне на винде гораздо неудобнее и дольше, как и решать некоторые сопутствующие разработке проблемы - ну например, с виндовыми кодировками текста. Но поначалу кажется, что более привычное = более простое.
Многие курсы предлагают готовый образ ОС, чтобы использовать Linux со всеми нужными (для обучения) настройками в виртуальной машине - то есть запуская в отдельном окошке прямо из-под вашей винды (или другой ОС). Так, например, было в моём любимом курсе CS50 Introduction to Computer Science - там использовался дистрибутив Fedora. Это, насколько я помню, и был мой первый линукс - я его запускала в виртуальной машине - то ли с помощью VMWare, то ли VirtualBox. Какие впечатления от него были - точно не скажу. Сложностей с ним не было (разве что с настройками виртуальной машины и ошибками при запуске ОС). А в остальном - на курсах все объясняется, показывается и есть инструкции. Когда что-то получается - это всегда приятно.
Потом уже по книге (называлась она Unix. Программное окружение - старенькая, но классная) я изучала стандартные команды оболочки и Unix-утилиты. Пробовала их и экспериментировала тоже в виртуальной машине - вроде на этот раз скачала и поставила уже образ Ubuntu. Вот здесь уже могу поделиться впечатлениями от Linux - они были полный восторг. Bash - очень классная штука, и делать в нем можно так многое и так удобно (в том числе программировать прямо на нём). Винде такого и не снилось (не даром, говорят, в 10й винде в итоге добавили встроенную поддержку bash - но я не пробовала его использовать там).
А впервые я поставила Linux как основную ОC на свой старенький ноут, потому что там банально устарели драйвера для графики под винду (а новых для этой модели не выпускали), и обновить версию винды стало невозможным. А Ubuntu стала без проблем и на "ура". Убунту по сложности установки - это та же винда (то есть, сложности никакой нет). Находите в интернете инструкцию, скачиваете образ ОС и записываете на флешку. Потом по инструкции ставите ее на комп - большинство действий будет сводиться к тому, чтобы нажимать кнопку "Далее". Если хотите поставить ее как вторую ОС рядом с основной - тогда надо аккуратнее, чтобы не навредить первой ОС - но для всего есть инструкции, гугл знает всё. Главное - смотрите на дату инструкции, которую читаете. Если там стоит какой-нибудь 2013 год - ищите другую.
- У меня такой вопрос, про собеседование: если я хочу быть it-самоучкой, пока не могу пройти платные курсы. Как мне доказать свои знания?
Не можете позволить себе платные курсы - проходите бесплатные + читайте книги. Очевидно же, нет? :)
Обычно на онлайн-площадках вроде coursera, edx, stepik, udemy, сайтах Гарварда и MIIT (это только то, что пришло в голову по памяти, их гораздо больше) - есть бесплатный доступ к курсам. Отличается от платного варианта он тем, что по окончании не выдаётся сертификат, а кое-где недоступна, например, проверка домашних заданий.
Как доказать знания? Если я правильно вас поняла, вы исходите из предпосылки, что прохождение платных курсов - это уже само по себе доказательство квалификации. И что у них есть какое-то преимущество для работодателя перед бесплатными вариантами. Это не так.
Работодателю неинтересны эти все бумажки, да сертификаты. Их наличие - это бонус для резюме, но можно в резюме с тем же успехом просто перечислить названия бесплатных курсов, которые вы прошли. Даже диплом крутого ВУЗа никак не гарантирует, что у вас есть нужные знания.
Доказать знания можно только одним путём - сначала хорошо себя проявить на техническом собеседовании. А потом, после трудоустройства - в процессе работы.
Причем, на собеседовании не так важно, что вы не знаете точный ответ на какой-то вопрос - тут ценится умение мыслить в правильном направлении и искать решение.
Не можете позволить себе платные курсы - проходите бесплатные + читайте книги. Очевидно же, нет? :)
Обычно на онлайн-площадках вроде coursera, edx, stepik, udemy, сайтах Гарварда и MIIT (это только то, что пришло в голову по памяти, их гораздо больше) - есть бесплатный доступ к курсам. Отличается от платного варианта он тем, что по окончании не выдаётся сертификат, а кое-где недоступна, например, проверка домашних заданий.
Как доказать знания? Если я правильно вас поняла, вы исходите из предпосылки, что прохождение платных курсов - это уже само по себе доказательство квалификации. И что у них есть какое-то преимущество для работодателя перед бесплатными вариантами. Это не так.
Работодателю неинтересны эти все бумажки, да сертификаты. Их наличие - это бонус для резюме, но можно в резюме с тем же успехом просто перечислить названия бесплатных курсов, которые вы прошли. Даже диплом крутого ВУЗа никак не гарантирует, что у вас есть нужные знания.
Доказать знания можно только одним путём - сначала хорошо себя проявить на техническом собеседовании. А потом, после трудоустройства - в процессе работы.
Причем, на собеседовании не так важно, что вы не знаете точный ответ на какой-то вопрос - тут ценится умение мыслить в правильном направлении и искать решение.
- На тех собеседование надо ещё попасть. Как влияют платные или бесплатные курсы в резюме на то, позовут ли тебя на собеседование?
Чтобы попасть на собеседование, нужно составить резюме - указать желаемую должность, ваши навыки, описать опыт работы. Если релевантного опыта работы нет - то описать хоть что-то, например, как вы написали сайт для себя или для друзей, описать какой-нибудь проект, который выполняли в ходе лабы.
Упоминания курсов в резюме говорят о том, что вы способны к самообразованию и саморазвитию, и имеете интерес к освоению технологий. Платные или бесплатные курсы - не особо важно. Но если у каких-то конкретных курсов хорошая репутация (например, данный работодатель неоднократно брал на работу выпускников этих курсов и имеет позитивный опыт работы с ними) - то их упоминание станет более заметным плюсом в резюме при отборе кандидатов. Также могут хорошо «выстрелить» названия известных компаний - например, курсы или стажировка от Яндекса.
Лично у меня в первом айтишном резюме из релевантного образования были указаны только онлайн-курсы - правда, в большом количестве. И да, все бесплатные. Сертификаты к ним прилагались, но не думаю, что кто-то вообще переходил по этим ссылкам (обычно резюме кандидата читают секунд 6). Составляла резюме я часов 10, высасывала из пальца всё, что могла рассказать о своих навыках. На первое собеседование меня позвали сразу же, как только я его выложила в интернет.
Скепсис в отношении всего, что написано в резюме, и в отношении курсов в том числе у работодателя так же может присутствовать - упоминание курсов никак не гарантирует, что вы их прошли с полным погружением и почерпнули оттуда ценные навыки. Тут к диплому и вузовскому образованию может быть больше доверия - но всё очень индивидуально, зависит от личного воспрития конкретного собеседующего. И почти в любой компании есть самоучки.
Кстати, некоторые руководители вообще не читают резюме, так как не верят тому, что там написано - у хороших кандидатов бывают очень слабые резюме, а у плохих - идеально составленные. А оценивают кандидата уже в процессе беседы.
Чтобы попасть на собеседование, нужно составить резюме - указать желаемую должность, ваши навыки, описать опыт работы. Если релевантного опыта работы нет - то описать хоть что-то, например, как вы написали сайт для себя или для друзей, описать какой-нибудь проект, который выполняли в ходе лабы.
Упоминания курсов в резюме говорят о том, что вы способны к самообразованию и саморазвитию, и имеете интерес к освоению технологий. Платные или бесплатные курсы - не особо важно. Но если у каких-то конкретных курсов хорошая репутация (например, данный работодатель неоднократно брал на работу выпускников этих курсов и имеет позитивный опыт работы с ними) - то их упоминание станет более заметным плюсом в резюме при отборе кандидатов. Также могут хорошо «выстрелить» названия известных компаний - например, курсы или стажировка от Яндекса.
Лично у меня в первом айтишном резюме из релевантного образования были указаны только онлайн-курсы - правда, в большом количестве. И да, все бесплатные. Сертификаты к ним прилагались, но не думаю, что кто-то вообще переходил по этим ссылкам (обычно резюме кандидата читают секунд 6). Составляла резюме я часов 10, высасывала из пальца всё, что могла рассказать о своих навыках. На первое собеседование меня позвали сразу же, как только я его выложила в интернет.
Скепсис в отношении всего, что написано в резюме, и в отношении курсов в том числе у работодателя так же может присутствовать - упоминание курсов никак не гарантирует, что вы их прошли с полным погружением и почерпнули оттуда ценные навыки. Тут к диплому и вузовскому образованию может быть больше доверия - но всё очень индивидуально, зависит от личного воспрития конкретного собеседующего. И почти в любой компании есть самоучки.
Кстати, некоторые руководители вообще не читают резюме, так как не верят тому, что там написано - у хороших кандидатов бывают очень слабые резюме, а у плохих - идеально составленные. А оценивают кандидата уже в процессе беседы.
- В каких сферах программирования используется математика? Для меня просто математика, алгоритмы в реальности - это сбор информации в таблицы. Впоследствии анализ ее.
Вопрос непростой, так как я вряд ли смогу назвать все области, где нужна математика. Но некоторые попробую.
Ну, во-первых, алгоритмы. Алгоритмы и структуры данных нужны для эффективного программирования - чтобы оптимизировать вычисления с точки зрения использования памяти, загрузки процессоров и времени выполнения. Одну и ту же программу можно реализовать так, что она будет считать результат 200 тысяч лет, а можно так, что доли секунд - вопрос в выборе (не)эффективного алгоритма.
Но далеко не все разработчики сталкиваются с задачами, в которых нужно использовать сложные нетривиальные алгоритмы - обычно они нужны, когда пишешь что-то большое и с серьезными требованиями по скорости выполнения и где каждая лишняя доля секунды - критичная величина. Бывают более простые и высокоуровневые задачи, где котируется простота кода и скорость его написания, а то, что он будет работать чуть медленее - не так критично.
По поводу математики.
- Математика (в частности, статистика) нужна в data science - для анализа данных, для обучения моделей машинного обучения и построения нейросетей
- В криптографии (и модном нынче блокчейне)
- В системном программировании
- В программировании чего-то специфического, связанного с математическими вычислениями (например, компьютерной графики или траекторий движения для каких-нибудь роботов)
- В программировании для научных вычислений
Есть компании, куда без хорошего знания математики и алгоритмов, скорее всего, не возьмут - например, Яндекс.
Но далеко не все разработчики используют какие-то сложные математические знания в решении своих ежедневных задач. И, по правде сказать, я не сталкивалась с тем, чтобы на собеседованиях спрашивали про матан.
Вопрос непростой, так как я вряд ли смогу назвать все области, где нужна математика. Но некоторые попробую.
Ну, во-первых, алгоритмы. Алгоритмы и структуры данных нужны для эффективного программирования - чтобы оптимизировать вычисления с точки зрения использования памяти, загрузки процессоров и времени выполнения. Одну и ту же программу можно реализовать так, что она будет считать результат 200 тысяч лет, а можно так, что доли секунд - вопрос в выборе (не)эффективного алгоритма.
Но далеко не все разработчики сталкиваются с задачами, в которых нужно использовать сложные нетривиальные алгоритмы - обычно они нужны, когда пишешь что-то большое и с серьезными требованиями по скорости выполнения и где каждая лишняя доля секунды - критичная величина. Бывают более простые и высокоуровневые задачи, где котируется простота кода и скорость его написания, а то, что он будет работать чуть медленее - не так критично.
По поводу математики.
- Математика (в частности, статистика) нужна в data science - для анализа данных, для обучения моделей машинного обучения и построения нейросетей
- В криптографии (и модном нынче блокчейне)
- В системном программировании
- В программировании чего-то специфического, связанного с математическими вычислениями (например, компьютерной графики или траекторий движения для каких-нибудь роботов)
- В программировании для научных вычислений
Есть компании, куда без хорошего знания математики и алгоритмов, скорее всего, не возьмут - например, Яндекс.
Но далеко не все разработчики используют какие-то сложные математические знания в решении своих ежедневных задач. И, по правде сказать, я не сталкивалась с тем, чтобы на собеседованиях спрашивали про матан.
Мои первые собеседования
Здесь должна быть история про то, как я мытарилась по собеседованиям, безуспешно пытаясь всем доказать, что чего-то стою в программировании, несмотря на гуманитарное образование.
Однако ничего подобного не было.
На собеседование в первую компанию меня позвали как только я выложила резюме. После собеседований сделали оффер, и потом еще девушка-рекрутер звонила по три раза на день и спрашивала - приняла ли я решение, или нет. А сейчас? А теперь? А когда вы решите? Я успела сходить на собеседование в еще одну компанию, и потом приняла первый оффер.
На первом собеседовании спросили, люблю ли я задачки на сообразительность. Я ответила, что не люблю (это правда). После этого мне задали несколько таких задачек - что-то там про шахматную доску, про шары, которые кидают с высоты итд итп. С подсказками я более или менее продвинулась в решении этих загадок. А из заданий по существу - попросили решить задачку на питоне (сам интервьюер питона не знал), и по SQL (классика - join, задачку на группировку и having). Кстати, по SQL почему-то все любят давать задание на декартово произведение, несмотря на то, что я ни разу не видела, чтобы его кто-то использовал в проде. Сама работа была в небольшой компании, а разрабатывать мне предстояло парсеры-краулеры для веб-страниц. В целом ничего сложного, но на том этапе для меня это звучало как «ты будешь строить космические корабли». Я, правда, не подала вида, что звучит очень сложно и у меня лапки, и деловито согласилась (читала в Интернете, что так надо делать 🙂 ).
Во второй компании (уже крупной) меня собеседовали на должность разработчика автотестов. Это звучало проще, но желанием идти в тестировщики я не горела. (Но зато какой крутой у них офис!) Там меня хорошо погоняли по вопросам про Linux, я, к своему удивлению, ответила на все и решила их задачи на всяких grep/sed/awk/sort/uniq итд. Сами интервьюеры сказали, что после моего резюме они совсем не ожидали таких глубоких знаний. Да я и сама не ожидала, чего уж там. Дальше меня еще пособеседовали несколько людей должностью повыше - пока в итоге я не попала к какому-то совсем «крутому дяде», судя по пиитету hr-менеджера. Он решил, что им нужен человек, который сейчас же возьмет в свои руки руководство командой автотестировщиков и наладит там процессы - и это точно было не про меня. Так я попала в первую компанию, откуда получила оффер.
Здесь должна быть история про то, как я мытарилась по собеседованиям, безуспешно пытаясь всем доказать, что чего-то стою в программировании, несмотря на гуманитарное образование.
Однако ничего подобного не было.
На собеседование в первую компанию меня позвали как только я выложила резюме. После собеседований сделали оффер, и потом еще девушка-рекрутер звонила по три раза на день и спрашивала - приняла ли я решение, или нет. А сейчас? А теперь? А когда вы решите? Я успела сходить на собеседование в еще одну компанию, и потом приняла первый оффер.
На первом собеседовании спросили, люблю ли я задачки на сообразительность. Я ответила, что не люблю (это правда). После этого мне задали несколько таких задачек - что-то там про шахматную доску, про шары, которые кидают с высоты итд итп. С подсказками я более или менее продвинулась в решении этих загадок. А из заданий по существу - попросили решить задачку на питоне (сам интервьюер питона не знал), и по SQL (классика - join, задачку на группировку и having). Кстати, по SQL почему-то все любят давать задание на декартово произведение, несмотря на то, что я ни разу не видела, чтобы его кто-то использовал в проде. Сама работа была в небольшой компании, а разрабатывать мне предстояло парсеры-краулеры для веб-страниц. В целом ничего сложного, но на том этапе для меня это звучало как «ты будешь строить космические корабли». Я, правда, не подала вида, что звучит очень сложно и у меня лапки, и деловито согласилась (читала в Интернете, что так надо делать 🙂 ).
Во второй компании (уже крупной) меня собеседовали на должность разработчика автотестов. Это звучало проще, но желанием идти в тестировщики я не горела. (Но зато какой крутой у них офис!) Там меня хорошо погоняли по вопросам про Linux, я, к своему удивлению, ответила на все и решила их задачи на всяких grep/sed/awk/sort/uniq итд. Сами интервьюеры сказали, что после моего резюме они совсем не ожидали таких глубоких знаний. Да я и сама не ожидала, чего уж там. Дальше меня еще пособеседовали несколько людей должностью повыше - пока в итоге я не попала к какому-то совсем «крутому дяде», судя по пиитету hr-менеджера. Он решил, что им нужен человек, который сейчас же возьмет в свои руки руководство командой автотестировщиков и наладит там процессы - и это точно было не про меня. Так я попала в первую компанию, откуда получила оффер.
- Что не так с работой тестировщиком? Опиши подробнее твои взаимодействия с тестировщиками сейчас, по работе
С тестировщиками всё так. Кроме того, что мне хотелось в разработку, а не в тестирование.
Вообще тестировщики тестировщикам рознь. Бывают вакансии тестировщиков, куда берут без каких-либо исходных навыков или знаний. Работа таких тестеров состоит, грубо говоря, в том, чтобы вручную потыкать интерфейс приложения как будто ты пользователь. На серьезную оплату такой работы рассчитывать не приходится, а что касается роста - тут вопрос в том, насколько компания вкладывается в развитие такого специалиста, и стремится ли повышать его квалификацию (например, обучать инженерным навыкам и программированию). Некоторые компании исходят из идеалогии «программировать у нас должны уметь все». В таком случае эта вакансия - хороший старт, и сам работодатель поможет с обучением. Но возможна и обратная ситуация, когда эта работа - просто про тыканье в кнопки, и никакой рост не подразумевается.
Другое дело, если речь идет о квалифицированном инженере-тестировщике, знакомом с теорией тестирования, знающим как правильно организовать процесс контроля качества продукта, умеющий составлять тест-дизайны, продумывать тест-кейсы и разную прочую магию QA. Такие специалисты имеют как минимум базовые знания языков программирования, на которых написан продукт, могут читать и понимать код.
Не всем продуктам вообще необходимы ручные тестировщики, и часто ограничиваются автотестами - в этом случае тестировщики - это программисты, которые пишут код тестов. Вот на такую вакансию меня и звали, но, как по мне, писать только тесты - звучит несколько муторно. И да, это предвзятая точка зрения.
Развиваться как тестировщик имеет смысл в компаниях, где есть отдел QA и в нем ценят квалифицированных специалистов по тестированию и на это выделен соответсвующий бюджет. Так можно дорости, например, до директора QA - но, повторюсь, если это направление вообще развито в данной компании.
Что касается моего опыта взаимодействия с тестироовщиками. На предыдущем месте работы я относилась к отделу Ops - мы занимались помимо прочего деплоем продукта непосредственно в продакшен, мониторингом и поддержкой его работоспособности. По сути тестировщиками, как это ни печально (и как это часто бывает) в итоге становились конечные пользователи. И все жалобы на баги прилетали первым делом в наш отдел (или же мы сами натыкались на баги). И дальше - либо бистро-бистро на коленке фиксили сами «по горяченькому» - так как до разработчиков как до луны не докричишься - они эти баги бы починили к следующему релизу, который через полгода. Либо, если баг был нетривиальный и «чик-чик и в продакшен» сделать не получалось - всё-таки пытались достучаться до разработчиков. (Да, очень часто процессы в компаниях работают через пень-колоду).
Потом появился отдел тестирования - там сначала работал 1 человек, потом наняли еще 2х. Теперь перед релизом продукта код от разработчиков попадал к тестировщикам, и они там делали свою магию, находили баги и отправляли код на доработку. И только после одобрения тестеров продукт уже попадал к нам и от нас в прод. Но для нас изменилось мало что - багов, которые надо срочно-срочно исправлять прям на коленке не убавилось - этим по-прежнему занимались мы. В других же случаях - репортили баг в отдел QA, они там проверяли продукт еще раз и уже свой отчет направляли разрабам.
В моей нынешней компании я взаимодействую с тестировщиками - никак. У нас их просто нет (по крайней мере на тех продуктах, с которыми работаю я). За качество кода, за поиск багов, за тестирование приложения, а также за деплой и поддержку отвечает его непосредственный автор - разработчик. Сплошной DevOps, в общем. По слухам, тестировщики раньше у нас были, но потом было принято решение отказаться от них. У такого подхода есть свои преимущества - разработчики меньше «халявят» и ответственнее относятся к тестированию кода, так как нет искушения «скинуть» эту работу на тестировщиков, и отдавать им «сырой», плохо отлаженный код.
С тестировщиками всё так. Кроме того, что мне хотелось в разработку, а не в тестирование.
Вообще тестировщики тестировщикам рознь. Бывают вакансии тестировщиков, куда берут без каких-либо исходных навыков или знаний. Работа таких тестеров состоит, грубо говоря, в том, чтобы вручную потыкать интерфейс приложения как будто ты пользователь. На серьезную оплату такой работы рассчитывать не приходится, а что касается роста - тут вопрос в том, насколько компания вкладывается в развитие такого специалиста, и стремится ли повышать его квалификацию (например, обучать инженерным навыкам и программированию). Некоторые компании исходят из идеалогии «программировать у нас должны уметь все». В таком случае эта вакансия - хороший старт, и сам работодатель поможет с обучением. Но возможна и обратная ситуация, когда эта работа - просто про тыканье в кнопки, и никакой рост не подразумевается.
Другое дело, если речь идет о квалифицированном инженере-тестировщике, знакомом с теорией тестирования, знающим как правильно организовать процесс контроля качества продукта, умеющий составлять тест-дизайны, продумывать тест-кейсы и разную прочую магию QA. Такие специалисты имеют как минимум базовые знания языков программирования, на которых написан продукт, могут читать и понимать код.
Не всем продуктам вообще необходимы ручные тестировщики, и часто ограничиваются автотестами - в этом случае тестировщики - это программисты, которые пишут код тестов. Вот на такую вакансию меня и звали, но, как по мне, писать только тесты - звучит несколько муторно. И да, это предвзятая точка зрения.
Развиваться как тестировщик имеет смысл в компаниях, где есть отдел QA и в нем ценят квалифицированных специалистов по тестированию и на это выделен соответсвующий бюджет. Так можно дорости, например, до директора QA - но, повторюсь, если это направление вообще развито в данной компании.
Что касается моего опыта взаимодействия с тестироовщиками. На предыдущем месте работы я относилась к отделу Ops - мы занимались помимо прочего деплоем продукта непосредственно в продакшен, мониторингом и поддержкой его работоспособности. По сути тестировщиками, как это ни печально (и как это часто бывает) в итоге становились конечные пользователи. И все жалобы на баги прилетали первым делом в наш отдел (или же мы сами натыкались на баги). И дальше - либо бистро-бистро на коленке фиксили сами «по горяченькому» - так как до разработчиков как до луны не докричишься - они эти баги бы починили к следующему релизу, который через полгода. Либо, если баг был нетривиальный и «чик-чик и в продакшен» сделать не получалось - всё-таки пытались достучаться до разработчиков. (Да, очень часто процессы в компаниях работают через пень-колоду).
Потом появился отдел тестирования - там сначала работал 1 человек, потом наняли еще 2х. Теперь перед релизом продукта код от разработчиков попадал к тестировщикам, и они там делали свою магию, находили баги и отправляли код на доработку. И только после одобрения тестеров продукт уже попадал к нам и от нас в прод. Но для нас изменилось мало что - багов, которые надо срочно-срочно исправлять прям на коленке не убавилось - этим по-прежнему занимались мы. В других же случаях - репортили баг в отдел QA, они там проверяли продукт еще раз и уже свой отчет направляли разрабам.
В моей нынешней компании я взаимодействую с тестировщиками - никак. У нас их просто нет (по крайней мере на тех продуктах, с которыми работаю я). За качество кода, за поиск багов, за тестирование приложения, а также за деплой и поддержку отвечает его непосредственный автор - разработчик. Сплошной DevOps, в общем. По слухам, тестировщики раньше у нас были, но потом было принято решение отказаться от них. У такого подхода есть свои преимущества - разработчики меньше «халявят» и ответственнее относятся к тестированию кода, так как нет искушения «скинуть» эту работу на тестировщиков, и отдавать им «сырой», плохо отлаженный код.
-
Чаще всего на собеседованиях просят написать решение на листочке (или маркером на доске). Компьютер вам вряд ли кто-то даст.
Особо страшного в этом ничего нет - каких-то мелких деталей и подробностей, которые обычно нужно гуглить, там, скорее всего не будет, а попросят вас набросать на бумаге решение небольшой задачки (ну, например, удалить из массива чисел все отрицательные). Могут попросить написать решение на знакомом вам языке, а могут на псевдокоде. Важно как вы мыслите в процессе решения, и знакомы ли с основами языка.
Что-то прям выучивать вряд ли имеет смысл - это не экзамен, тут проверяют скиллы и базовые знания, а не краткосрочную память.
На счет «написать парсер» - это вы загнули. Я даже не уверена, что поняла вас правильно.
Если собеседование удаленное, например, по скайпу, тогда вам могут предложить решать задания в каком-нибудь интерактивном интепретаторе со своего компьютера.
Более сложные и большие тестовые задания «задают на дом».
И еще важный вопрос про собеседования — как дают на них решать задачки? листок бумаги и ручка? компьютер с установленым енвайрментом? Вот почему спрашиваю — при разработке приложений для себя и для курсов и по книжкам все равно подсматриваю в свои записи, в тоториалы, в документацию к модулям. Ведь в реальной работе разрабы гуглят тоже очень много, и по памяти не помнят какие параметры передаются сюда-туда, подглядывают. А на собеседовании как? надо все выучить, чтобы можно на листочке парсер написать, никуда не подглядывая?Чаще всего на собеседованиях просят написать решение на листочке (или маркером на доске). Компьютер вам вряд ли кто-то даст.
Особо страшного в этом ничего нет - каких-то мелких деталей и подробностей, которые обычно нужно гуглить, там, скорее всего не будет, а попросят вас набросать на бумаге решение небольшой задачки (ну, например, удалить из массива чисел все отрицательные). Могут попросить написать решение на знакомом вам языке, а могут на псевдокоде. Важно как вы мыслите в процессе решения, и знакомы ли с основами языка.
Что-то прям выучивать вряд ли имеет смысл - это не экзамен, тут проверяют скиллы и базовые знания, а не краткосрочную память.
На счет «написать парсер» - это вы загнули. Я даже не уверена, что поняла вас правильно.
Если собеседование удаленное, например, по скайпу, тогда вам могут предложить решать задания в каком-нибудь интерактивном интепретаторе со своего компьютера.
Более сложные и большие тестовые задания «задают на дом».
Ваш главный враг
Мне в бота для обратной связи присылают много разных вопросов. Но почти во всех случаях подходит один и тот же ответ - не бойтесь. Ваш главный враг - это страх. Он же и основное препятствие.
Одни боятся изучать что-то новое - оно же такое сложное и непонятное. На самом деле сложным всё кажется потому, что вы боитесь думать. Если сесть и неспеша разобраться - окажется, что ничего сложного там и не было. Но паника (а к ней еще и лень) при виде того, что с первого взгляда кажется «китайской грамотой» может парализовать волю, и вместо того, чтобы приложить минимальное усилие и чуть-чуть подумать, врубается режим «ААААААА! я не смогу! сложно! я никогда это не пойму!». При виде чего-то непонятного - не пугайтесь, попытайтесь разобраться.
Другие боятся писать резюме - мол сейчас выложу, и никто на него не посмотрит! Страх-то какой! Ну даже если и так - что с того? Не зайдёт эта версия резюме, напишете другую. Не понравится одному работодателю, понравится другому. В чем проблема-то?
Третьи боятся идти на собеседование - я же там опозорюсь! Ну во-первых, собеседование - это не экзамен. Это знакомство с работодателем. Даже если вы его не пройдете, вы узнаете, какие требования там предъявляют к кандидатам, и какие у вас есть пробелы в знаниях - и можно вернуться даже в то же место через полгода, прокачавшись, где нужно. Или сходить на собеседования в другие места. Не получится сегодня - получится в следующий раз. Это вопрос подготовки.
Четвертые уже прошли предыдущие этапы, но, оказавшись на работе, снова впадают в панику. Тут незнакомые технологии, всё такое непонятное, я раньше такого не делал. Хочется схватиться руками за голову и позвать кого-то мудрого и знающего на помощь. Или уволиться и пойти работать в макдональдс. Так вот - уймите панику. Тут нужно просто сесть и вдумчиво разобраться, что за новый дивный мир перед вами - у вас же есть полный Интернет информации. И через неделю или месяц-другой всё это страшное и непонятное окажется простым и знакомым.
Мне в бота для обратной связи присылают много разных вопросов. Но почти во всех случаях подходит один и тот же ответ - не бойтесь. Ваш главный враг - это страх. Он же и основное препятствие.
Одни боятся изучать что-то новое - оно же такое сложное и непонятное. На самом деле сложным всё кажется потому, что вы боитесь думать. Если сесть и неспеша разобраться - окажется, что ничего сложного там и не было. Но паника (а к ней еще и лень) при виде того, что с первого взгляда кажется «китайской грамотой» может парализовать волю, и вместо того, чтобы приложить минимальное усилие и чуть-чуть подумать, врубается режим «ААААААА! я не смогу! сложно! я никогда это не пойму!». При виде чего-то непонятного - не пугайтесь, попытайтесь разобраться.
Другие боятся писать резюме - мол сейчас выложу, и никто на него не посмотрит! Страх-то какой! Ну даже если и так - что с того? Не зайдёт эта версия резюме, напишете другую. Не понравится одному работодателю, понравится другому. В чем проблема-то?
Третьи боятся идти на собеседование - я же там опозорюсь! Ну во-первых, собеседование - это не экзамен. Это знакомство с работодателем. Даже если вы его не пройдете, вы узнаете, какие требования там предъявляют к кандидатам, и какие у вас есть пробелы в знаниях - и можно вернуться даже в то же место через полгода, прокачавшись, где нужно. Или сходить на собеседования в другие места. Не получится сегодня - получится в следующий раз. Это вопрос подготовки.
Четвертые уже прошли предыдущие этапы, но, оказавшись на работе, снова впадают в панику. Тут незнакомые технологии, всё такое непонятное, я раньше такого не делал. Хочется схватиться руками за голову и позвать кого-то мудрого и знающего на помощь. Или уволиться и пойти работать в макдональдс. Так вот - уймите панику. Тут нужно просто сесть и вдумчиво разобраться, что за новый дивный мир перед вами - у вас же есть полный Интернет информации. И через неделю или месяц-другой всё это страшное и непонятное окажется простым и знакомым.
С чего мне начать учиться? Порекомендуйте курсы и книги.
Это самый частый вопрос, который мне задают. И, мне кажется, я уже на него отвечала в разных постах (по сути они все про это). Но повторюсь еще раз.
Думаю, самое эффективное, что доступно сейчас для обучения - это курсы при крупных It-компаниях. В идеале - не бесплатные, не краткосрочные, включающие проработанную программу из разных предметов и с гарантией трудоустройства. Какие компании предлагают такие курсы - легко загуглить (запрос: курсы при IT компаниях). На них из вас сделают готового специалиста и передадут в руки работодателя.
Если же хочется просто попробовать, что это такое в более лайтовом и ни к чему не обязывающем режиме - то заходите на любую образовательную платформу (coursera/edx/stepik/udemy итд) - выбирайте любой курс по Computer Science или программированию для начинающих - и пробуйте. В описании курса должно быть написано, что не требуется никакой начальной подготовки, и могут упоминаться слова introduction/введение/101. Такие курсы бывают совсем короткими - на 1 месяц, к примеру. Лично я училась как раз в таком режиме, но не «лайтово», так как «загребала» все курсы, которые мне попадались на пути.
В очередной раз среди онлайн-курсов на английском языке рекомендую гарвардский CS50 - Introduction into Computer Science, он есть на платформе edx.org. Он не из коротких - длится 1 учебный год. И потребует определенного количества времени и усилий, но он классный и очень вдохновляющий. Только не говорите потом «я изучал программирование в Гарварде», а то про это уже даже мем есть.
Что касается того, какие книги почитать - у меня нет своего эталонного списка рекомендованной литературы. Лично я читала преимущественно о тех технологиях, которые использую в работе и по каким-то отдельным интересным для меня темам. Дональд Кнут все еще стоит на полке и зыркает на меня укоризненно корешком. А начинала я не с книг, а с онлайн-курсов. Поэтому поискать хорошие книги для начинающих лучше в гугле - он вообще умный и много знает.
Это самый частый вопрос, который мне задают. И, мне кажется, я уже на него отвечала в разных постах (по сути они все про это). Но повторюсь еще раз.
Думаю, самое эффективное, что доступно сейчас для обучения - это курсы при крупных It-компаниях. В идеале - не бесплатные, не краткосрочные, включающие проработанную программу из разных предметов и с гарантией трудоустройства. Какие компании предлагают такие курсы - легко загуглить (запрос: курсы при IT компаниях). На них из вас сделают готового специалиста и передадут в руки работодателя.
Если же хочется просто попробовать, что это такое в более лайтовом и ни к чему не обязывающем режиме - то заходите на любую образовательную платформу (coursera/edx/stepik/udemy итд) - выбирайте любой курс по Computer Science или программированию для начинающих - и пробуйте. В описании курса должно быть написано, что не требуется никакой начальной подготовки, и могут упоминаться слова introduction/введение/101. Такие курсы бывают совсем короткими - на 1 месяц, к примеру. Лично я училась как раз в таком режиме, но не «лайтово», так как «загребала» все курсы, которые мне попадались на пути.
В очередной раз среди онлайн-курсов на английском языке рекомендую гарвардский CS50 - Introduction into Computer Science, он есть на платформе edx.org. Он не из коротких - длится 1 учебный год. И потребует определенного количества времени и усилий, но он классный и очень вдохновляющий. Только не говорите потом «я изучал программирование в Гарварде», а то про это уже даже мем есть.
Что касается того, какие книги почитать - у меня нет своего эталонного списка рекомендованной литературы. Лично я читала преимущественно о тех технологиях, которые использую в работе и по каким-то отдельным интересным для меня темам. Дональд Кнут все еще стоит на полке и зыркает на меня укоризненно корешком. А начинала я не с книг, а с онлайн-курсов. Поэтому поискать хорошие книги для начинающих лучше в гугле - он вообще умный и много знает.
Про уверенность в себе
Сегодняшний пост про две стороны уверенности в себе.
Вы наверняка слышали, как из каждого утюга кричат, что уверенность - это всё, основа успеха и всякое такое.
Так вот, собеседовали мы как-то на прошлой работе девочку. Пришла она из другого отдела, была стажером data science, а собеседовали ее зачем-то на позицию, в большей мере связанную с инженерными задачками и программированием. В целом было ясно, что и компетенций там не достаточно, и работать человек привык с другими задачами, но почему-то всем очень хотелось натянуть сову на глобус.
Сама девочка излучала такую уверенность в себе, что руководитель отдела ей поверил на слово. «Программирование? Ну с программированием у меня точно не возникнет проблем. В этом я уверена. А я слушала и понимала, что человек явно недооценивает сложность задач и количество усилий, которое нужно на потратить на освоение недостающих навыков. Знакома она была только с питоном, и то в довольно узких задачах, а работать предстояло в том числе с «этими вашими шарпами» (C#). Но где-то когда-то писали, что поколение Y - это часто такие ребята, которые могут сомневаться в ком угодно, но только не в себе.
В итоге взяли девочку. С программированием, с которым по ее убеждению проблем возникнуть было не должно, проблемы, конечно, возникли сразу. Девочка отказывалась понимать, что существует такая вещь, как языки программирования со строгой типизацией, и сколько не повторяй, что переменные надо объявлять - всё мимо, код не компилируется. С питоном, к слову, было не сильно легче - как только её код падал с каким-то исключением, она не читая текст исключения, и даже не предпринимая попыток разобраться, что за ошибка произошла - тут же звала меня «Лена! У меня тут какая-то ошибка! Чо делать?». Просьбу для начала прочитать текст на ее мониторе - там же написано, что за ошибка - она так же неизменно игнорировала, как и строгую типизацию в C#.
В итоге через какое-то время девочка сама ушла, а в её резюме я увидела новый пункт в скиллах: C#. Серьезно?
Так что уверенность в себе - это само по себе неплохо, и может даже помочь произвести хорошее впечатление на этапе знакомства. Но без скиллов и усердия это скорее минус, чем плюс. Нередко бывает, что завышенная самооценка, и даже некоторое высокомерие идут рука об руку с некомпетентностью.
Впрочем, на собеседование все же захватите с собой уверенность в себе, хотя бы столько, сколько наскребёте - не помешает.
Сегодняшний пост про две стороны уверенности в себе.
Вы наверняка слышали, как из каждого утюга кричат, что уверенность - это всё, основа успеха и всякое такое.
Так вот, собеседовали мы как-то на прошлой работе девочку. Пришла она из другого отдела, была стажером data science, а собеседовали ее зачем-то на позицию, в большей мере связанную с инженерными задачками и программированием. В целом было ясно, что и компетенций там не достаточно, и работать человек привык с другими задачами, но почему-то всем очень хотелось натянуть сову на глобус.
Сама девочка излучала такую уверенность в себе, что руководитель отдела ей поверил на слово. «Программирование? Ну с программированием у меня точно не возникнет проблем. В этом я уверена. А я слушала и понимала, что человек явно недооценивает сложность задач и количество усилий, которое нужно на потратить на освоение недостающих навыков. Знакома она была только с питоном, и то в довольно узких задачах, а работать предстояло в том числе с «этими вашими шарпами» (C#). Но где-то когда-то писали, что поколение Y - это часто такие ребята, которые могут сомневаться в ком угодно, но только не в себе.
В итоге взяли девочку. С программированием, с которым по ее убеждению проблем возникнуть было не должно, проблемы, конечно, возникли сразу. Девочка отказывалась понимать, что существует такая вещь, как языки программирования со строгой типизацией, и сколько не повторяй, что переменные надо объявлять - всё мимо, код не компилируется. С питоном, к слову, было не сильно легче - как только её код падал с каким-то исключением, она не читая текст исключения, и даже не предпринимая попыток разобраться, что за ошибка произошла - тут же звала меня «Лена! У меня тут какая-то ошибка! Чо делать?». Просьбу для начала прочитать текст на ее мониторе - там же написано, что за ошибка - она так же неизменно игнорировала, как и строгую типизацию в C#.
В итоге через какое-то время девочка сама ушла, а в её резюме я увидела новый пункт в скиллах: C#. Серьезно?
Так что уверенность в себе - это само по себе неплохо, и может даже помочь произвести хорошее впечатление на этапе знакомства. Но без скиллов и усердия это скорее минус, чем плюс. Нередко бывает, что завышенная самооценка, и даже некоторое высокомерие идут рука об руку с некомпетентностью.
Впрочем, на собеседование все же захватите с собой уверенность в себе, хотя бы столько, сколько наскребёте - не помешает.
- Добрый день, вот вопрос: как понять, что пора писать резюме и начинать ходить на собеседования? меня самого интересует тестирование, но наверное многим будет интересно при изучении, к примеру, питона.
Книжки, которые в списке маст-рид прочитаны, и примеры сделаны, три курса на степике по питону пройдено, могу ,скажем без мам-пап-и подглядываний написать транспонирование матрицы. Пора писать резюме в списке скилов питон?
Очень в тему Вашего последнего поста по самоуверенность.
Привет! А вы начинайте и пробуйте - как раз в процессе собеседований (или первых мест работы) и поймёте, готовы ли уже к работе, или что-то где-то еще нужно доучить. К тому же к тестировщикам на начальном этапе не такие уж большие требования (но это зависит от конкретного работодателя). Тянуть и закапываться в книгах - тоже не очень хороший путь, так как книги и курсы не дают опыта работы над реальными «боевыми» задачами и соответствующих скиллов. Если устроитесь на работу и поймете, что кровь из носа не хватает времени на то, чтобы еще что-то подучить - можно поискать варианты с неполной занятостью, чтобы выделить время на учебу. Но обычно самая эффективная учеба происходит в процессе работы и решения реальных задач.
В резюме на первых этапах пишите всё, что хоть в какой-то мере знаете. В примере из моего поста речь шла о том, что человек не освоил даже на начальном уровне язык и не мог на нем решать элементарных задач, но уже написал его как пункт в резюме.
- Мне кажется, девочка молодец и то, что она попала к вам не обладая навыками - это круто. Тут скорее минус в том, что ей не хватило сил и терпения разобраться во всем, вот тут минус. По практике уверен, что если влез и есть желание, то можно все потянуть. Вот тут и вопрос в другом, как бы влезть 🙂
По своему опыту (не претендую на то, что он универсальный и что мои выводы единственно верные), «влезть» - это вообще не проблема, по крайней мере в Москве, где вакансий очень много. А реальный успех зависит почти исключительно от готовности прилагать усилия и «копать глубже». Если человек не любопытный, не увлеченный, относится по-раздолбайски и «на отвали», но при этом еще совсем новичок, то ни на какой высокой самооценке тут не выедешь.
И я ни в коем случае не говорю о том, что уверенность в себе - это плохо. Это хорошо, и гораздо полезнее, чем низкая самооценка и излишняя скромность - есть много людей, которые довольно неплохие специалисты, но позиционируют себя как «да я ничего особо не умею, ничего толком не могу» - и такое отношение, разумеется, может навредить на собеседовании. Например, такой очень скромный человек, скорее всего, и зарплату попросит маленькую (ну разве я большего заслуживаю?).
Но вопрос не только в том, как вы себя презентуете при знакомстве, но и в том, объективно ли оцениваете свой уровень сами. Да, на собеседовании по возможности хорошо делать вид, что вы самый лучший. Но искренне верить в то, что вы действительно очень крутой специалист (будучи новичком) - это скорее минус, так как если вы и так крутой - то зачем стремиться к большему, зачем учиться и осваивать что-то новое? И так сойдёт.
Книжки, которые в списке маст-рид прочитаны, и примеры сделаны, три курса на степике по питону пройдено, могу ,скажем без мам-пап-и подглядываний написать транспонирование матрицы. Пора писать резюме в списке скилов питон?
Очень в тему Вашего последнего поста по самоуверенность.
Привет! А вы начинайте и пробуйте - как раз в процессе собеседований (или первых мест работы) и поймёте, готовы ли уже к работе, или что-то где-то еще нужно доучить. К тому же к тестировщикам на начальном этапе не такие уж большие требования (но это зависит от конкретного работодателя). Тянуть и закапываться в книгах - тоже не очень хороший путь, так как книги и курсы не дают опыта работы над реальными «боевыми» задачами и соответствующих скиллов. Если устроитесь на работу и поймете, что кровь из носа не хватает времени на то, чтобы еще что-то подучить - можно поискать варианты с неполной занятостью, чтобы выделить время на учебу. Но обычно самая эффективная учеба происходит в процессе работы и решения реальных задач.
В резюме на первых этапах пишите всё, что хоть в какой-то мере знаете. В примере из моего поста речь шла о том, что человек не освоил даже на начальном уровне язык и не мог на нем решать элементарных задач, но уже написал его как пункт в резюме.
- Мне кажется, девочка молодец и то, что она попала к вам не обладая навыками - это круто. Тут скорее минус в том, что ей не хватило сил и терпения разобраться во всем, вот тут минус. По практике уверен, что если влез и есть желание, то можно все потянуть. Вот тут и вопрос в другом, как бы влезть 🙂
По своему опыту (не претендую на то, что он универсальный и что мои выводы единственно верные), «влезть» - это вообще не проблема, по крайней мере в Москве, где вакансий очень много. А реальный успех зависит почти исключительно от готовности прилагать усилия и «копать глубже». Если человек не любопытный, не увлеченный, относится по-раздолбайски и «на отвали», но при этом еще совсем новичок, то ни на какой высокой самооценке тут не выедешь.
И я ни в коем случае не говорю о том, что уверенность в себе - это плохо. Это хорошо, и гораздо полезнее, чем низкая самооценка и излишняя скромность - есть много людей, которые довольно неплохие специалисты, но позиционируют себя как «да я ничего особо не умею, ничего толком не могу» - и такое отношение, разумеется, может навредить на собеседовании. Например, такой очень скромный человек, скорее всего, и зарплату попросит маленькую (ну разве я большего заслуживаю?).
Но вопрос не только в том, как вы себя презентуете при знакомстве, но и в том, объективно ли оцениваете свой уровень сами. Да, на собеседовании по возможности хорошо делать вид, что вы самый лучший. Но искренне верить в то, что вы действительно очень крутой специалист (будучи новичком) - это скорее минус, так как если вы и так крутой - то зачем стремиться к большему, зачем учиться и осваивать что-то новое? И так сойдёт.
Ты же девочка
Сложно обойти вниманием вопросы про сексизм в IT. Какого это - быть девочкой-айтишиком?
Ощущаю ли я на себе какую-либо гендерную дискриминацию? - Нет или почти нет.
Значит ли это, что сексизма вообще нет? - Не значит. Но сексизм - дело тонкое, он не всегда явный, не всегда заметный, и не обязательно затрагивает тебя лично.
Вообще сексисткие высказывания бывают двух видов - когда тебе отказывают в каких-то способностях на основании гендера, и наоборот - сексисткие комплименты. Например, лет в 20 мне льстило, когда мне говорили «Нифига себе! Ты водишь машину на ручной коробке передач! Ты же девочка». Мне казалось, что круто быть «не такой» девочкой, которая так выгодно отличается от стереотипного образа «бабы». Но сейчас я бы не стала воспринимать такое как комплимент - потому что, а что особенного в том, что я могу ездить на механике? Миллионы людей умеют это делать. Типо нужно быть какой-то «особенной» женщиной, чтобы уметь нажимать на педали и дергать ручку коробки передач? А вот homo sapiens мужского пола - это другое дело, ему это проще. Серьезно?
Поэтому когда кто-то удивляется, что как же так, девочка, да в IT - это признак довольно дубового мышления. Но на самом деле с такой формулировкой напрямую я встречалась только 1 раз, на довольно дурацком собеседовании, где hr-менеджер сначала долго пыталась меня классифицировать по соционике, не обращая внимания на мои вялые возражения о том, что это антинаучно. А потом наконец созрела для «главного вопроса»: «Как так получилось, что девушка - да в IT? Странный выбор. Я думала, все программисты - это такие ребята с бородой и в заношенном свитере». И сальными волосами, в очках с трехметровыми стеклами, ага.
Но есть и другая сторона. Если вы девушка, ваш пол может сыграть на пользу вашему резюме. Потому что нас мало. И ваше резюме будет заметнее на фоне 20 мужских - просто потому что девушек в IT мало. И с одной стороны, у работодателя могут быть сексистские предрассудки и сомнения в том, что девушка «смогёт», но с другой - ему будет интересно посмотреть на девушку-айтишника, потому что это всё ещё редкий вид. Так что вероятность, что вас заметят, позовут на собеседование, выделят среди других кандидатов и запомнят - достаточно высока. А пройдёте вы или нет собеседование, зависит уже всецело от вашей подготовки. Так что, быть может, быть девушкой даже выгоднее, в каком-то смысле.
В принципе, если у отдельных представителей индустрии есть сексистские убеждения, то единственный способ им противостоять - это быть девушкой, работать в IT и хорошо себя там проявлять. Потому что мнения меняются, и если у вчерашнего сексиста был положительный опыт работы с одной девушкой-разработчиком, он уже будет менее предвзят в следующий раз. А если с двумя или тремя - то еще в большей степени.
Но вот если наоборот относиться к работе по-раздолбайски, то стереотип «девушка не может быть айтишником» будет подкрепляться. Тут есть некоторая несправедливость, потому что если девушка тупит и косячит, про нее наверняка подумают: «ну ясное дело, девочка же». А если то же самое делает мальчик, никому не придет в голову объяснять это его полом. Да, я слышала в адрес других коллег женского пола комментарии в духе «у неё такой хаотический женский код».
А вообще нас мало, но с каждым годом становится больше. И быть женщиной в IT - это уже не ново, к этой реальности все уже потихоньку привыкают. Я не могу сказать, что хоть в какой-то мере ощущаю на себе дискриминацию. Потому что в IT встречают не «по одеждке», а по скиллам. И если относиться к своей работе ответственно, то тебя заметят и оценят.
Сложно обойти вниманием вопросы про сексизм в IT. Какого это - быть девочкой-айтишиком?
Ощущаю ли я на себе какую-либо гендерную дискриминацию? - Нет или почти нет.
Значит ли это, что сексизма вообще нет? - Не значит. Но сексизм - дело тонкое, он не всегда явный, не всегда заметный, и не обязательно затрагивает тебя лично.
Вообще сексисткие высказывания бывают двух видов - когда тебе отказывают в каких-то способностях на основании гендера, и наоборот - сексисткие комплименты. Например, лет в 20 мне льстило, когда мне говорили «Нифига себе! Ты водишь машину на ручной коробке передач! Ты же девочка». Мне казалось, что круто быть «не такой» девочкой, которая так выгодно отличается от стереотипного образа «бабы». Но сейчас я бы не стала воспринимать такое как комплимент - потому что, а что особенного в том, что я могу ездить на механике? Миллионы людей умеют это делать. Типо нужно быть какой-то «особенной» женщиной, чтобы уметь нажимать на педали и дергать ручку коробки передач? А вот homo sapiens мужского пола - это другое дело, ему это проще. Серьезно?
Поэтому когда кто-то удивляется, что как же так, девочка, да в IT - это признак довольно дубового мышления. Но на самом деле с такой формулировкой напрямую я встречалась только 1 раз, на довольно дурацком собеседовании, где hr-менеджер сначала долго пыталась меня классифицировать по соционике, не обращая внимания на мои вялые возражения о том, что это антинаучно. А потом наконец созрела для «главного вопроса»: «Как так получилось, что девушка - да в IT? Странный выбор. Я думала, все программисты - это такие ребята с бородой и в заношенном свитере». И сальными волосами, в очках с трехметровыми стеклами, ага.
Но есть и другая сторона. Если вы девушка, ваш пол может сыграть на пользу вашему резюме. Потому что нас мало. И ваше резюме будет заметнее на фоне 20 мужских - просто потому что девушек в IT мало. И с одной стороны, у работодателя могут быть сексистские предрассудки и сомнения в том, что девушка «смогёт», но с другой - ему будет интересно посмотреть на девушку-айтишника, потому что это всё ещё редкий вид. Так что вероятность, что вас заметят, позовут на собеседование, выделят среди других кандидатов и запомнят - достаточно высока. А пройдёте вы или нет собеседование, зависит уже всецело от вашей подготовки. Так что, быть может, быть девушкой даже выгоднее, в каком-то смысле.
В принципе, если у отдельных представителей индустрии есть сексистские убеждения, то единственный способ им противостоять - это быть девушкой, работать в IT и хорошо себя там проявлять. Потому что мнения меняются, и если у вчерашнего сексиста был положительный опыт работы с одной девушкой-разработчиком, он уже будет менее предвзят в следующий раз. А если с двумя или тремя - то еще в большей степени.
Но вот если наоборот относиться к работе по-раздолбайски, то стереотип «девушка не может быть айтишником» будет подкрепляться. Тут есть некоторая несправедливость, потому что если девушка тупит и косячит, про нее наверняка подумают: «ну ясное дело, девочка же». А если то же самое делает мальчик, никому не придет в голову объяснять это его полом. Да, я слышала в адрес других коллег женского пола комментарии в духе «у неё такой хаотический женский код».
А вообще нас мало, но с каждым годом становится больше. И быть женщиной в IT - это уже не ново, к этой реальности все уже потихоньку привыкают. Я не могу сказать, что хоть в какой-то мере ощущаю на себе дискриминацию. Потому что в IT встречают не «по одеждке», а по скиллам. И если относиться к своей работе ответственно, то тебя заметят и оценят.
На позиции джуниора как долго дадут тупить? Как вообще все это будет? типа ну вот мы работаем на Джанге, ты знаешь азы Питона, вот сиди читай мануал, разбирайся с какой-нибудь задачкой, или будет что-то типа: вот тебе золушка мешок зубов перебери к вечеру их все, и не волнует, знаешь, не знаешь. Думаю зависит от компании, в которую устраиваешься. Как было у Вас, лично?Вы правы, это зависит от компании и от конкретного руководителя, к которому вы попадёте. Кстати, будете на собеседовании - там и спросите, какими будут ваши первые рабочие дни, и какие задачи вас ждут на старте - там вам ответят точнее. 🙂
Первые дни (а то и недели) на новой работе обычно «тупят» все - и джуны, и даже сеньоры. Вы будете подписывать кипу разных бумаг, настраивать окружение на компе, получать доступы.
А дальше всё по-разному. Вы джун, вероятно, у вас будет наставник, который будет вводить в курс дела и помогать. Или же обязанность наставника будет размазана между разными коллегами. Адекватные коллеги понимают, что вам нужно время, чтобы войти в рабочие процессы и начать приносить пользу и не станут осуждать за «тупеж». Главное - не тупить вечно.
Какие задачи и как быстро вы получите зависит от руководителя и его подхода. Вам могут для начала давать небольшие задачки, и постепенно наращивать их сложность. Цель - сделать из вас самостоятельного сотрудника, который не будет постоянно тянуть за рукав «старших». И чем быстрее вы начнете превращаться в такого сотрудника - тем лучшее впечатление произведете.
У меня было иначе. Просить помощи особо было не у кого, конкретику, с которой мне нужно было работать, никто не знал. Сотрудник, который раньше занимался моим проектом уже давно уволился, так что вот тебе исходный код - разбирайся сама. Документации нет, комментариев в коде тоже. 🙂 По срокам никто не торопил, кнутом не погонял, в загривок не дышал. Но в целом подход был - выкинуть на середину озера, чтобы научить плавать. Так что пришлось выплывать как-то самой. Первое время мозг закипал от напряжения, вечерами болела голова и я даже начинала запинаться в речи из-за переутомления. А потом разобралась, и стало проще. Оказалось, что ничего страшного.
В таком подходе к новым сотрудникам есть и плюсы и минусы. С одной стороны, быстрее учишься самостоятельно погружаться в проект и работать над проблемой, и, если «научишься плавать», а не утонешь - то выплывешь уже относительно зрелым специалистом. С другой стороны, мой код тогда никто не ревьюил, контроля над качеством работы не было, так что можно было накостылить как попало (а так, скорее всего, я и делала тогда) - и никто не поправит, не посоветует, как сделать лучше. Так что в каком-то смысле так выращивают говнокодеров велосипедостроителей.
Так чаще бывает в компаниях с небольшим штатом и хаотической организацией работы, где людей в принципе мало, и потому каждый сотрудник - и швец, и жнец и на дуде игрец. На каждого сотрудника там приходится куча разнообразных обязанностей, и карьерный рост до какого-нибудь руководителя будет довольно быстрым. Работать в таких местах - это челлендж, так как нужно все схватывать на лету, учиться особо не у кого, а круг обязанностей четко не очерчен. И работа имеет более творческий и менее регламентированный характер.
В более крупных компаниях с отлаженной структурой и четким разделением обязанностей вы будете в большей мере винтиком, который приладят на специально предусмотренное для него место. И в этом есть свои плюсы. В таких компаниях могут быть хорошо настроены бизнес-процессы, каждый сотрудник хорошо представлять, какие обязанности входят в его зону ответственности, и какими компетенциями ему нужно обладать. И, что главное, в хороших больших компаниях есть свои выработанные best practices, и вы будете прямо на старте их впитывать и применять в своей работе. А не костылить как бог на душу положит.
Мне 25/35/40 лет. Не поздно ли уже учиться программировать?
Знаете, это вопрос не столько ко мне, сколько к вам самим. Считаете ли вы сами свой возраст точкой невозврата, после которой уже поздно что-либо менять, учиться новым навыкам и осваивать другие профессии? Или уже пришло время окопаться в привычной области, и тихо-мирно доживать свои деньки?
Не будем лукавить, учиться в 16 или в 20 лет гораздо проще, чем, скажем, в 30 - это обусловленно анатомией мозга. Мозгу с возрастом свойственно приобретать некую инертность и консервироваться в своих привычках.
Но если вдуматься, то утрата пластичности мозга - это повод скорее противостоять этому процессу, чем смиряться с ним. Потому что новые знания и новые навыки - это как раз то, что позволяет мозгу дольше оставаться молодым. Он будет сопротивляться, лениться и ругаться на вас, но в итоге ему понравится, а успех в том, что раньше казалось непроходимыми джунглями - это очень вдохновляющее чувство.
Я не могу гарантировать, что в процессе вы не сдадитесь. Как и не могу гарантировать, что в индустрии к 40-летнему новичку отнесутся с доверием. Да, трудности могут возникнуть, и для их преодоления потребуются определенные усилия.
А про возраст я могу привести вам такой пример. Недавно в телеграме я познакомилась с девушкой Сашей - она, как и автор этого блога, гуманитарий по первому образованию. Какое-то время назад она оставила профессию журналистки и уехала в Германию, где сейчас изучает программирование в университете. Так вот у Саши есть однокурсница, которой (внимание!) 60 лет. И, по словам, Саши, эта однокурсница опережает её по успехам в учебе, несмотря на такой солидный возраст. Выводы делайте сами.
Кому интересна тема образования и смены квалификации в Европе - подписывайтесь на канал Саши. Тут она расскажет, как получить стипендию, об особенностях образования в Германии, о её отношениях с программированием, об адаптации к жизни за границей, о смене гуманитарной специальности на техническую и заодно - о свиданиях - но это уже совсем другая история.
Знаете, это вопрос не столько ко мне, сколько к вам самим. Считаете ли вы сами свой возраст точкой невозврата, после которой уже поздно что-либо менять, учиться новым навыкам и осваивать другие профессии? Или уже пришло время окопаться в привычной области, и тихо-мирно доживать свои деньки?
Не будем лукавить, учиться в 16 или в 20 лет гораздо проще, чем, скажем, в 30 - это обусловленно анатомией мозга. Мозгу с возрастом свойственно приобретать некую инертность и консервироваться в своих привычках.
Но если вдуматься, то утрата пластичности мозга - это повод скорее противостоять этому процессу, чем смиряться с ним. Потому что новые знания и новые навыки - это как раз то, что позволяет мозгу дольше оставаться молодым. Он будет сопротивляться, лениться и ругаться на вас, но в итоге ему понравится, а успех в том, что раньше казалось непроходимыми джунглями - это очень вдохновляющее чувство.
Я не могу гарантировать, что в процессе вы не сдадитесь. Как и не могу гарантировать, что в индустрии к 40-летнему новичку отнесутся с доверием. Да, трудности могут возникнуть, и для их преодоления потребуются определенные усилия.
А про возраст я могу привести вам такой пример. Недавно в телеграме я познакомилась с девушкой Сашей - она, как и автор этого блога, гуманитарий по первому образованию. Какое-то время назад она оставила профессию журналистки и уехала в Германию, где сейчас изучает программирование в университете. Так вот у Саши есть однокурсница, которой (внимание!) 60 лет. И, по словам, Саши, эта однокурсница опережает её по успехам в учебе, несмотря на такой солидный возраст. Выводы делайте сами.
Кому интересна тема образования и смены квалификации в Европе - подписывайтесь на канал Саши. Тут она расскажет, как получить стипендию, об особенностях образования в Германии, о её отношениях с программированием, об адаптации к жизни за границей, о смене гуманитарной специальности на техническую и заодно - о свиданиях - но это уже совсем другая история.