Как понять что ты знаешь язык программирования
Тест: у вас есть талант к программированию или нет? Давайте проверим
Некоторые люди рождаются со склонностью к программированию. И дело не в том, любят ли они компьютеры и учат ли математику — это вопрос отношения к жизни. Можно ни разу в жизни не включать компьютер, но мыслить как отличный программист. А можно не вылезать из компьютеров, но решать задачи совершенно не по-программистски. Пройдите этот тест, чтобы проверить, насколько ваше мышление похоже на мышление топовых программистов.
Знаете ли вы технологии двадцатилетней давности? Или дискетка поставит вас в тупик?
Только 1 из 10 программистов пройдет этот тест без ошибок.
В подарок или себе. В основном себе.
Обзор инструментов крутых программистов.
Защити свои фото, пароли, документы, соцсети и себя.
Краткая памятка по выживанию без веб 2.0
Что купить, чтобы работа с кодом была в радость.
Если программист в наушниках — не подходи, не трогай, не заговаривай.
Как понять что программирование это твое?
Простой 3 комментария
Не знаю, забить окончательно или продолжать, и как определиться с языком. Часто считаю себя не достаточно умным для этого. Блин, капец какой-то.
4 недели в год можете отдыхать.
вопрос имеет отношение к программированию!
по вашему каждый человек может добиться успеха в прогаммировании или любой профессии, только лишь учитывая правило 90%/10%?
есть же определенные предпочтения и склонности у каждой личности!
у меня такой же вопрос о себе.
обладаю терпением и добился успеха в некоторых профессиях и деятельностях.
А если кого-то интересуют высокие зарплаты, то пусть лучше идут в юристы.
70% знаний по любому другому языку, который вы захотите изучить позже.
Просто.
Берешь (дикий) легаси код. И добавляешь туда функционал.
Это твое если:
Ты желаешь, что бы твои изменения этого кода были понятны другим людям.
Тебе интересно, как можно улучшить имеющийся код.
Тебе важен конечный результат для заказчика. (т.е. функционал должен быть разработан)
Тебе важно, что твой код можно легко изменить, доработать и т.д.
И от выше перечисленного ты получаешь удовольствие (от результатов)
Это не твое:
Если ты не можешь справиться с желанием набить лицо создателю кода с которым работаешь.
Если ты не можешь справиться, с тем, что делишь код на свой и чужой. Баги свои и проекта.
Если ты не можешь заинтересовать себя работать с скучным функционалом.
В Совершенном Коде, есть страница, где говорится, что умность скорее вред для программиста, чем помощь. Программист борется со сложностью. Это его основное предназначение. Лучше быть тупым (или считать себя тупым), но с кодом который все легко понимают, чем умным который пишет коротко но не понятно.
Как учиться программировать: 6 вещей, которые я понял, учась на Хекслете
Когда я только начинал изучать программирование, у меня голова была забита кучей неверных представлений о профессии программиста и о том, как и что нужно учить. Со временем я понял несколько важных вещей, которые, если б я узнал это раньше, очень сильно упростили и ускорили бы мое обучение.
Большинство этих вещей до меня дошли именно в процессе обучения и общения с ребятами-программистами на Хекслете. Для кого-то это явно будут откровения Капитана Очевидность, но, возможно, кому-то оно и принесет пользу.
Какой язык программирования изучать первым? Неважно!
Не нужно тратить сильно много времени на выбор и мучаться этим. Берите Ruby, Python, JavaScript, PHP, Java, Lisp, да хоть паскаль — не ошибетесь. Для начала вам все равно нужно будет освоить базовые вещи, такие как циклы, условия, переменные, функции, объекты, рекурсию и т.п. Я когда-то в школе немного программировал на всяких бейсиках и C++, но к тому времени, как решил стать программистом, все это успешно забыл.
Начал изучение с Java, и не жалею, после этого было легче изучать менее строгие языки, вроде JS и PHP. Минус Java в том, что, если вы живете не в милионнике, вам будет весьма сложно найти на нем работу джуниора и получается, что обучение какое-то бесцельное, ради обучения, что сильно снижает мотивацию. В то время, как изучая PHP, например, уже очень быстро можно брать какие-то первые заказы на фрилансе, устроиться на первую работу в веб-студию и т.п., т.е. начать на своем хобби зарабатывать первые деньги, что очень сильно поднимает мотивацию.
Новички так серьезно подходят к вопросу «Какой же язык программирования выбрать», будто им предстоит подписать договор с дьяволом, и всю жизнь писать только на этом единожды выбранном языке. Лично для меня просветлением стало, когда я увидел профили высокооплачиваемых программистов на бирже Upwork, почему-то очень во многих из них было написано примерно следующее — могу Django, могу Rails, а еще Meteor и Angular, да и Spring тоже. И Joomla само собой.
Потом я спрашивал некоторых знакомых (и малознакомых) программистов об их карьере, и увидел некий паттерн, которого раньше не понимал. Человек может, например, год работать с PHP, потом уйти на Java, потом плюнуть и выучить руби, стать RoR разработчиком, и в итоге заняться Node.js или Clojure. Любой нормальный программист знает несколько языков хорошо и десяток поверхностно. Поэтому не ломайте голову, не пытайтесь выбрать Самый Лучший Язык и строчить для этого тысяча первый вопрос на тостере. Просто берите любой язык и прочитайте по нему хотя бы одну книгу/пройдите курс. Попытки выбрать Самый Лучший Фреймворк из той же серии.
Про первую работу
Очень многие программисты начинают свою работу с весьма непрестижных компаний и крошечных зарплат. И это нормально. Но это сложно принять, особенно тем, кто решает «войти в айти» уже не в юном возрасте, имея семью и детей. Мифам об огромных зарплатах программистов зачастую способствуют школы программирования, которым нужно продавать свои курсы и в итоге на своих лендингах они крупным шрифтом пишут какие-то заоблачные цифры, вроде «средняя зарплата JavaScript программиста 150 000 рублей», при этом часто забывают сказать, что такую зарплату получают люди с опытом в несколько лет (или даже десяток лет), которые могут решать реальные сложные задачи, а вам после их курсов на старте светит тысяч 30 на испытательный срок, и это в Москве. А то и вообще попросят бесплатно поработать. За опыт и еду. Не нужно бояться идти на непрестижную и малооплачиваемую работу, потому что как только вы официально начнете работать программистом, даже за 20 тысяч в месяц, ваша привлекательность в глазах других работодателей и HRов сильно вырастет. На старте работу никто не мешает менять хоть каждые 3-6 месяцев, каждый раз уходя на бОльшую зарплату и более интересные задачи.
Но я, конечно же, не говорю, что нужно идти работать за еду, может конкретно вы найдете первую работу и за 100 000 в месяц. Просто нужно понять, что карьера тоже требует немалых усилий, и необходимо активно изучать рынок труда, время от времени общаться с рекрутерами и ходить на собеседования, чтобы адекватно себя оценивать в каждый момент времени. А первая работа — это не навсегда.
Учиться программировать сложно
В процессе учебы должны быть моменты, когда мозг напрягается, и вам кажется, что вы ничего не понимаете. Если все получается легко и без напряга, значит вы учитесь не программировать, а повторять за диктором. Если привести грубую аналогию, вас учат не плавать, а шевелить ногами, лежа на песочке. Конечно, возможно, что вы гений и вам просто все легко дается. Чтобы реально оценить свои способности, сходите на пару-тройку собеседований по изучаемому языку программирования и попытайтесь выполнить тестовые задания, которые вам дадут.
Лично я долго (слишком долго) учился на всяких курсах из серии «посмотри на меня, делай как я». Когда начал учиться на Хекслете, у меня от некоторых заданий просто мозг кипел, да и сейчас кипит. Одно задание я пытался сделать 3 дня. Но в итоге я прокачался, и теперь могу решать более сложные задания, чем раньше. Мне кажется, именно в этом должна быть цель хороших курсов программирования. Не в том, чтобы натренировать вашу память на запоминание 1000 функций из какой-то библиотеки. А в том, чтобы заставить мозг напрягаться и с каждым днем решать все более сложные задачи.
Про code kata
На определенном этапе (почти сразу после изучения основного синтаксиса одного из языков программирования), нужно набить руку в решении простых (хотя бы простых, для начала), алгоритмических задачек. Есть десятки разных сервисов, где это можно делать — codewars.com, exercism.io, hackerrank.com и т.п. Проскочить этот этап не получится. Если вы зашли на codewars и просто не понимаете, что от вас хотят, и как решать даже самые простые задачи первых уровней, срочно вливайтесь в какое-то сообщество, где есть программисты и единомышленники, изучающие программирование, и где можно будет задавать вопросы и получать помощь. Одно из таких мест — слак чат Хекслета. Если вы не научитесь решать эти простые задания, вероятность резиста того, что вы сможете решать какие-то реальные рабочие задачи, крайне мала.
Не нужно зубрить названия функций
Смысл вообще не в этом. Это дошло до меня как-то внезапно и совсем недавно. Вообще не надо пытаться насильно их запомнить. Я пытаюсь понять смысл, построить какую-то абстракцию, грубо говоря, сформулировать для себя общую концепцию того, что изучил.
Кстати, это очень полезная штука и для изучения иностранных языков, я лично просто ненавижу делать какие-то списки, карточки и зубрить слова. Особенно у меня вызывают желание ругаться матом наборы слов, вырванные из контекста, типа «100 прилагательных на тему Погода». Это просто нереально запомнить, а даже если и зазубрил сегодня, через месяц 80 процентов забудешь. Гораздо эффективнее просто читать/смотреть интересный тебе контент на языке и искать незнакомые слова в словаре каждый раз, таким образом через какое-то время самые употребительные слова запоминаются естественным образом.
В общем, при изучении очередной фишки языка программирования достаточно понять в целом, что оно делает, и знать, как это загуглить.
Начните изучать разработку с бесплатного курса «Основы современной вёрстки». Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.
Тупить — это нормально. (с) Елена Малышева
То есть люди, которые занимались программированием много лет, иногда тоже не могут самостоятельно разобраться в какой-то новой фиче, и совершенно не стесняются просить совета и помощи. Однако, с вероятностью 99% предварительно они пытались сами решить эту проблему, обратились к Google и Stackoverflow, но безуспешно.
Поэтому если вы пытаетесь стать программистом с нуля, вообще не парьтесь о том, что что-то непонятно и не ставьте на себе крест, вам должно быть очень многое непонятно! Не стесняйтесь задавать много вопросов, ну и гугл ваш лучший друг. Сперва всегда пытайтесь решить свои вопросы самостоятельно, а потом просите помощи, при этом желательно расписать, что вы уже пробовали для решения проблемы.
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях
Как понять что и как гуглить новичку при изучении программирования с нуля?
Я хочу спросить у людей, которые не первый год работают программистами, на любом из языков программирования!
Я посмотрев пару видосов и прочитав несколько статей о том «Как писать программы, стадии создания проектов, этапы разработки» я понял следующее:
1. Понять проблему, что делает программа, что на входе и что на выходе, как прогамму видит пользователь
2. Формулирование требований к программе со стороны выдуманного «ЗАКАЗЧИКА»
3. Построение архитектуры проекта ( UML, псевдокод)
4. Декомпозиция
5. Начинаем программировать по кусочкам и собирает пазл ориентируясь по архитектуре UML проекта
6. Пишем тесты
Так вот я по такому принципу и начал делать, программист с опытом в 7 лет на java сказал что тебе не надо гуглить а нужно самому как сможешь написать шахматы, хотябы плохо, так я и начал сам, но впал в ступор уже на шаге создания игрового поля( не понимал как или в виде чего представить само поле и фигуры, как сделать перемещение) и я увидел одно решение, в разумной мере думать о решении, алгоритме, а затем прогуглить скажем, как создать игровове поле на основе массивов, и так далее, взять все задачи которые я поставил, анализировать, есть ли у меня знания или идея как это сделать, если смог придумать решение(хоть и плохое) подумать еще и приминить, а вот что делать если и близко не понимаю как сделать то или инное действие, скажем в архитектуре, есть некая сущность которая будет делать то то, а идея как сделать такое или хотя бы что то похожее, к примеру, есть крестики нолики, есть шахматы, есть тетрис, есть судоку и я понимаю теперь загуглив как с массивами наполнить поле, как примерно сделать змейку или судоку! Верно ли что нужно гуглить ставить задачи и пытаться решить проблему но перед этим подумать самому но в разумной степени.
Было дело, что во 2-3 главе учебника Head first java я просидел 5 часов что бы выполнить упражнения «Головоломка у бассейна» кто знает, там дополнительное задание было вывести другое число и выполнить это можно было только зная что объект присвоенный знаком равно не становиться копией а просто 2 ссылки на 1 объект и не загуглив коментарий на форуме я бы не понял что переменные cat1.age + cat2.age при условии что cat1 = cat2 будут ссылать на один объект и их переменные будут одним целым для 2 экземпляров класса!
Как узнать свой уровень знаний в программировании?
Кто тут не новенький, подскажите пожалуйста где можно проверить свой уровень знаний в программировании, мне именно нужно узнать, хватает ли моих знаний в разработке игр на Unity, чтобы попробовать себя в какой либо конторе на уровне Junior.
Сам занимаюсь около года и хочется узнать общий уровень наработанных знаний в сфере, может сайты какие есть с тестами или еще чего, буду очень рад отклику 🙂
плюсую, так же очень не лишним будет просить у компаний обратную связь с фидбеком.
Делеко не все захотят его предоставлять, но за спрос не бьют в нос.
Только лучше не ходить сходу в компании, которые рассматриваются как релиз-кандидаты. Лучше попозже, уже с опытом.
В норм компании могут наоборот подсказать, какие навыки прокачать и что почитать, чтобы пройти собес через условные полгода.
Всяк бывает, согласен. Просто несколько раз сталкивался с классными командами разработки, но не с самым адекватным рекрутингом. Потому и посчитал нужным отметить, что первое впечатление в некоторых местах уже не исправить (пока не получишь опыт работы где-то ещё).
Да, рекрутинг у нас это ад ) Во время работы в одной компании был свидетелем такой сцены: hr уговаривал лида проекта взять одного джуна вместо другого из-за того, что первому необходимо снимать квартиру, а у второго она уже есть. Говорил, мол, мотивация выше будет.
В некоторых компаниях действует система банов на собесы. Если не проходишь собеседование, то в ближайший год тебя снова собеседовать не будут.
А на позицию джуна доучиваться нужно всяко меньше года
Ходишь в конторки попроще/средней руки со схожим пулом обязанностей, отвечаешь (или нет) на вопросики, делаешь тесты и понимаешь среднюю температуру по больнице + опыт прохождения интервью + примерно понимаешь, что ты стоишь и можешь стоить + многие на собеседованиях дают полезные советы и обратную связь.
А уже потом ищешь либо что-то приличное, либо компанию Мечты)
многие на собеседованиях дают полезные советы и обратную связь.
Я даже проверил, в той ли реальности я нахожусь. 😀
Так надо правильные вопросы задавать
По факту, у каждой конторы свои понятия о ранжировании. Где-то ты можешь быть мидлом, где-то тебя станут считать сеньором, а пойдёшь в место посолиднее так и вообще зелёным джуном окрестят. Всё зависит от требований компании, от того чем она занимается.
Опять же, мне известны компании в которых внутри каждого ранга находится ещё три ранга программистов)
Идёшь на собеседование и запоминаешь, что спрашивают, потом дочитываешь дома, если не взяли. Повторять, пока не возьмут на работу. Зачастую собеседования имеют очень отдаленное отношение к тому, чем придется заниматься, поэтому нужно прокачивать именно скилл прохождения собеседований и заучивать типовые вопросы. Как бы печально и глупо это не звучало, но большая часть собеседований подчиняется этим правилам. Это, конечно же, если есть достаточно вариантов.
А так, к джунам высоких требований все равно не предъявляют, поэтому обычно достаточно произвести впечатление что ты способен к обучению.
Ну, есть же не смешная «шутка», что на собесе спросят все, от асинхронности и мультитрэдов, до алгоритмов и шаблонов проектирования, а по факту потом с утра до вечера пишешь геттеры и сеттеры.
кстати, я бы поспорил о том, что к джунам высоких требований не предъявляют. Вот буквально на днях и искренним интересом наблюдал вакансию, где на стажера(. ) хотели чтобы ты написал тестовое, в котором нужно при помощи нейронной сети вытаскивать звуки для контекста их системы (реклама). Я от таких заяв слегка так припух
Это, вероятно, кто-то сильно умный захотел нанять хорошего специалиста «за копейки»
я не буду искать этот бред на хэдхантере, но там на пайтон была вакансия, именно на стажера и еще с зп какой-то смешной, тысяч 30 или около того. вот с таким вот тестовым.
я в этом не смыслю от слова совсем. но ради прикола захожу в вакансии айтишные всякие. там реально что ли надо все это знать за 30-40к? ( ͡° ͜ʖ ͡°)
Не всегда. зависит от специализации.
ну и часто эй-чары пишут от балды список требований.
«Какой у вас знак зодиака?»
«Понятия не имею, родился в феврале 19»
«Ой, вы у нас овен, а они не сходятся с начальниками-весами, и по радио сегодня говорили «иногда водолеям стоит говорить твёрдое нет на работе», а я водолей, так что нет! Пошёл вон отсюда, хам!»
Откуда ты знаешь дату моего рождения, демон??