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

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

рандомная картинка из гугла #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/


Интересные статьи

Интересные статьи

Неразлучная троица «требования/условия/обязанности» успела набить всем оскомину. Звучит совсем не как описание вакансии мечты. Кажется, самое главное — найти то место, кото...
Привет, Хабр! Давно я не писал никаких статей и, вот думаю, пришло время написать о там, как мне пригодились знания по data science, полученные по ходу обучения небезывестной специализ...
Привет, Хабр! Меня зовут Паша Доронин и бóльшую часть жизни я работаю в индустрии переводов и локализации. Я долгое время проработал в компании Smartcat, где прошел путь от аналит...
Целью данного проекта было вывести цветное изображение на чёрно-белый монитор путём наложения на экран распечатанного на ацетатной плёнке (на струйном принтере) фильтра Байера. Цветно...
Хорошо, когда у компании есть ресурсы для того, чтобы продвигать инновационные решения на рынке, широко рассказывать о своих успехах в реализации инновационных ИТ-проектов. Но на практике далеко...