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

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

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

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

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

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


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

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

-

хочу стать программистом и теоретически пару часов в день могу уделять самообразованию в этой сфере.

-

Склад ума аналитический,

-


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

Не становись программистом.

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

Спасибо, дружище, очень выручил!

показать ответы
Автор поста оценил этот комментарий
Со знакомыми адекватными за год вполне реально что добьетесь цели)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Спасибо, очень надеюсь :)

Автор поста оценил этот комментарий
Тут смысл в другом. На начальном этапе важно наставничество, которое можно получить устроившись работать джуниором. На эту позицию обычно хотят всяких студентов и редко более взрослых людей. По знакомству можно конечно попасть джуниором в контору, но нужны эти самые знакомства)
раскрыть ветку (1)
Автор поста оценил этот комментарий

Значит остается надеяться только на удачу. Всё таки мне пока не 50, должно повезти...

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

Спасибо ) Обязательно учту. Кстати, начал вспоминать тут, оказалось, что у меня аж несколько знакомых программисты, причём в достаточно серьёзных организациях. Щас налаживаю контакт, надеюсь смогут подсобить.

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

О возрасте - мне сейчас 31, 7 лет женат уже, детей пока нету.


Начал активно пинговать программирование с 27 лет, в 29 - нашел свою первую работу как джун С++

На реальном проекте знания впитываешь быстро и как губка. Когда есть реальная задача и дедлайн по ее решению - очень мотивирует.

Ну и главное (не считая ЗП) - это реальное удовольствие от решенной задачи (в виде работающей программы). Это кайф)

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

Вот такие комменты реально мотивируют ) А то просишь совета вроде как, а кто-то неистово минусит. За что - хз :) Спасибо, реально благодарен тебе за ответ.


У нас с женой тоже пока детей нема, но активно решаем вопрос )

4
Автор поста оценил этот комментарий

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


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


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


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


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


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


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


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


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

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


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


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


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


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

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

Спасибо большое, даже не ожидал такого развернутого ответа. Обязательно обращусь, как вопросы начнут появляться!


P.S. С английским всё неплохо, не fluent, но фильмы смотрю спокойно.

показать ответы
Автор поста оценил этот комментарий
28 лет будет проблематично работу найти. А знакомые есть кто работает программистом? Которые смогут на вопросы отвечать твои?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Знакомых особо в этой сфере нет, но есть форумы, гугл, думаю, справлюсь.

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

Для мобильных приложений не подходит.

iOS - C

Android - Java

WinPhone - c#

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

Вот как раз с Java думаю начинать, спасибо за уточнение!

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

Понял, спасибо большое. Щас буду глядеть, чё это.

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

Я начинал с того, что посмотрел пару видеокурсов по php. Далее, проходил практику, где писал на Visual basic и php. К счастью мне никто не помогал и я очень быстро научился искать ответы в гугле. Если это веб програмирование найди курс, как написать блог, или если прикладное - как создать простейший текстовый редактор и тд. Дальше по нарастающей.. я параллельно изучал и веб программирование и прикладное (GUI приложения под виндоус). Лучше всего - учиться самому. На это тратишь больше времени, но зато потом у тебя появляется навык поиска, и ты сможешь решить практически любую проблему. Чтобы стать хорошим программистом уйдёт не год и не два. По началу можно подрабатывать где-нибудь джуниором (младшим программистом). Но хочу предупредить. На изучение уходит масса времени. И если нету энтузиазма - лучше не браться.. Рано или поздно забросишь. Учиться программированию придётся всегда. Каждый день что-то меняется в мире программирования. Ах да.. Ещё лучше, чтобы была какая-то задача. Когда решаешь задачу - есть стимул, и понятно - куда нужно двигаться и что искать.

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

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

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

программирование под андроид забудь.

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

И потом. Программы под андроид никто не покупает. Их стоимость "ноль". Здесь нет простого заработка.

Впрочем и для iphone не лучше дела.

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

Везде плохо. Так и что решать, в конечном то итоге?

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

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

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

Ну а с другой стороны, 5 лет - мне будет всего 33. В офисе я уже нахер никому не нужен буду, там уже меня заменят молодые-амбициозные :) А в IT возраст особого значения, по-моему, не имеет. Главное, чтобы голова работала нормально.

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

Если у тебя есть мак и айфон/айпад, то начни с ios. Потому что начав с андроида я сразу научился плохому. А когда стал разрабатывать по ios, узнал, что так делать нельзя. Но гугл конечно гуманнее относится к разрабочикам. Там и за учетку нужно заплатить всего один раз, а не раз в год как у эпла. И приложение может через пару часов уже быть доступно в гугл плей. И вообще можно на одном WebView говноприложение слепить, сильно не наругают.

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

У меня выбор есть, два смарта (iphone 7 plus и galaxy s7), два ноута, mac и один из топовых msi. Склоняюсь таки к andoidu, а там уже как пойдёт.

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

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

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

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

Понял, спасибо, полезная инфа!

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

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

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

Так я в посте ж написал, что написание приложений (andoid/ios) в приоритете. Насчет побочных эффектов - спасибо за инфу. Не думал об этом.

показать ответы
Автор поста оценил этот комментарий
Ты хочешь сменить профессию или просто параллельно с работой писать дома приложения?
раскрыть ветку (1)
Автор поста оценил этот комментарий

Хочу полностью сменить профессию, т.е. год-два, сколько потребуется, учить, а затем менять полностью сферу. К сожалению, сразу не могу, ибо кормить семью нужно.

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

подпишусь послушать что насоветуют =D

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

Вэлкам :)

Автор поста оценил этот комментарий
Самый простой путь - это web. Но тебя будут презирать, не так как одинэсника, но будут. Качай с [роскомнадзор] курс от гикбрейнс "профессия web разработчик", там вебинары по 2 часа как раз.
раскрыть ветку (1)
Автор поста оценил этот комментарий

Уже подписался на основы программирования :) Но на web как то не встает. Думаю всё таки на приложения подписаться.