Помогите войти в it (Верю в силу Пикабу)

Уважаемые форумчане, всем привет!
Зовут меня Егор, на Pikabu я давно, больше 8 лет точно, хотя аккаунту только будет 7. Это мой первый пост! На протяжении моего пребывания на Pikabu вы все были со мной в хорошие и плохие моменты моей жизни, помогали их делать лучше чем они были, спасибо вам всем за это!
Так, с благодарностями закончили, перейдём к вопросу который заставил меня поднять(*опу) т.е. телефон :) и пока еду с работы домой накидать пару строк с небольшой просьбой, но перед самой просьбой, небольшая предыстория.
На дворе 2008 кризис уже бахнул, мои родственники наслушавшись песен про бухгалтеров и увидев нынешние тенденции про востребованность экономистов приняли решение, отправить меня учиться на экономиста, в надежде, что я через год стану директором банка и им больше не придется работать (а что у директора банка, есть свой сын, они забыли). Я отучился, устроился на работу (в организацию, выполняющую государственный заказ для нужд армии), проработал там 7 лет и тут до меня дошло, что я не хочу работать экономистом (от слова совсем). В течение 2-х недель (спасибо моей девушке) я более-менее определился, куда я хочу двигаться и что мне нравится, мы нашли для меня курсы, я их благополучно оплатил и начал двигаться к намеченной цели, а именно, войти в it :)
Выбрал себе язык программирования C# (из-за его мульти-платформенности и возможности разрабатывать игры на движке unity) начал его осваивать, первое время были небольшие затупы, приходилось материал повторять несколько раз, небольшие проблемы с мотивацией, но это все прошло, когда у меня начало получаться решать задачи на CodeWarrior. Сейчас я продолжаю своё обучение (осталось 2 месяца курсов, а самообучение заканчиваться не собирается). Перед Новым Годом я начал искать работу для программиста, но junior это сложно сделать (без профильного образования и отсутствия хоть какой но коммерческой разработки) никому не нужны заготовки, все хотят себе готового специалиста. Вот мне и пришла мысль попробовать обратиться с просьбой к самому лучшему комьюнити в СНГ, просьба такая, я хочу набить руку на реальных проектах (чтобы можно было не сильно теряя в деньгах найти работу (или вообще найти :))) и я бы с радостью поучаствовал в ваших/вашем проекте(удаленно и абсолютно бесплатно). От меня обещаю, быструю обучаемость, реальное желание работать и развиваться. От вас же хочется увидеть интересные задачи, самые актуальные технологии, менторство(что почитать, что посмотреть, что и как правильно, красиво или некрасиво и тд.) и самое главное дать мне возможность поучаствовать в вашем проекте. Готов помочь по разработке на языке C# разработке игры на движке unity.

Спасибо за внимание!

Всех с наступающим Новым Годом!

P.S. Почта для связи pikabu2020@list.ru

Вы смотрите срез комментариев. Показать все
2
Автор поста оценил этот комментарий
Я кстати все чаще замечаю, что народ при попытке стать IT, первым делом пытается сразу учить языки программирования, не имея никакой базы за спиной. Что за волшебство такое? С чего все решили, что так все это легко и за это много платят?
раскрыть ветку (68)
5
Автор поста оценил этот комментарий

Гыгыгы, то есть надо сначала освоить сварку и схемотехнику, что ли? :D

раскрыть ветку (10)
3
Автор поста оценил этот комментарий
Хотя бы математику, алгоритмы, абстрактные структуры данных. Чтобы при выстреле в ногу понимать откуда выстрел произошёл.
раскрыть ветку (2)
2
Автор поста оценил этот комментарий

Это все изучается при написании кода.


Чтобы начать читать - нужен алфавит.

Чтобы начать программировать - нужно знать язык программирования.

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


Хотя на деле, программисты прошлого бы облили вас дерьмом. Ибо первые программы собой представляли последовательные команды, без математики, структур данных, паттернов и прочего. И оно работало и продолжает работать :D

1
Автор поста оценил этот комментарий
Смешно. Начинающему программисту надо писать код. Со временем он и всем остальным обрастает.
Автор поста оценил этот комментарий
Автор поста оценил этот комментарий
Хоть какие-то основы надо знать. Сценариев использования языков программирования может быть много, но новечки чаще всего пытаются власть в сетевые технологии, а тут надо уже понимать хотя бы минимально эту дисциплину, да хотя бы как работает: клиент- сервер, архитектуру, различия там и тд. А от чистого языка какой толк? Любой язык программирования изучается за неделю - две, потом уже начинается более грубого изучение библиотек и тд, а на этом моменте можно столкнуться с тем, что базы то и не хватает, как использовать? Для чего? В какой связке? Кстати, самый частый вопрос от новечков на форумах - надо ли учить математику если хочется стать программистом? И этот момент надо учесть, т. к. Хоть при дальнейшем использовании языка человек может и не будет часто использовать математику, а для изучения языков она нужна.. И тд и тп. Всё же IT это такая же профессия которой надо учиться и по книге - выучи язык за неделю IT стать невозможно.
раскрыть ветку (5)
2
Автор поста оценил этот комментарий

Вообще-то вполне возможно. Для джуна особенно глубоких знаний не требуется можно и манки кодера использовать. А вот для дальнейшего роста изучать основы необходимо.

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

Зависит от ситуации. По мне, проще учиться, когда ты знаешь что делаешь, то есть, учить основы это хорошо, только зачем они без знания кода? Поэтому надо либо параллельно этим заниматься, либо сначала кодинг, потом изучение.

Автор поста оценил этот комментарий
Только обычно php начинабт не с сокетов, а с готовой связки (условный xampp/lamp) где они делают свою первую веб страничку, еще не понимая как все это работает.
Автор поста оценил этот комментарий
За неделю две первый язык не изучается. Для изучения прикладных мейнстримовых языков математика не нужна.
Автор поста оценил этот комментарий
а с чего начинать надо то?
раскрыть ветку (29)
5
Автор поста оценил этот комментарий

Алгоритмы, структуры данных

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

Так алгоритмы и учатся на каком-то языке обычно, ведь в сухом остатке любой ЯП - язык описания алгоритма. И вполне логично начинать изучать базовые алгоритмы паралельно с синтаксисом одного из популярных языков.

Автор поста оценил этот комментарий
Смешно. По крайней мере в вебе не с этого начинают.
раскрыть ветку (6)
1
Автор поста оценил этот комментарий

Этот "веб" обычно ограничивается фронтендом или совсем простенькими типовыми проектами.

раскрыть ветку (5)
Автор поста оценил этот комментарий
А вот расскажите где все это нужно в типовом проекте в бэкенде?
раскрыть ветку (4)
Автор поста оценил этот комментарий

В типовом проекте не нужно же) зачастую бекенд используется используется как DAL для фронта и средство аутентификации-авторизации.


Потребуется, например, когда будет необходимо хранить и обрабатывать крупные графы неких объектов. Вообще большие структуры данных и выполнять по ним сложный поиск, где СУБД не поможет.

раскрыть ветку (3)
Автор поста оценил этот комментарий
Это все звучит как хайлоад проект с крутыми инженерами, не? Новичку то это все зачем?
раскрыть ветку (2)
Автор поста оценил этот комментарий

Крутые инженеры вырастают из новичков однажды) Но это такие знания, которые всегда есть куда приложить, если они есть. Это база.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Это не база а приобретенное. Вот из таких новичков в вебстудиях они потом уходят в продукты и прокачиваются.
3
Автор поста оценил этот комментарий

С готовности учиться непрерывно и без остановки следующие 20 лет. А то и 30.

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

#comment_157763125


На. Будут вопросы - спрашивай

раскрыть ветку (16)
Автор поста оценил этот комментарий
да я в целом и так знаю что мне надо и куда двигаться, просто времени дофига надо(
раскрыть ветку (15)
Автор поста оценил этот комментарий
Тебе не надо все это сразу и скопом изучать. Наоборот в первую очередь надо результат наглядно получать. Всякие алгоритмы и структуры данных потом по дороге учатся и при наличии опыта кодинга их гораздо проще освоить. Точно не стоит зубрить.
раскрыть ветку (13)
Автор поста оценил этот комментарий

Звучит невероятно, но практику можно совмещать с теорией)

раскрыть ветку (12)
Автор поста оценил этот комментарий
Ну как бы "по дороге" именно это и подразумевает.
раскрыть ветку (11)
Автор поста оценил этот комментарий

Да, это я упустил, прошу прощения) Часто встречаю мнения, что на теорию вообще лучше забить в начале.

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

А кто говорил, что будет легко? :)))

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

Ну и см выше.

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

ну не знаю, начал учить сначала java, книжки читал, задачи решал, потом SQL, maven/gradle, html, jsp, css, jQuery, spring (mvc, security), jpa+ hibernate/eclipselink, mybatis, javascript, xml. Бутстрапить научился, веб-сервисы писать, про паттерны почитал. Этого было достаточно, чтобы джуном устроиться на энтерпрайз проект. Уже 4.5 года работаю

раскрыть ветку (3)
Автор поста оценил этот комментарий
Вы рискуете оказаться в пузыре скилов.
раскрыть ветку (2)
Автор поста оценил этот комментарий

я, конечно же, понял о чем вы

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

Спасибо пикабу за поиск по комментам. На список:


Вот тебе список того, что надо знать, а не "базовые конструкции". С этими занинями тебя с руками оторвут.


Итак поехали с самого низу:


1. Железо


Память, проц, HDD/SSD, шины, преферия, видео карта. Знать как работает, как зависит энергопотребление и понимать ключевые слова. Туда же GPU акселерация, виртуализация.


2. Софт низкого уровня


Assembler, биты, байты, инструкции, прерывания int vs short int, кеши, частоты, предсказания, архитектура intel, amd, ARM, MIPS, ну и чего-нидь еще лишним не будет. Защищенный режим, переключение контекста, треды в ядре.


3. Софт уровнем повыше (уже ОС)


Менеждмент ресурсов (как, зачем, почему), память, диск, терды (уровня ОС), сокеты и т.д. и т.п. IPC (shm, mmap, signals и далее) Как профайлить, трейсить, дебажить. Виртуализация, будь она не ладна (на уровне ОС), устройство файловой системы, устройство IP/TCP/UDP.


4. Софт еше выше уровнем (прикладной, middleware)


Базы данных (SQL, NOsql, всякая экзотика), веб сервера, application сервера. Бонусом: обработка видео/звука/картинок (именно с точки зрения кодера! А не учить фотошоп. Хотя он тоже сойдет), поиск, сжатие, машинное обучение, bigdata (hadoop), спец темы, и спец софт области в которой ты работаешь.


5. Языки программирования! (Это еще не конец!)


Нативные, скриптовые, JIT, VM для языков, императивные, функциональные, со статической типизацией и без. Отладка тулзами, логами, профайлинг. Статический и динамически анализ кода, рефракторинг, системы хранения кода (хотя бы git)


Ура, мы прошли половину списка, продолжаем.


6. Базовый кодинг


Базовые структуры данных, их особенности области применения, комбинирование. Базовые алгоритмы - поиск, соритровка. Вычислительная сложность.


Unit тесты, моки, отладка (опачки), ассерты, логи.


Комментарии, сука!!! ВНЯТНЫЕ, СУКА, КОММЕНТАРИИ.


7. Кодинг по сложнее:


ООП, паттерны ООП, функциональное программирование. Генераторы кода, regexp, DSL.


Потоки, синхронизация их, deadlocks, как их ловить, lock-free структуры и алгоритмы, их ограничения.


8. Спецтемы.


3D, сжатие данных, обраюотка видео/аудио, мобильники (начинаем заново по ним), встраиваемые системы, компиляторы, интерпритаторы, MapReduce. Computer Vision, Машинное обучение еще раз!


9. Системы.


Модули, API/ABI, обратная совместимость, спеки, тестирование (функциональное, регресионное, системное и далее), распределенные системы, их проблемы и решения.


Билды, CI/CD, деплой и вообще что такое devops.


10. Обслуживание системы


Логи, бекапы, аварии, root case анализ, что делать в случае факапов, миграции.


Добро пожаловать в 2020!


Для тех, кто осилил: не надо досканально знать ВСЕ выше перпечисленное, надо хотя бы представлять что это и где искать ответы. А не впадать в ступор и ныть, что этому не учили.

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

Это слишком обширные знания, они нужны какому-то эникейшику из гос конторы. Хорошему разрабу надо знать 3-5 пунктов, чтобы его с руками отрывали, все остальные никогда в жизни не понадобятся, если не планируешь менять направление.

ещё комментарии
2
Автор поста оценил этот комментарий
Вы его на синьора архитектора ОС натаскать хотите? Джуны начинабт с того что пилят код, а со временем появляется все остальное.
раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Такие джуны сейчас нахер никому не сдались, в неделю по 200 таких резюме приходит. 199 идет в помойку, одного можно пособеседовать.

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

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

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

Не учить, а иметь базовые понятия.

Джуну - чтобы за 6 месяцев стать мидлом и иметь раз в 5 больше денег :)

Язык программирования для программиста - инструмент. Одним скальпелем не делают операции.

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

Ахах... Вы прям реально из другой вселенной.


Начинающему кодеру надо научиться писать код. Хреновый, плохой, скопипасченный, но код.


А то что вы предлагаете - называется преждевременная оптимизация, которая только тратит ресурсы, а в результате даёт пшик :D


PS изучение одного железа займет лет 5. Вот если особо не углубляться :D

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

Начинающему программисту нужно учиться читать документацию и не охуевать от того, что в одном месте написано Int, а в другом short int, а не писать код :)

Писать код - это 10, если повезет 20 процентов работы программиста.

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

Писать код это 100% работы программиста-джуниора )

Писать код и думать - уже миддл :)

Думать и раздавать задания джуниорам и миддлам - сеньор :D

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

Мечты, мечты....

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

знаете, вы первый пустозвон, который вызвал у меня желание послать его :) Чудеса случаются в уходящем году. Ариведерчи.

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

Осилил. Посоветуйте теперь хорошие курсы сантехников ))

Шутка. Ну если выбросить обработку видео и 3Д, то почти обо всем прочем ИТ-специалисту представление иметь необходимо.. Только одно забыли.. Один мать ее ЭС!!  Ну куда, блять без нее на предприятии ((

ЗЫ Про видео тоже шучу. Кто снимает фильмы на корпоративах? Тыжпрограммист.. А когда смонтируешь? А чо ты меня пьяного не вырезал?

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

Как показывает практика, 1С - это никому не нужная херня (в рамках мира). А IT как раз и прекрасно тем, что по факту, ты выбираешь вакансии на мировом рынке.

Если хочется страдать упарываться в завод то можно и 1С.

3D именно рендеринг с точки зрения кодера - это очень суровая математика, которая вправляет мозги и потом помогает в других областях.

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

Идиоты-с :)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку