Всем кто хочет в IT
Наверное сейчас, когда на волне пандемии люди отправляются в отпуска (как правило за свой счет), чаще чем обычно, приходят мысли о том, чтобы изменить свою жизнь и войти в IT - тот сектор, где можно работать как из своего дома в Бутово (реальность), так и из дома на берегу моря (ожидание). Что мешает? Ведь тут не нужно как врачу иметь свою лабораторию для практики. Не нужно, как физику-ядерщику, иметь андронный коллайдер. Для вхождения в IT достаточно иметь обычный компьютер, подключение в интернету чтобы периодически писать запросы в поисковиках вроде "уроки программирования язык python", огромное желание свалить с осточертевшей фабрики и сила воли чтобы все свободное время не тратить на Пикабу, а программировать (ну за исключением чтения этого поста).
Ответ на вопрос что не дает массово всем разбираться в IT направлениях я выяснил в комментах в посту "Как я поменял жизнь!" от чувака, который после работы на фабрике стал веб программистом на Python с использованием фреймворка Django: Как я поменял жизнь!
Если исключить тех людей, которые просто не допускают мысли, что им хоть что то светит в этой области, основная проблема заключается в том, что потенциальный айтишник не знает с чего начать. В этом нет ничего сложного. Не боги горшки обжигают. Надо сесть за комп, написать запрос в поисковике "как сделать программу hello world на python" (или любой другой язык, если знаете что он вам больше подходит) и начать разбираться. Если у вас что то не получилось, нужно конкретно сформулировать свою проблему. К примеру:
"я набрал программу в MS Word и не знаю как запустить ее"
Гуглим ответ "как запустить программу на python" и выясняем, что для этого надо установить собственно сам Python на компьютер. В процессе приходится разобраться что есть Python 2 и есть Python 3, программы для которых могут иметь множество различий. В итоге для запуска нескольких строк кода, которые выведут вам на экран "Hello world" с чтением всех сопутствующих процессов уйдет возможно не один день. Проблем с запуском будет много. Будут ошибки в коде по невнимательности, ошибки связанные с использованием кода под другую операционную систему, ошибки из-за с разницы между версиями языков программирования, ошибки отсутсвия дополнительных модулей. Главное гуглить и внимательно читать. Это занимает много времени. Ничего, это нормально. Главное не сдаваться и читать, пробовать, заново читать, разбираться в деталях. Дальше все пойдет быстрее и быстрее. Возможно когда то даже станет легче. Но если вы на не способны на такой кропотливый труд, то у меня для вас печальные новости: работа на фабрике вам подходит лучше.
В комментах поста, который меня сподвиг написать этот текст, много полезной информации. Поэтому я решил вытащить ее сюда, дабы не сгнила среди множества комментов. Сам же я готов отвечать всем, кто реально хочет, пробует, но на чем то споткнулся, но при этом может сформулировать свою проблему в виде конкретного вопроса, ответ на который в поисковой системе найти нельзя очевидным образом.
Sashurik
А напишите для нубов типа меня как и с чего вы начинали в программировании... Если это возможно. Для меня это все чистый лист.
carbofoserman
Начать можно с написания в Гугле запроса "уроки python" и выполнения инструкций по установке питона на комп и запуске первой программы "hello world".
Kalter1
и все, ты программист) а дальше этих уроков че?)
bontaurean
А дальше идёшь на фрилансерские сайты, выбираешь самый маленький проект который нужно делать с нуля и для себя его реализуешь. Это даст понимание какие вопросы нужно изучить.
lita
Кхм, а можно конкретно пару таких сайтов назвать? Для начинающего малограмотного нуба и все такое.
carbofoserman
Путь конечно не будет таким простым как научиться делать "helloworld". Но если сделал для себя и для всех своих знакомых с полсотни проектов (как правило нашару), то вполне есть смысл уже ходить по фриланс сайтам и там оплата может быть как 10$/час, так и 30$/час:
https://www.upwork.com/ab/jobs/search/?q=python django&sort=recency
Но для этих проектов как правило нужно уже знать множество простых технологий (даже языками программирования их не называют) вроде HTML, CSS, MySQL, понимать принципы взаимодействия компонентов программы вроде REST, протоколы такие как HTTP. Если человеку нужен учитель и полностью отсутствует рефлекс написать в гугле "python rest application example", запустить найденный код, разобраться в нем самостоятельно, то человеку путь в программирование заказан. И к сожалению таких единицы, поэтому в программистах ощущается дефицит. Остальные возвращаются обратно на фабрику.
korneev123123
Сделай магазин.
1) сделать страничку на которой написано "магазин"
2) сверстать карточки товаров, чтобы на экране было их много
3) сделай подробную карту товара
4) подключи бек, чтобы товары брались из базы
5) сделай коризну, чтобы можно было выбрать несколько товаров, чтобы цена суммировалась и юзер как-то запоминалcя
потом можно усложнять дальше и дальше, а можно придумать ещё что-нибудь.
vano30003
почему именно python?
redhotchili87
Легко читаемый язык. Если знаешь английский то легко освоишь. Много где используется - web, data science, атоматизация
vano30003
читы к играм можно делать?
carbofoserman
Тут надо знать что именно ты хочешь зачитерить в игре, прежде чем выбирать ЯП. Сначала ты должен знать как обмануть игру вручную Надо разобраться в том как работает игра, как она хранит к примеру сумму денег в памяти. Найти эту ячейку памяти. Надо знать каким инструментом получить туда доступ и как ее изменить. Только после этого ты уже делаешь самое простое: программу которая тебе добавляет в игре бабла и продаешь эту прогу (или встраиваешь траян который тырит биткоины, майнит и распространяешь бесплатно) (нет!).
lita
У меня вопрос по поводу "проектов". Знакомых у меня не особо много, тем более таких, кому могло бы потребоваться что-то в этой сфере, что они могли бы перепоручить кому-то другому, но даже "для себя"... что делать? Мои познания о программировании либо сугубо теоретически (методы, работа компилятора, нюансы чуть не на машинном уровне, которые на фиг ни кому не сдались), либо ограничиваются решением математических задачек. Я не знаю, что вообще в принципе может быть "проектом"( Я могу загуглить и разобраться, "как", но "что"? Даже поиск по гуглу привел ровно к тем же мат. задачкам. Да, для восстановления навыков я их покопаю, безусловно, но что с этим дальше-то делать? Единственное более-менее конкретное, что я знаю - это обсчитывание экспериментов в физике, для которых нужно, собственно, заниматься этой конкретной темой в физике, и моды для скайрима, за которые никто на еду не даст(
Nacry
А вот знаешь что. Просто ради любопытства. Небольшая вводная. Есть много сайтов и мобильных приложений, в которых можно посмотреть звёздное небо с названиями звёзд и созвездий, какие спутники над тобой в данное время пролетают. Так много доп опций в таких приложениях платные. Но, вся инфа, которые они используют в открытом доступе есть в интернете. Так возьми и создай такое приложение. Там и работу с текстовыми файлами разберёшься, и как делать запросы POST, GET, на некоторых сайтах найдёшь как использовать API, с графической оболочкой разберёшься. Тем более, как я понял, что с матаном и физикой у тебя норм, то ещё и интересно будет. Всяких Рунге-Куттов вспомнишь.
redhotchili87
А вы сами куда хотите? Вас тянут в Вэб. Но если у вас все круто с математикой и физикой можно пойти в другую сторону
lita
Ну... Из общего, что о себе знаю, мне действительно с трудом дается все, что связано с интернетом и связью (впрочем, на сколько понимаю, это сейчас практически везде используется, так что, подумала, все равно надо разбираться). Я до сих пор с трудом понимаю, что такое интернет) То есть, ммм... В понимании программирования у меня произошел резкий скачек после прохождения курса радиоэлектроники, я начала понимать, как это работает, как из электронных элементов появляются логические схемы, и, примерно, как их дальше соединить с языком. Мне всегда удобнее и понятнее разбираться "с низу". В прочем, исключительно на бумаге - схемы, принципы работы, руками и глазами я могу не очень много)
Я не могу сказвть, что прям "круто". Я вылетела из МФТИ по здоровью и долго болела( До этого школа при мгу, курсы всякие по Си при бауманке. И, в принципе, мне вот этого вот и нравилось. Задачки, обработка экспериментов, разбор работы компилятора. Вроде где-то на обрывке памяти что-то про драйвера есть, но очень мало.
Какие волбще бывают области? У меня какой-то разрыв. Да, есть веб - не очень бы хотелось, но если прижмет - сцеплю зубы и разберусь. Есть всякая аналитика баз данных - это тоже довольно специфическая область. Есть гейминг... Но это уже более высокий уровень, что ли. И, опять же, я не очень хорошо в визуализации чего бы то ни было любым способом - даже за пределами программирования. Натыкать каких-нибудь базовых окошек и кнопок, чтоб более-менее прилично ввглядело, могу, но привыкла скорее с командной строкой работать. Надо придумать какую-нибудь мат модель, чтоб программа ее обсчитывала, что ли? Я только у маминых аспирантов такое видела, но там искусственный интеллект и моделирование эмоций, я с ними просто формулки правила, в теме, опять же, слабо разбираюсь. Аррр. Что делать-то?
Программирование - это же не только сайты? Нет, разобрать, как работает связь, конечно, все равно придется, но как-то это... И не то чтобы я совсем не знала html и совсем никогда не делала что-то похожее на сайты, это было даже по-своему забавно, но оно как-то больше похоже было... на рисование? Я не очень сильна в, эм, красивеньких иконках, правильном расположении и всем таком. Как-то обычно с командной строкой дело вела( Если прижмет, наверное, что-то такое сварганить смогу, но делать это хорошо, чтоб просить деньги, как бы, эм, даже не знаю.
korneev123123
Сложно найти абстрактное задание для чистого бека. Всегда интереснее учиться если можно глазками результат увидеть.
lita
Что такое "чистый бек"?
Я могу понатаскать задач из физики, обсчитать там те же траектории, орбиты, не знаю. Формулу, которая лучше всего подходит под экспериментальные данные - не в любом случае, скорее всего, но тем не менее. Обсчитать, там, модель поля, поведение вещества - не до прям уровня какой-нибудь диссертации, разумеется, все в пределах уже изученного, но все же. Могу "на коленке" разобраться с довольно сложными мат моделями - когда, пусть немного, но помогала маминым аспирантам, моделирование эмоционального состояния человека по видеоряду. В разложение видеоряда на подходящую к описанию модель, разумеется, я не лезла, но все же.
Я просто даже не знаю, куда потом это деть? Можно ли вообще на что-то похожее найти работу?
ещё комментарии 9
carbofoserman
Проект - это законченная задача. Если задача заключается в том, чтобы сделать онлайн обсчет физических или математических введенных данных по нужному алгоритму через сайт, то кроме реализации алгоритма нужно реализовать веб-страницу (фронтэнд), которая примет данные от пользователя и передаст эти данные на сервер программе, которая сделает фактические вычисления на сервере (бэкэнд). Сервером на время разработки будет твой домашний комп. Позже это может быть мощная машина или даже множество машин (кластер). В результате для этого проекта нам нужно знать
* HTML/CSS для самой страницы
* JavaScript для сбора, подготовки и передачи данных от пользователя на сервер
* любой удобный язык вроде Python, Java, PHP для приема данных
* возможно SQL для сохранения данных или результатов в базу данных
* возможно C/C++ для высокопроизводительных вычислений по собственно необходимому нам алгоритму на CPU/GPU и т.п.
Направления в программировании сейчас делятся на
* фронтэнд - лицо проекта, как правило сайт или мобильное приложение, в который тычет пользователь. Фронтэнд иногда может добыть результат сразу в браузере или на мобильнике, но как правило отправляет данные бэкэнду для последующей обработки.
* бэкэнд - серверная часть, с помощью которой происходит обработка данных, сохранение, передача смежным сервисам.
Но я очень настойчиво обращаю внимание, что IT это не только программирование. Это огромный спектр специальностей среди которых
* тестирование (QA - quality assurance)
* администрирование серверов и прочее
* DevOPS
* сети
* сотовая связь
* IP телефония
* VOIP
* IP TV
К примеру, если программирование - это однозначно не ваше, то есть смысл попробовать себя в тестировании: это когда тебе дается сайт или приложение и нужно по списку зайти в каждый уголок этого проекта и убедиться что фактическая функциональность соответствует ожидаемой. Если найден баг, то оформить отчет как этот баг надо повторить. Работа с очень низким порогом вхождения, как раз для тех, кто испытывает психологические проблемы чтобы допустить мысль сразу попробовать себя в программировании. Поработав некоторое время уже в IT тестировщиком, можно еще раз пересмотреть с нового ракурса мысль стоит ли пробовать себя в программировании. И даже если ответ однозначен что не стоит, в этой области есть куда расти и развиваться. Хорошие тестеры как и все хорошие специалисты тоже всегда в дефиците. Но для того чтобы стать хорошим тестировщиком все равно придется много читать и разбираться.
Большинство вышеперечисленных IT направлений при большой нужде могут выполняться удаленно, как в случае сегодняшней пандемии. Поэтому я рад буду помочь и ответить на вопросы в комментах. Уверен, где я не буду достаточно компетентен, подтянутся и другие пикабушники. Удачи вам в новом мире XXI века!