Разум Pikabu, приди на помощь, дай совет. Хочу стать программистом.

Итак, пост создается исключительно с целью получить совет знающих людей.

Мне 28, живу в Москве, есть работа. Офисный планктон. Неплохо зарабатываю, но душа просит изменений. Образование в сфере менеджмента, т.е. по сути очередной бесполезный продукт современного образования, в то же время не обделенный разумом и умеющий обеспечить себя и жену.

В последнее время часто задумываюсь о смене сферы деятельности, хочу стать программистом и теоретически пару часов в день могу уделять самообразованию в этой сфере. Для минусящих поясняю: семью кормить нужно, поэтому основную, текущую работу я бросить не могу никак.

Дилемма состоит в том, что даже не представляю, сколько времени у меня уйдет на то, чтобы вникнуть в сферу, где я на данный момент полный 0. Стоит ли менять что-то, либо развиваться в том деле, которым сейчас занимаюсь.

Pikabu, приди на помощь, помоги советом. Сколько времени может уйти на изучение необходимого материала, стоит ли оно того? Хотелось бы забуриться в написание приложений под android, либо ios. Что стоит выбирать? Не поздно ли что-то менять? Буду благодарен всем, кто уделит минуту и выскажет своё мнение, ибо исходя из результатов поста буду принимать важное жизненное решение. Надоело заниматься херней, хоть она и приносит доход. Спасибо всем заранее!


P.S. Склад ума аналитический, в своё время выигрывал олимпиады по математике. Давно было, но было.

Разум Pikabu, приди на помощь, дай совет. Хочу стать программистом. Программист, Решение, Помощь, Совет, Нужен совет
4
Автор поста оценил этот комментарий

Самое важное - мотивация. Если она есть, проблем не будет.


Второе по важности - не сдаваться. Есть кривая перехода количества знаний в качество. Так вот, для программиста она крайне пологая (долгий период накопления знаний). Для того же тестировщика (который QA) она значительно короче, возможно Вам стоит обратить внимание на это направление?


Третье - английский язык. В идеале, все теоретические материалы стоит изучать на английском (уменьшается риск непонимания), но без достаточно уверенных знаний очень скоро упретесь в тупик (исключение - 1С, но это даже обсуждать не хочу). Как вариант - много переизданий популярных книг на русском есть, поэтому изучение английского можно вести параллельно с програмированием. В сложных случаях - Гугль или Яндекс в помощь.


Четвертое - цель. Важно понимать, к чему стремишься. Если хочется окунуться по-минимуму - то лучше в QA, там специфика работы требует меньшего погружения. Если рассчитываете на долгострочные перспективы - тогда фундаменталки (С++, Java).


Пятое - будьте готовы много читать. Нет, не так... ЧИТАТЬ!!!! Материала много, даже по специфическим вопросам. Начиная с книг, затем форумы и программеркие сайты (StackOverflow станет Вашей домашней страничкой на долгие годы), затем - чужой код (не умея читать чужой код просто глупо учиться - для начала достаточно понимать, что чужая программа делает)


Шестое - среда разработки (IDE). Достаточно знать, какие есть популярные, какие они языки и технологии поддерживают, для обучения - выбрать какую-либо одну и совершенствоваться в ней (советую NetBeans, по ней много документации русскоязычной, да и опенсорсная). В идеале, тру-хардкор - это блокнот в Винде и wim в Линуксе, но это уже жестоко для начинающего (не советую, но ради фана как-нибудь попробуйте обязательно)


Седьмое - операционная система. Винда - это хорошо) Но Линукс тоже нужно изучить. В идеале - МакОсь (если есть доступ к яблочной технике)


Кратко о языках (мое скромное мнение)


Компилируемые языки (С, С++) - наиболее быстрые в плане выполнения, но требуют предварительного перевода в машинный код (собственно, компиляции).В идеале - компиляция на машине, где предполагается рабоать программе. Для справки - UNIX системы (к которым относится Линукс и его дистрибутивы) написаны на почти голом С.  Сложны в освоении, высокий порог вхождения (я бы сказал - наивысший), легко "выстрелить себе в ногу и не только..."

Код имеет сильную платформозависимость, т.е. под разное "железо" код придется править (как минимум - перекомпилировать, как максимум - переписать)


Интерпретируемые языки (Java и ее мириады детей) - по скорости уступает С и С++ (с оговорками), не требует предварительной компиляции (опять же, с оговорками). Основной плюс и сила Java - практически полная платформонезависимость (Android тоже написан на Джаве, да). Сложно в изучении из-за изначально Объектно_Ориентированного кода (пока не поймешь концепцию и правила ООП, дальше будет гораздо легче). Опять-таки, очень много документации (русскоязычной хватает).


В кратце, воть)


Будут вопросы - с удовольствием постараюсь ответить.


п.с. сам программист со стажем 2+ года, основные языки - С/С++, Java, Lua, ОС - Ubuntu 16

раскрыть ветку
2
Автор поста оценил этот комментарий

Хочу стать программистом это сильно. ЧПУ программировать, сайты писать, приложения, мобильные игры, мультипликация, 1С (простите если оскорбил чьи-то чувства) и очень много чего еще очень разного. Ты хочешь это все? Сначала нужно определиться, чем именно тебе интересно заниматься. А там уже читай литературу. Создай первый "хелоу ворд" и дальше больше. Это если вопрос с чего начать.
А если ты хочешь знать стоит ли вообще начинать программировать - то конечно нет. Шея затекает, жопа болит от стула, глазки красные и много других побочных эффектов. Сто раз подумай.

раскрыть ветку
1
Автор поста оценил этот комментарий

При выборе между разработкой под iOS или Android для начинающего программиста я бы посоветовал обратить внимание на стоимости публикации своих приложений в магазинах (Apple: https://developer.apple.com/support/compare-memberships/, Android: https://developer.android.com/distribute/googleplay/start.ht...).

Если кратко - начни с андроида, порог входа ниже.

раскрыть ветку
1
Автор поста оценил этот комментарий

Чувак я 3 года отучился в техникуме, вышел - 0, ибо теории дохера, практики мало, а все задания, которые были и мы их делали, я не видел в них практического применения, типа найти минимальный элемент массива, и после 1го да я забил на специальные предметы.  Теперь я уже 5 лет в web, в основном верстка/дизайн, хотя знаю основы java, php. Заработок по разному бывает. Но тебе 28, я задавался твоим вопросом и раньше и до сих пор задаюсь. Я живу в мухосранске и у меня нет шансов уехать куда то в большой город работать хотя бы джуниором прогером, т.к. жена и дети. Если ты хочешь стать прогером и зарабатывать на этом неплохо - это минимум 5 лет тебе нужно читать, искать, пробовать, и заново, потратить около 10тыс часов на практику. Ты сначала подумай надо оно тебе? Ты хочешь этим зарабатывать или тебе это просто интересно? Я в web погрузился из-за интереса и пару лет, я только пробовал, гуглил учился в общем.

раскрыть ветку
1
Автор поста оценил этот комментарий
Начни с питона. Лаконичный и простой язык. На питонтутор отличный материал для самообучения.
раскрыть ветку