Да-да, вы все правильно прочитали. Сегодня небольшая мотивационная история
Но, сперва краткая биография. Поехали!
using Writer = System.Console;
Writer.WriteLine("Привет, меня зовут Саша, я диктор канала...");
Шикарная подготовка
В 2018-м году, мне пришлось закончить школу, и начать думать об университете. С самого детства у меня была страсть к компьютерным играм, и очень хотелось из "делать". Поэтому выбрав направление программиста, я начал упорно готовиться к ЕГЭ по информатике и математике.
Подготовка прошла настолько хорошо, что по математике я набрал ровно проходной балл, по информатике на один выше проходного. Зато по русскому было 78 из 100.
Поступление в университет СахГУ
Сам я родом с Сахалина. Сахалин настолько странное место, что обучение в университете стоит как в Москве (900к), а берут туда на бесплатное обчуние по нарправлению "Прикладная информатика и математика" с моими результатами ЕГЭ без всяких вступительных тестов.
Университет - клевое место, в котором тебя загружают кучей бесполезной информации, заваливают на ненужных предметах и грозят отчислить. Сказать честно, меня хватило на 4 месяца обучения там, после чего отчислился, отчасти из-за семейных обстоятельств.
Времена застоя
На самом деле, у меня никогда не было какого-то математического склада ума, но была одна особенность - одержимость мечтой. 3 года я никак не касался программирования, и в итоге - забыл даже те крохи, которые когда-то знал.
Не было желания ничего делать, хотелось чтобы все пришло само. В тот период я не учился, работал курьером, и мечтал о собственной IT-компании.
Прозрение
В конце 2021 года у меня не стало нескольких знакомых... Мне вроде как 21, но я задумался. Ведь у меня есть мечты, ведь я очень хочу открыть собственную компанию, но ничего для этого не делаю.
Я сказал себе - надо действовать! Но у меня нет никаких знаний, нет знакомых, которые смогли бы помочь мне, нет денег на репетиторов, и нет, а самое главное, я зациклился на той мысли, что нет еще и большого количества времени.
Хочешь научиться? Научи сперва кого-нибудь!
Было принято решени - пора погрузиться в ускоренное обучение программированию. Первым шагом я набрал в гугле "Самоучитель по C#", и наткнулся на один интересный сайт по программированию, который и начал упорядочено изучать
Второй этап был сложнее - попробовать заработать на этом. Конечно, начинать расскидывать резюме и сидеть ждать оффера с нулевыми знаниями - выйгрышная стратегия, но я решил не идти по этому пути.
Я решил заняться репетиторством. Репетиторством с нуля, чтобы самому успевать разбирать темы, которые буду преподавать на занятии, и это имело успех. На второй неделе после публикации объявления я нашел первого ученика.
Не понимаю значение слова "Выходной"
Наступал новый год, все готовились, у всех была своя новогодняя движуха. Но мне было не до праздника, как никак в C# нет такого ключевого слова или же библиотеки, а потому я изучал то, что там было.
Знаете что я делал в новый год? Сидел в компании людей и не понимал, почему я трачу на это время, а не сижу и не самообразуюсь. Я поделился этим со своей девушкой, но она не поняла меня. С 1-го января я возобновил об
В течении всех 10 дней праздника я сидел и изучал программирование. Мозг кипел, сна становилось все меньше и значение слова "Выходной" стало мне непонятным. Дошло до того, что я начал интересоваться языком ассемблера и тем, как работает каждая часть компьютера, чтобы понимать, что я пишу в коде программы. Сейчас я хотя бы имею представление о том, как работает компилятор.
Общение со студентами
Совсем недавно я списался с бывшей однокурсницей. Сейчас она учится уже в Санкт-Питербурге, направление все то же "Прикладная математика и информатика". Разговор зашел о программировании, и я решил уточнить у нее, какие темы последние они затрагивали и вообще, чему их научили за 3 курса.
Каким же было мое удивление, когда я узнал, что она находится примерно на том же уровне, что и я, и одни из последних тем были принципы SOLID и паттерны проектирования.
Так же доводилось общаться с ребятами, которые учатся и в других университетах, примерно все одно и тоже, программа движется у всех относительно одинаково.
Конечно, они параллельно изучат еще и математику, и вообще, без математики ты не программист и так далее и тому подобное, окей, но мы говорим именно про программирование, когда понадобится математика - тогда заспидраню и ее.
Наши дни
Сегодня 18.01.2022 и пару часов назад я написал небольшой архиватор. Суть в том, что ты дропаешь в окно программы папку с файлами, после чего архиватор сохраняет его в у себя в папке tpm. При нажатии кнопки "Архивация" создается .zip-архив по первоначальному пути файла. Имя архива = имени директории.
За 5 часа я смог с нуля, без знаний работы с файлами, сделать это и понять как я это сделал:
Код конечно кривой, однако, я понимаю каждую его строчку (вроде)
Simple.Arc (code)
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.IO.Compression;
using System.Windows.Forms;
// Долго не мог написать клонирование из диров, в итоге получилось
//using Microsoft.VisualBasic.FileIO;
namespace WindowsFormsApp1
{
public class ArchivatePro
{
DragEventArgs dropedFile;
ListView listView;
ToolStripLabel label1;
private string tmpPath = @"..\tmp\";
public string fileFullPath_old;
public string fileFullPath_new;
public ArchivatePro(DragEventArgs e, ListView listView1, ToolStripLabel label)
{
dropedFile = e;
label1 = label;
listView = listView1;
Directory.CreateDirectory(tmpPath);
}
public void DropFileColoner()
{
try
{
bool firstCheck = false;
string[] filesInDir = (string[])dropedFile.Data.GetData(DataFormats.FileDrop);
foreach (string obj in filesInDir)
{
if (!firstCheck)
{
fileFullPath_old = Path.GetFullPath(obj);
fileFullPath_new = Path.Combine(tmpPath, Path.GetFileName(obj));
label1.Text = Path.GetFileNameWithoutExtension(obj)+".zip";
firstCheck = true;
}
Directory.CreateDirectory(fileFullPath_new);
DirChecker(obj);
}
}
catch (System.IO.IOException e)
{
//ничего не делаем
}
}
private void DirChecker(string obj)
{
try
{
foreach (string checkDir in Directory.GetDirectories(obj, "*", SearchOption.AllDirectories))
{
Directory.CreateDirectory(checkDir.Replace(obj, fileFullPath_new));
listView.Items.Add(checkDir);
}
foreach (string checkFile in Directory.GetFiles(obj, "*.*", SearchOption.AllDirectories))
{
File.Copy(checkFile, checkFile.Replace(obj, fileFullPath_new), true);
listView.Items.Add(checkFile);
}
}
catch (Exception e)
{
//ничего не делаем
}
}
}
}
Что дальше?
У меня большие планы. В первую очередь я хочу пробовать начать выполнять тестовые занятия к вакансиям, размещенным, например, на ХедХантере.
Конечно, я я знаю, что до оффера мне еще очень далеко, но мне кажется, что рано или поздно я его получу, главное просто никогда не останавливаться и не сдаваться.
Сейчас я каждый день провожу огромное количество времени в VS и за чтением документации. Планирую уже начинать осуществлять свою мечту и писать свое первое полноценное десктопное приложение для использования другими людьми. Но, скорее всего это приложение нужно будет лишь мне :).
Какие выводы?
Хочу сгруппировать и подвести итоги всего вышесказанного. Да советы могут показаться простейшими, однако мне они помогли
Не трать время зря. Если ты хочешь быстро изучить программирование - время твой главный и враг и союзник. Тут речь не о правильном тайм менеджменте, а об уделении всего "свободного" времени.
Погружайся с головой. Лично я представляю, что я начинающий Пол Ален, который в будущем напишет эмулятор альтаира 8800 пользуясь лишь одним руководством по программированию.
Не бойся и терпи. Ещё месяц назад от самой мысли о том, что я буду пытаться понимать и изучать что-то сложное у меня начинался суд по всему телу, а голова просто взрывалась. Мозг за три года совсем разленился.
Мечтай. Не просто представляй что-то невообразимое, а именно мечтай и иди к этому. Изучил что такое рекурсия? Почувствуй, что ты действительно молодец, и уже знаешь то, что большинство встречных прохожих не знают.
Забудь про "сходить выпить пива, пойти в клубешник, съездить к подруге". Если ты хочешь стать программистом - ты работаешь всегда, и не всегда за деньги. Твоя работа - постоянное самосовершенствование.
Конечно, слушать это все от человека, который изучает все это меньше месяца - сюр. Но давайте начнем с того, что каждый день я занимался этим от 12 часов и более. И вот, несложными вычислениями над операндами 12 и 21 возвращается около 250 часов занятий программированием, а это уже серьезно.
Комментарии (29)
lookid
21.01.2022 14:34+13Когда станешь лидом JetBrains Rider, тогда и приходи. А сейчас это выглядит, как "похвалите, я же добавил в закладки доку сишарпа".
skyeff
21.01.2022 14:55+15Сколько уже лет твердят: «хочешь научиться
писать архиватордергать метод стандартной библиотеки в <подставь любимый язык> — тебе не нужен университет, достаточно недельных курсов».
Отдельно доставил раздел про: не умеешь сам — научи других! Автору явно в разработчиках не место, тут на лицо все задатки «эффективного менеджера».
shumskyds
21.01.2022 15:10+3Я поделился этим со своей девушкой, но она не поняла меня. С 1-го января я возобновил об
Общение с бывшей, потому что эта тебя не понимает?
navferty
21.01.2022 15:34Недавно публиковал материалы по обучению .net на гитхабе, на новогодних каникулах как раз их немного причесал и реорганизовал. Возможно, будет полезным автору или кому-то еще:
https://github.com/navferty/dotnet-learning
Также создал чатик в телеге для вопросов и взаимопомощи по этим материалам.
Myxach
21.01.2022 16:16Забудь про "сходить выпить пива, пойти в клубешник, съездить к подруге". Если ты хочешь стать программистом - ты работаешь всегда, и не всегда за деньги. Твоя работа - постоянное самосовершенствование.
Совет то хороший, если есть четкая цель и ты четко знаешь, что это приведет к цели и после этого ты уже сможешь:"
сходить выпить пива, пойти в клубешник, съездить к подруге
", а то так можно скатиться к "работе ради работы"
lair
21.01.2022 19:35+7Программу вуза, при погруженном изучении, можно пройти за несколько месяцев.
Вы, наверное, хотели сказать "один или несколько предметов из программы ВУЗа"?
Ваш пост как-то не показывает, что вы прошли программу ВУЗа.
около 250 часов занятий программированием, а это уже серьезно.
Неа, это не серьезно. Это меньше двух месяцев full-time работы.
dmitrysvd
22.01.2022 17:15Если убрать из программы университета всю гуманитарную часть, и то, что на 99% не пригодится в работе, то это можно за несколько месяцев осилить. Проблема в том, что этого не хватит, чтобы стать программистом
lair
22.01.2022 17:27+1Если убрать из программы университета всю гуманитарную часть, и то, что на 99% не пригодится в работе, то это можно за несколько месяцев осилить.
Это и есть "несколько предметов".
Flux
21.01.2022 20:17+6Господи, какой же кринж. Очередной школьник хочет делать ИгРы и поступает в шаражку (даже не на бюджет) которую благополучно заваливает и решает что вышка нинужна, включает в своих колонках Eye of the tiger и уделяет обучению целых 250 часов, после чего приобретает уверенность в том что это уже немало и он может учить других и делиться своим ценным (нет) опытом с остальными.
Но главное ведь — одержимость мечтой, а фундаментальное образование и все эти ваши матаны с линалами не нужны, я сюда пришел чтобы делать игры. Поэтому навалю текста в стиле тренингов личностного роста, помещу "статью" в хаб "Будущее здесь", сдобрю кринжовыми тегами, всё, статья на хабре в "портфолио" есть.
Испанский стыд просто.
dmitrysvd
22.01.2022 17:19Я не согласен со статьей, и с тем, что программистом можно стать после 21-дневных курсов, но, просто интересно, хотя бы раз вам или кому то еще в работе программистом (не DS или ML) пригодилось знание матанов или линалов?
Ironcast
22.01.2022 17:32+1" на бесплатное обчуние по нарправлению " - исправь :-).. А вообще ВУЗ это глупо, есть же толковые книги как стать программистом за 24 часа, за 2 недели, за месяц.. Главное поставить Цель, иметь много мотивации и как говорится: если очень захотеть- можно в космос полететь :-)
JohnnyKey
23.01.2022 02:43Я бы (возможно) согласился, если бы автор утверждения знал, что по правилам русского языка слово «вуз» принято писать строчными буквами… А то как-то похоже на «сопромат не знаю, но думаю, он не нужен»
OkunevPY
23.01.2022 01:26Мои пять копеек.
На счёт вузов и вышки в целом вопрос не однозначный, вот скажем мне сейчас как раз 40.
Писать серьёзный код я начал в 16 примерно, на C и C++. Баловался кодингом лет наверное с 10.
И так к чему я это, к тому что я уже так долго варюсь в этой каше что становление всех практик, паттернов и т.д. я прожил вместе с ними, и моё не профильное образование никогда мне не мешало, хотя иногда сказываеться не хватка математики, но слава богу учиться я не разучился.
Что мы видим сейчас, приходит молодняк в отрасль. Читает курсы, может даже заканчивает профильный ВУЗ и начинает бегать по собесам ничерта не понимая ни в паттернах ни в базовых принципах.
За последний год я столько вариантов на тему SOLID услышал, аж плохо становиться. Компания находиться в активном поиске кандидатов, и все они проходят через меня. Толи учат щас чему то не тому, толи информацию стали воспринимать по другому, но в целом уровень людей сейчас сильно ниже чем скажем лет 10 назад, а людей сильно больше.
Программист это призвание, я всегда так считал. Это и работа ради работы, и многодневные ковыряния чужого кода да и много того к чему многие не готовы и не ждут.
Я вот никогда не думал о "выгорании", а щас об этом кричать модно. Может проблема то не выгорании, а в том как стали относится к отрсали? Самоучитель по C#, вы серьёзно? Ассемблер за 60 дней, реально?
Я помню свой первый справочник по C#, примерно 900 страниц, его прочитать только это пару месяцев.
Уж про ассемблер, C и C++ я вообще молчу.
Зато все любят питон, так позвольте, питон появился не потому что он уж очень хорош, а потому что он стал нужен, то-есть не может эта масса новобранцев писать на чём то нормальном, нужен вариант Lite, не появился бы питон прявилось бы что-то другое, спрос рождает предложение.
Накипело короче))))
JohnnyKey
23.01.2022 02:43За что минусуете?! Все правильно сказал. Поддерживаю КАЖДУЮ строчку сказанного! Тоже 40 (уже 41), тоже пишу лет с 11-12. Восприятие происходящего - один в один (или точь в точь). Поколение ютуберов, онлайн курсеров, Word-программистов и прочих к разработке не имеющих отношения людей. Если ты несколько лет не поварился в собсвенном соку, ковыряя чужой код, изобретая велосипед, штудируя 1000-страничные мануалы, грош тебе цена как кодеру.
VladPavlushin
23.01.2022 02:10Ну что вы напали на парня? У него все в соответствии с эффектом Даннинга-Крюгера, собственно так, как и должн быть...
Давайте просто пожалаем ему не задерживаться в этом месте. ;-)
eshestakov
23.01.2022 02:10Сейчас она учится уже в Санкт-Питербурге
Зато по русскому было 78 из 100.
Зачем так с Петербургом? :(
JohnnyKey
23.01.2022 02:10+1Какой же подростково-инфантильный бред (да еще и с кучей орфографических и пунктуационных ошибок). Вспоминается анекдот про то, как японец за 3 дня русский язык выучил. Говорит: "Русский языка осень слозный. Столько слов, и все надо хранить вот здесь (стучит себя по лбу), в зопе."
Программист без фундаментальных знаний - это обезьяна с гранатой. А без гуманитарной основы - примитивное животное, с которым и поговорить-то не о чем. Программирование (серьезное) - это не сайтики-визитки делать и сортировку методом пузырька. Короче, как показывает сегодняшняя практика, многим лучше жевать, чем говорить...
Pavel_Dorozhkin
23.01.2022 02:10Никого не слушай, ты красавчик!!! В свое время я сделал так же, 2.5 года самообучения и мне сделали сразу два оффера, пришлось выбирать)) Но с таким усердием будь готов к выгораниям, обязательно делай перерывы.
MegaMANGO
23.01.2022 02:10+1Я согласен, что нужно just do it и т д, но блина, это не серьёзно. Я – не лучше, я сам не очень много программирую сейчас,.я сам тупой школьник. Но я и не публикую мотивационные статьи на Хабре о том, насколько я охуенный, и насколько система никакая. Почему мне хватает мозгов понять, что я ничего не знаю, а человеку старше меня в полтора раза нет?
Ну ладно
kotbaun
Браво. Заспидрань теорию цепей, электродинамику или хоть цифровую схемотехнику