Інструкція: Як стати програмістом в Ташкенті
- Вчіться на чужому досвіді
- Знайдіть ментора
- Отважьтесь на зміни
- Заплатіть за інтернет
- Знайдіть роботу якомога раніше
Інструкція: Як стати програмістом в Ташкенті
Програмісти з Ташкента розповідають про те, як освоїти їх професію.
Крім високих заробітків, професія приваблює неформальній обстановкою на роботі, гнучким графіком, можливістю працювати віддалено, а також творити і створювати щось нове і корисне. Представники цієї сфери в Ташкенті діляться порадами на основі свого досвіду.
Влітку минулого року в Ташкенті відкрилася перша безкоштовна школа програмування, яка пропонує освоїти нову мову молодим і зацікавленим ташкентців. VOT поговорив з причетними до школи про те, як стати програмістом.
Вчіться на чужому досвіді
Мірол Мірзахмедов
Програміст, один з організаторів курсу Summer Code School 2015
За кордоном безліч програм, наприклад Code.org і їх Hour of Code, які втягують молодь в програмування. В Узбекистані поки не вистачає сильного IT-спільноти, підживлює освіченими новачками. Ми з друзями частково заповнили цю прогалину. Багато в чому хотіли прозондувати грунт, дізнатися, наскільки молодь зацікавлена в цьому напрямку і чи є потреба в подібних школах.
Вирішили почати з безкоштовної школи програмування для початківців. Початківцям необхідно мати постійний зв'язок з викладачем і однокурсниками, щоб уникнути почуття ізольованості, до того ж самостійне навчання з нуля в відсутності дедлайнів і об'єктивного тестування розхолоджує. Але живе навчання передбачало пошук навчального приміщення, і в цьому нам допоміг Університет Инха і Санжар Саідходжаев особисто.
Ми планували провести курси для початківців в групі з 30 чоловік, але бажаючих виявилося більше. Причому у багатьох був досвід програмування, але вони хотіли поліпшити свої навички і познайомитися з новою мовою програмування Go (Golang). З 400 зареєстрованих ми зібрали дві групи по 35 чоловік. У першій давали базові поняття та приклади, в «просунутої» детально розглядали особливості розробки на мові Go. Всього було 12 занять з іспитом в кінці, за результатами якого вручали сертифікати про успішне проходження курсу.
Я вважаю, що курс пройшов успішно, ми придбали корисний досвід. Багато учасників демонстрували сильну мотивацію, це спонукало нас докладати максимум зусиль. У майбутньому можливий запуск школи 2.0. Але ефективність подібних курсів забезпечується їх регулярністю. Повинно бути залучено все місцеве IT-співтовариство.
За підсумками курсу я зрозумів, що дуже важливий фундамент. Багато знайомих самоучки вчаться за принципом «how-to-do-something», що дозволяє вирішити задачу в даний момент, але не годиться для фундаментального придбання знань і навичок.
Корисних і цікавих книг дуже багато, але вони в основному англійською. Зрозуміло, що знання англійської мови є обов'язковим для успіху в цій галузі. Можу порадити кілька книг зі свого списку літератури для розробників програмних рішень:
- Algorithms by Robert Sedgewick
- Structure and Interpretation of Computer Programs by Harold Abelson
- Code Complete by Steve McConnell
- The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt
Нічого не можу сказати про платні курси в Ташкенті, але принципово виступаю за безкоштовну освіту в нашій сфері. З іншого боку, є багато авторитетних безкоштовних онлайн-курсів, які можуть реально допомогти розібратися в програмуванні і початківцям, і просунути свої навички вже досвідченим фахівцям.
Знайдіть ментора
Георгій Горбенко
засновник Proweb.uz
Ми робимо упор на веб-розробку. Я вклав в наші 10-місячні курси досвід моєї 15-річної роботи, що економить час у вивченні даної спеціальності. Наші учні виконують проекти різної складності і вирішують безліч кейсів.
Програміст - це не людина, яка знає всі коди в світі. Це людина, яка:
- Знає принципи програмування
- Має необхідні для роботи знання
- Вміє знаходити рішення на поставлені завдання
В інтернеті багато безкоштовної документації та відео. Але щоб побудувати фундамент, людині необхідний ментор. Також головна порада, яку ми даємо всім студентам, - полюбите ваша справа. Спробуйте знайти важливу для вас завдання, яка допоможе удосконалити ваші майбутні навички. Коли ви полюбите програмування, то здивуєтеся, як, виявляється, це все просто.
Такі студенти з «вогником» в очах цінуються майбутніми роботодавцями. Ще варто пам'ятати, що професіонал завжди входить в співтовариство програмістів, часто навіть віртуальне. Щоб увійти в цю сферу, треба більше спілкуватися, ділитися своїм досвідом і вивчати чужий.
Отважьтесь на зміни
Тимур Сулейманов
програміст
Ключовий момент для мене - коли я зрозумів, що не хочу працювати в банку. Хотілося щось створювати, вирішувати завдання, а не перекладати папери. Перші кроки підказав один: дав направлення, показав, де і як шукати необхідну інформацію.
Розвинена логіка і знання англійської - два найважливіших якості в професії. Мій приклад показує, що можна швидко стати програмістом з нуля і в досить зрілому віці.
Заплатіть за інтернет
Руслан Сабіров
програміст
Я п'ять років пропрацював менеджером в одній ташкентською студії, працював з дизайнерами і програмістами. Часто потрібно було точно оцінити терміни на розробку завдань, і поступово я придбав необхідні поверхневі знання в цих двох областях. Зрозумів, що не потрібно бути понад креативним, щоб бути веб-дизайнером, і не потрібно бути фізиком-ядерником, щоб стати програмістом.
Спочатку вирішив стати веб-дизайнером, щоб сидіти в Таїланді, попивати смузі і малювати макети. Але зміна парадигми розробки веб-сайтів і криза змінили ситуацію. Веб-дизайнер без навичок front-end розробки став непотрібним. Тому після своїх поневірянь з веб-дизайном вирішив закінчити повний цикл «навчання» і перекваліфікуватися в програміста. У front-end розробці важливі логіка, розуміння юзабіліті, а також процесів, що стоять за висновком цього front-end'a.
Потрібно читати і розуміти по-англійськи. Як на мене краще навчатися на топових західних онлайн-курсах - вони якісніше будь-яких альтернатив. Але такі сервіси зазвичай платні. З безкоштовних хочу відзначити Codecademy.com, хоча мені більше подобаються сервіси з відео. наприклад, Teamtreehouse - хороша школа для початківців.
Після курсу цифровий грамотності можна вибирати один з напрямків, наприклад, front-endвеб-розробка, PHP-програмування або iOS розробка. Але будьте готові платити не тільки 25 доларів в місяць за сервіс, а й за високошвидкісний тариф з великою кількістю трафіку - курси складаються з безлічі відеовправ і тестів. За схожим принципом працює Code School . Два інших сервісу, Lynda і Udemy, пропонують велику кількість курсів за різними напрямками і рівнями підготовки, але тут треба буде вміти відокремлювати зерна від плевел.
Знайдіть роботу якомога раніше
Сардорбек Пулатов
програміст
Програмуванням я захопився будучи підлітком, коли почав грати в CompEvo (Комп'ютерна Еволюція). У ній можна було створювати додатки (addon'и). Почавши писати код, збагнув всю красу програмування.
Пам'ятаю, навчання почав з книги Java 1.2. В цілому, шукав в Інтернеті рішення проблем у міру їх надходження. У мене є порада початківцям програмістам: якщо не вийшло за 15 хвилин, шукайте відповідь в Google.
Пошук відповідного саме вам курсу і є ваш перший тест на готовність стати програмістом. Найголовніше - втілити якусь ідею або зробити якийсь проект, щоб підтримувати інтерес до навчання і відточувати навички на практиці. Як не дивно, соціальні навички важливі: хороший варіант навчання - це після початкового курсу влаштуватися працювати безкоштовно в хорошу команду, питаючи допомоги і вивчаючи тонкощі по ходу справи. Але для цього потрібні знайомства і вміння знаходити спільну мову з іншими.
Новачкові рано чи пізно слід прочитати для зміцнення фундаментальних знань:
- The Art of Computer Programming by Donald Knuth
- Clean Code by Robert Martin
- Design Patterns: Elements of Reusable Object-Oriented Software
Хороший програміст стрессоустойчів і готовий до постійного вивчення нового. Причому завжди, кожен день. Для цього є багато сайтів, будь то Y-Combinator або навіть Habrahabr.
текст: Міразіз Базаров
Ілюстрації: VOT