3 курса университета — 21 день самообучения. Личный опыт

от автора

рандомная картинка из гугла #1
рандомная картинка из гугла #1

Да-да, вы все правильно прочитали. Сегодня небольшая мотивационная история

Но, сперва краткая биография. Поехали!

using Writer = System.Console; Writer.WriteLine("Привет, меня зовут Саша, я диктор канала...");

Шикарная подготовка

В 2018-м году, мне пришлось закончить школу, и начать думать об университете. С самого детства у меня была страсть к компьютерным играм, и очень хотелось из «делать». Поэтому выбрав направление программиста, я начал упорно готовиться к ЕГЭ по информатике и математике.

2018. Фото в цвете: "daniiltriter готовится к ЕГЭ"
2018. Фото в цвете: «daniiltriter готовится к ЕГЭ»

Подготовка прошла настолько хорошо, что по математике я набрал ровно проходной балл, по информатике на один выше проходного. Зато по русскому было 78 из 100.

Поступление в университет СахГУ

Сам я родом с Сахалина. Сахалин настолько странное место, что обучение в университете стоит как в Москве (900к), а берут туда на бесплатное обчуние по нарправлению «Прикладная информатика и математика» с моими результатами ЕГЭ без всяких вступительных тестов.

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

Времена застоя

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

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

рандомная картинка из гугла #2
рандомная картинка из гугла #2

Прозрение

В конце 2021 года у меня не стало нескольких знакомых… Мне вроде как 21, но я задумался. Ведь у меня есть мечты, ведь я очень хочу открыть собственную компанию, но ничего для этого не делаю.

Я сказал себе — надо действовать! Но у меня нет никаких знаний, нет знакомых, которые смогли бы помочь мне, нет денег на репетиторов, и нет, а самое главное, я зациклился на той мысли, что нет еще и большого количества времени.

Хочешь научиться? Научи сперва кого-нибудь!

Было принято решени — пора погрузиться в ускоренное обучение программированию. Первым шагом я набрал в гугле «Самоучитель по C#», и наткнулся на один интересный сайт по программированию, который и начал упорядочено изучать

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

Я решил заняться репетиторством. Репетиторством с нуля, чтобы самому успевать разбирать темы, которые буду преподавать на занятии, и это имело успех. На второй неделе после публикации объявления я нашел первого ученика.

Не понимаю значение слова «Выходной»

Наступал новый год, все готовились, у всех была своя новогодняя движуха. Но мне было не до праздника, как никак в C# нет такого ключевого слова или же библиотеки, а потому я изучал то, что там было.

Знаете что я делал в новый год? Сидел в компании людей и не понимал, почему я трачу на это время, а не сижу и не самообразуюсь. Я поделился этим со своей девушкой, но она не поняла меня. С 1-го января я возобновил об

В течении всех 10 дней праздника я сидел и изучал программирование. Мозг кипел, сна становилось все меньше и значение слова «Выходной» стало мне непонятным. Дошло до того, что я начал интересоваться языком ассемблера и тем, как работает каждая часть компьютера, чтобы понимать, что я пишу в коде программы. Сейчас я хотя бы имею представление о том, как работает компилятор.

Общение со студентами

Совсем недавно я списался с бывшей однокурсницей. Сейчас она учится уже в Санкт-Питербурге, направление все то же «Прикладная математика и информатика». Разговор зашел о программировании, и я решил уточнить у нее, какие темы последние они затрагивали и вообще, чему их научили за 3 курса.

Каким же было мое удивление, когда я узнал, что она находится примерно на том же уровне, что и я, и одни из последних тем были принципы SOLID и паттерны проектирования.

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

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

Наши дни

Сегодня 18.01.2022 и пару часов назад я написал небольшой архиватор. Суть в том, что ты дропаешь в окно программы папку с файлами, после чего архиватор сохраняет его в у себя в папке tpm. При нажатии кнопки «Архивация» создается .zip-архив по первоначальному пути файла. Имя архива = имени директории.

За 5 часа я смог с нуля, без знаний работы с файлами, сделать это и понять как я это сделал:

Интерфейс Архиватора Simple.Arc
Интерфейс Архиватора Simple.Arc

Код конечно кривой, однако, я понимаю каждую его строчку (вроде)

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 и за чтением документации. Планирую уже начинать осуществлять свою мечту и писать свое первое полноценное десктопное приложение для использования другими людьми. Но, скорее всего это приложение нужно будет лишь мне :).

мой первый браузер Simple.Browser
мой первый браузер Simple.Browser

Какие выводы?

Хочу сгруппировать и подвести итоги всего вышесказанного. Да советы могут показаться простейшими, однако мне они помогли

  1. Не трать время зря. Если ты хочешь быстро изучить программирование — время твой главный и враг и союзник. Тут речь не о правильном тайм менеджменте, а об уделении всего «свободного» времени.

  2. Погружайся с головой. Лично я представляю, что я начинающий Пол Ален, который в будущем напишет эмулятор альтаира 8800 пользуясь лишь одним руководством по программированию.

  3. Не бойся и терпи. Ещё месяц назад от самой мысли о том, что я буду пытаться понимать и изучать что-то сложное у меня начинался суд по всему телу, а голова просто взрывалась. Мозг за три года совсем разленился.

  4. Мечтай. Не просто представляй что-то невообразимое, а именно мечтай и иди к этому. Изучил что такое рекурсия? Почувствуй, что ты действительно молодец, и уже знаешь то, что большинство встречных прохожих не знают.

  5. Забудь про «сходить выпить пива, пойти в клубешник, съездить к подруге». Если ты хочешь стать программистом — ты работаешь всегда, и не всегда за деньги. Твоя работа — постоянное самосовершенствование.

Конечно, слушать это все от человека, который изучает все это меньше месяца — сюр. Но давайте начнем с того, что каждый день я занимался этим от 12 часов и более. И вот, несложными вычислениями над операндами 12 и 21 возвращается около 250 часов занятий программированием, а это уже серьезно.


ссылка на оригинал статьи https://habr.com/ru/post/647017/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *