10 речей, які вам не потрібно мати, щоб стати програмістом

У вас є те, що потрібно, щоб стати програмістом? Швидше за все, ви будете базувати свою відповідь на групі неправдивих стереотипів та хибних уявлень. Це шкідливо, бо заважає вам випробувати цей шлях кар’єри.

Давайте розглянемо деякі речі, які вам не потрібні, щоб стати програмістом.

Вступ

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

І все ж я ніколи не намагався програмувати сам. Ніколи навіть не намагався поглянути, як це працює. Але я загалом допитлива людина, яка любить вникати в речі і дізнаватися про них. То що там сталося? Як можна було захоплюватися програмуванням десятиліттями і навіть не спробувати?

Причиною, у моєму випадку, є те, що я називаю стереотипом "голлівудського хакера". Ті з нас, хто не контактував із реальною ситуацією, мають лише стереотипи ЗМІ. Я вважав, що програмування - це діяльність еліти, кількох обраних. Люди, які відвідували ексклюзивні університети та закінчили дуже дорогі та довгі ступені. Люди, які мали привілейовані уми, які могли робити надлюдські подвиги математичного генія.

Тепер я знаю, що це неправда. Це не засновано на реальності. І хотілося б мені знати це раніше.

Зрештою я зрозумів, що це набагато доступніший шлях кар’єри, ніж я спочатку думав. Я дотримувався кількох підручників YouTube і дуже захоплювався програмуванням. Я серйозно зайнявся навчанням, і через 10 місяців кар’єру змінив з не пов’язаної галузі.

Це була не прогулянка в парку, це була велика напружена робота. Як і будь-яка навичка, яку ми засвоюємо, потрібен час і практика. Але для цього не потрібні особливі повноваження. Ось історія про те, як я зробив цей перемикач.

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

Тож давайте дослідимо разом 10 речей, які вам не потрібні, щоб стати програмістом.

Передумови

Це речі, які правильно чи помилково пов’язані з нашим популярним уявленням про те, що потрібно, щоб бути програмістом. Це ті речі, які приємно мати, і вони можуть бути корисними.

Початкові розробники можуть присвятити час досягненню деяких з цих навичок. Але жоден з них не є важливим для початку, навчання, влаштування на роботу чи великої кар’єри в програмуванні комп’ютера.

Будь генієм. Будь математиком.

Це найважливіший міф для розвіяння - міф про привілейований розум. Немає особливого, що ваш мозок повинен мати, щоб стати програмістом.

Програмування - це така навичка, як гра на гітарі або біг марафону. Ви покращуєте це, роблячи це. Присвячуючи час і сили. Вчившись у інших. Це навичка, яку ти розвиваєш і зростаєш, чим більше робиш і тим продуктивнішими зусиллями ти до цього докладаєшся.

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

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

Програмування набагато більше схоже на письмо, ніж на обчислення. Якщо ви добре володієте математикою, це допоможе швидше вирішити певні проблеми. Якщо, як і я, ти не закохався в це в школі і ніколи не озирався назад, це не буде перешкодою.

Будь комп'ютерним майстром

Програмування вимагає написання програм, що працюють на комп’ютері. Ви робите це за допомогою комп’ютера. Це середовище, в якому ви працюєте.

Але вам не потрібно вміти будувати комп’ютер з нуля вручну, щоб бути програмістом. Вам не потрібно вміти розуміти внутрішню роботу комп’ютера. Або будьте тією людиною, до якої всі ваші друзі приходять зі своїми проблемами з комп’ютером.

Одна справа, якщо ти використовуєш машину для виконання своєї роботи, а інша справа - насправді бути автомеханіком. Звичайно, чим більше ви знаєте про свій інструмент, тим більш самостійними ви будете вирішувати та вирішувати проблеми. Але ви можете бути ефективним програмістом, не дізнавшись попередньо, як виправити інфіковану вірусом тітку!

Мати елітну вищу освіту. Мати ступінь CS. Мати будь-яку вищу освіту.

Вища освіта - це чудова річ. Це вчить вас методологіям та розслідуванню. Це вчить вас про ваш власний стиль навчання.

Бути випускником, якщо вам пощастило мати доступ до університету, це загалом добре. Бути випускником комп’ютерних наук ще краще для програмування. Це дає вам велику глибину і широту знань. Елітний університет відкриє двері та дасть вам контакти.

Однак для програмування насправді нічого з наведеного не потрібно. Поле заповнене блискучими програмістами, які не мають ступінь CS або взагалі будь-яку ступінь. Якщо ви до цього додумаєтесь, ви зможете стати хорошим програмістом і без цього.

У наш час існує безліч різних шляхів для того, щоб стати розробником. Традиційний університетський маршрут - лише один із них. Є завантажувальні табори, які ущільнюють основні знання у кілька місяців напруженої роботи. Існує безліч інтернет-ресурсів для тих, хто хоче пройти самостійний шлях. Це чудовий варіант для людей, яким потрібно продовжувати займатися роботою, готуючись до зміни кар’єри. І існує безліч безкоштовних або дешевих варіантів, які також усувають економічні бар’єри.

Майте сучасний комп’ютер або дороге програмне забезпечення

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

Раніше я уявляв, що програмістам потрібен найсучасніший комп’ютер з найбільшою обробною потужністю, оскільки саме вони пишуть програмне забезпечення та програми, на яких працюють комп’ютери. Я уявляв, що для розробки програмного забезпечення вам потрібно спеціалізоване та дороге програмне забезпечення. Трохи схожий на набір інструментів, необхідний тим, хто займається дизайном чи відеороботою.

Тож я був здивований, коли дослухався до свого першого навчального посібника, і все, що мені було потрібно для створення мого першого веб-сайту, - це вбудований Блокнот Windows. Блокнот !! Найскромніша і найнудніша програма на будь-якому комп’ютері. Текстовий редактор, настільки м’який і базовий, наскільки це можливо.

Ну так, ви можете робити всі основні речі на старому верстаті, не маючи жодних наворотів. Під час професійної роботи можна розраховувати на хорошу машину. Але, навчаючись, ви можете зайти дуже далеко, маючи підключення до Інтернету та базовий комп’ютер, на якому можна запускати текстовий редактор.

І крім того, є безкоштовні версії кожного інструменту, який вам потрібно використовувати на цьому шляху.

Вільно володіти англійською мовою

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

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

Але це не повинно бути бар'єром, який стримує вас від програмування. З середнім рівнем володіння англійською мовою ви можете навчитися і стати хорошим у цьому. Багато людей проходять лише завдяки вмінню читати та розуміти англійську мову.

Стереотипи

У громадській уяві існує багато стереотипів, пов’язаних з програмістами. Тепер давайте будемо зрозумілі, я не кажу, що ці стереотипи часом не є реальними, або що вони в будь-якому випадку негативні. Тільки те, що вони вам не потрібні, щоб вміститися.

Будь ботаніком. Будьте геймером

Повторюся, ботаніки чудові, геймери чудові. Але ви можете бути частиною технічної команди, не будучи жодною з цих речей. Це не 90-ті - люди будь-якого стилю зараз працюють у галузі.

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

Будьте інтровертом

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

Вміння боротися з розчаруванням і зберігати свою важливість - ключовий інгредієнт. І це навчена навичка, а не частина фіксованої особистості.

Різноманітність

Наступні пункти не є стереотипами, це статистичні дані. Дивлячись на обличчя галузі, як зараз, ви можете не бачити себе представленим. Це може змусити вас думати, що це не для "таких, як ти", однак ви ідентифікуєте себе.

Але наше ставлення повинно бути протилежним. Відсутність представництва є тим більше підставою зайнятися цим і поставити себе там. Промисловість стала набагато мудрішою щодо важливості різноманітності команд. Багато компаній та приватні особи докладають багато зусиль, щоб зробити галузь більш інклюзивною.

Будь молодим

Вам не потрібно бути молодим, щоб працювати в техніці. Вам не потрібно починати молодим, щоб бути хорошим програмістом.

Я почав вчитися в 39, а мені було 40 років, коли я отримав першу роботу. І є люди будь-якої вікової групи, які успішно здійснили перехід.

Вчитися ніколи не пізно. Ніколи не пізно змінювати кар’єру. До того ж компанія, яка хоче наймати лише молодих людей, і без того, мабуть, не найкраще місце для роботи. Якщо вам потрібно трохи більше натхнення, перегляньте цю історію про розробників, які отримали перші робочі місця в техніці у 30-ті, 40-ті та 50-ті роки.

Будь чоловіком

Це повинно бути зрозуміло. Але це потрібно сказати. Не потрібно бути чоловіком, щоб бути програмістом. І хоча чоловіки все ще складають більшість програмістів, це, сподіваємось, швидко змінюється.

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

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

Будьте привілейованими

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

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

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

Можливо, ви не побачите себе представленим у популярних зображеннях чи статистиці про програмістів. Але це не повинно бути чинником можливості стати програмістом. Ваша сексуальна орієнтація, ваш соціальний клас, ваша етнічна приналежність, ваша інвалідність, чи не живете ви в індустріальному світі, чи бідні ви. Це все фактори, які є не перешкодою, а користю. З тих самих причин, що згадані вище.

Чим більша різноманітність команди, тим краще вона вирішує проблеми таким чином, що виходить за межі упередженості. І це завжди добре. І ви можете стати частиною мінливого іміджу цієї галузі.

Outro

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

Ігноруйте невпевненість у собі, яка маскується як один із цих бар'єрів, які, на нашу думку, перешкоджають нам. Програмування складне і вимагає напруженої роботи. Але все в цьому складається з навичок, які кожен може навчитися, якщо вони наполягають.

Життя може бути важким і може створити нам чимало перешкод. Завдання полягає у тому, щоб реагувати на ці перешкоди та знаходити їх шлях. Тож давайте принаймні приберемо з нашого шляху всю метушню, яка насправді не є справжніми перешкодами.

Якщо ви знаєте когось, хто замислюється над тим, чи є програмування для них чи нещодавно розпочав навчання, поділіться цією статтею з ними.

Як щодо тебе? Чи є у вас інші стереотипи та хибні уявлення щодо того, що потрібно, щоб стати програмістом? Ви бачите в популярній уяві про програмістів щось неправдиве? Напишіть мені свої коментарі, я хотів би продовжувати цю дискусію в Twitter. Знайди мене в Twitter і привітай.

Сик Гудейб

Мене звуть Сик, і я розробник інтерфейсів, що базується в Мадриді. Я змінив свою кар’єру на веб-розробника з не пов’язаної галузі, тому намагаюся створити контент для тих, хто подорожує подібною подорожжю. Мої DM @Syknapse завжди відкриті для майбутніх веб-розробників, які потребують певної підтримки.