Як прийти в IT

Напевно у вас є знайомі, які працюють або отримують освіту в дуже віддаленій від IT сфері, але час від часу цікавляться, як можна перекваліфікуватися в успішного і гідно заробляє IT-фахівця.ит компании

1. Хочу працювати в сфері IT, але не знаю, з чого почати. Що порадите?

Євген Пешкур:

Важко радити, не знаючи стартових умов. Пораджу для середнього користувача PC, впевнено опанованого Counter Strike, форумами і соціальними мережами.

Вивчайте англійську мову. Без жартів. Якщо ви не сприйняли це серйозно, далі можна не читати. Вивчення англійської до мінімального рівня, що застосовується в компаніях, що працюють на зовнішні ринки (рівень B1, якщо кому цікаво) займає рік-півтора. Знання іншої іноземної мови буде плюсом, але ніяк не заміною. Вам пробачать незнання якої-небудь технології, але не відсутність мовної підготовки.

В основі всього лежить те, чому вчать всі Вузи, – здатність самостійно шукати і вивчати матеріал. Багато хто, не усвідомлюючи цього, розглядають курси як місце, де їх візьмуть за руку і приведуть до успіху». Насправді, вас приведуть до проміжного фінішу, дадуть сертифікат (оцінку, диплом) і далі зроблять в блокнотику позначку «профнепридатний». І це буде пов’язано не з результатом фінального тесту, а з вашим способом мислення. І досвідчений викладач це дуже швидко визначить, перевіряючи і обговорюючи з вами ваше завдання. «Незагугленное» та осмислене рішення (нехай і не працює, навіть спроба його створення), що відходить від того, що він сам дав днем раніше, для нього буде очевидним.

Почніть з азів. Смішно і безглуздо, але добра половина з тих, хто йде на курси, не знають, що таке біт і байт. Помічали обурення типу «платив за вінчестер на 40 ГБ, а дали всього на 38»? Почитайте, що таке мережі і які загальні принципи їх роботи. Познайомтеся з базовими поняттями типу ascii, heap, process & thread, переривання.

ООП. Тут при всій простоті визначень все складно. На жаль, просте вивчення визначень не дає нічого. Напевно, це одне з небагатьох місць, де самостійне вивчення малоефективно. Спробуйте розглядати ООП як спосіб мислення. Розуміння ООП приходить через багаторазове написання і переписування коду і спілкування з тими, хто його зрозумів. Простих порад, але можу поставити мета: швидше за все ви дійсно зрозуміли ООП, якщо розібралися в роботі і змогли написати програму типу Elastic Nodes.

Структури даних і алгоритми. Цього також не дасть майже жоден з курсів, частіше за все передбачається, що це ви вивчили в школі або вузі. Джентельменський набір термінів до вивчення: дерево, стек, чергу, хеш. Алгоритми… Не будемо лізти в пляшку і радити вивчити теорію графів, але розібратися з різними алгоритмами треба. Як відсортувати масив (бажано знати і розуміти декілька алгоритмів). Ваша мета – зрозуміти quick sort. Які існують способи обійти дерево.

Як бачите, тут майже не треба ходити на курси, хіба що на англійську. Просто не ігнорувати те, що вам викладають. Або зуміти самостійно розібратися, якщо бажання виспатися часто перемагало необхідність відвідувати нудні пари. Якщо мої натяки надто туманні, то резюмую: АНГЛІЙСЬКА і негайно! І зрозуміти всі терміни, згадані вище.

На мій особистий погляд, ви НЕ програміст, якщо не здатні в іграшці http://robocode.sourceforge.net/ створити танк, який перемагає стандартний набір примітивних танків.

Олександр Баранівський:

IT – досить широка й об’ємна сфера з десятками професій і спеціалізацій. Тому першим кроком є вибір і усвідомлення того, чим саме ви хочете займатися. Тому що для кожної професії потрібно володіти певним набором навичок, умінь і складом розуму. Після того як визначилися з вибором, берете лист А4 з однієї сторони записуєте, що необхідно знати і вміти для початку кар’єри в обраній позиції (програміст, фахівець з тестування, бізнес-аналітик тощо), а з іншого – ті знання та навички, якими ви володієте на поточний момент. Точками, на які варто звернути увагу і з якими варто працювати, є «відсутні» речі зі списку умінь. А тут всі засоби хороші – тренінги, книги, форуми.

Світлана Захаренко:

Мені здається, що почати потрібно з розуміння, чому ви хочете працювати у сфері IT. Чому саме ця сфера приваблює вас, і що є основним мотивуючим фактором. Розуміння дозволить правильно розставити пріоритети і вибрати потрібний напрямок.

Дуже важливо зрозуміти, чому саме в сфері IT ви хочете займатися. Говорячи про роботу IT-фахівця, я б ризикнула провести аналогію з медициною. Медицина – велика область знань, яка включає в себе безліч напрямків і професій, і коли люди вирішують зв’язати свою професійну діяльність з медициною, вони швидше виходять з поняття «Я хочу бути лікарем-стоматологом» або «Я хочу бути лікарем-терапевтом».

2. У мене гуманітарну освіту. Можна перевчитися на програміста?

Євген Пешкур:

Так. Хто такий «будівельник»? Це архітектор, виконроб, муляр, маляр чи сторож? А кого ви маєте на увазі, кажучи «програміст»? Робота в IT – це не обов’язково саме написання коду. Є маса спеціалізацій, де гуманітарій знайде себе: тестування, бізнес-аналіз.

Святослав Куликов:

Можна. Складність переучування, його швидкість, ефективність та інші показники будуть індивідуальні для кожної людини. Варто чесно визнати два факти:

чим ви старше, тим складніше вам переучуватися (не тільки на програміста, а переучуватися взагалі);
ви будете довгий час програвати в ступені професіоналізму тим, хто присвятив IT все життя.
Але ці факти – не вирок, і я особисто знаю тих, хто прийшов в IT з «гуманітарних професій», але завдяки своїй цілеспрямованості домігся відчутних успіхів.

Олександр Баранівський:

Кожен конкретний випадок треба розглядати під мікроскопом, так як я не можу сказати «кожен гуманітарій може стати програмістом», це було б неправильно. У нашій практиці прецеденти були. Але потрібно розуміти, що це далеко не просто і вимагає величезних зусиль, терпіння і наполегливості.

Світлана Захаренко:

Нічого неможливого немає, можна перевчитися завжди :), питання в кінцевої мети і витрачаються ресурси. Якщо ви вирішили стати програмістом саме тому, що програмування вам цікаво, перевчитися буде не дуже складно, так як швидше за все інтерес виник не спонтанно, ви його підтримували, ви вже маєте уявлення про програмування, можливо, читали літературу, форуми, пробували вирішувати завдання.

Якщо ж рішення перевчитися виникло, коли це стало дуже «модно» і рівень заробітної плати зріс, перевчитися буде складно. В першу чергу для подолання труднощів у навчанні необхідна буде «підживлення», яка часто виходить саме з інтересу до професії, а не з мотивації «модно і дорого».

Перш ніж прийняти рішення про зміну професії, варто співвіднести своє бажання з вже наявними навичками і знаннями. Дуже складно стати космонавтом, маючи слабкий вестибулярний апарат.

3. Як вибрати «своє» напрям навчання?

Євген Пешкур:

Порадитися з тими, хто достатньо довго працює в IT і сам встиг спробувати багато різних ролей або тісно працював з представниками різних спеціалізацій. Тобто це фахівець рівня Team Leader або вище. А далі пробувати.

Святослав Куликов:

Останнім часом почастішали випадки «перепрофілювання в IT» з єдиною метою – отриманням високої зарплати. Аргумент зрозумілий, чесний і має право на існування. Але якщо гроші – єдине, що цікавить вас у IT, то далі ви ризикуєте зіткнутися з низкою труднощів і розчарувань, так як займатися нелюбимою справою – це завжди насильство над собою (навіть при хорошій зарплаті).

До того ж, «світ ІТ» дуже широкий і багатогранний, а багато новачки навіть не уявляють, які бувають «ЦЕ шні професії та спеціальності». Тут непогано б почитати сайти з описами IT-вакансій, а про цікаве запитати знайомих, що працюють у цій сфері.

З особистого і наболілого: якщо вихідний питання звучить як «розкажіть мені, чого я хочу», то найбільш чесною відповіддю буде «не знаю». Щоб дізнатися, треба хоча б трохи поспілкуватися з запитувачам, так як тут питання в галузі навчання випадає в область профориентирования.

Світлана Захаренко:

Спробувати напрям «на смак». Наприклад, якщо ви вибираєте між програмуванням і тестуванням, можна взяти завдання і вирішити її з точки зору програмування, потім можна взяти ще одну задачу і розв’язати її з точки зору тестування, залишається тільки порівняти результати і відчуття. Використовуйте давно відомий спосіб проб і помилок. На жаль, не існує такого рецепту, щоб відразу правильно і без «шишок».

4. Які технології потрібно в першу чергу вивчити новачкові? (Які базові знання в програмуванні і використанні ПК потрібні новачкові в IT-світі)?

Святослав Куликов:

Спочатку – просто вийти на рівень впевненого користувача. Якщо хтось, читаючи цю відповідь, став криво посміхатися і подумав: «от, знову про гуманітаріїв», то смію вас розчарувати: технар, не вміє скопіювати файл по мережі, пропінгувати хост або побудувати графік Excel – явище таке ж часте.