Путешествие без диплома.

Мое детство

Первое знакомство с компьютером, которое я помню, когда мой брат играл в IGI.

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

Кодирование в первый раз

Впервые я занялся кодированием (не настоящими языками программирования) примерно в 6-м или 7-м классе школы. Нас учили пользоваться программой MS Logo Turtle. Вы только что дали простые команды для перемещения и создания линий.

Встреча с линуксом

В 9-м или 10-м классе один из моих одноклассников рассказал мне о Kali Linux и о том, как его можно использовать для взлома. В то время вышла Watch Dogs, и мне не терпелось попробовать эту штуку.

Я был сценаристом, просто копировал и вставлял команды из Интернета и чувствовал, что я Эйден Пирс(главный герой игры).

Однажды из любопытства я подумал, что означает Kali Linux. На нашем языке Kali означает что-то черное, но мне было интересно, что означает часть Linux.

Затем я погуглил и понял, что есть что-то под названием Ubuntu и что это дистрибутив Linux, такой же, как Kali Linux. Затем у меня было воспоминание о том, когда я был в 8-м классе:

Наш учитель информатики спросил нас, какую операционную систему мы используем, и там была одна девушка, которая сказала, что она использовала что-то под названием Ubuntu, которое она скачала из Интернета.

Когда я услышал, как она это сказала, я поднял кулак и сказал, что Windows — это лучшее.

на тот момент: Девушка: 1, я: 0

Я попробовал Ubuntu и сразу же установил ее в качестве основной операционной системы. С того дня я никогда не использовал Windows на своем ноутбуке.

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

Затем я использовал Linux без какого-либо кодирования.

Когда я действительно начал учиться программировать

Во время выпускных экзаменов в 11-м классе я решил попробовать себя в программировании.

Я решил начать с Python, так как это был хороший язык для начала. Я скачал кучу PDF-файлов по изучению Python, но никогда их не читал.

Я начал смотреть учебные пособия на YouTube, и именно там я начал писать свои первые строки кода Python.

Как только я понял основные концепции Python, я начал думать о небольшом проекте, чтобы получить представление о структурах данных (списки, словари и т. д.).

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

Я построил его, он работал так, как я хотел, чтобы он работал. Я получил хорошее чувство выполненного долга делая это.

Мой первый настоящий проект

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

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

Вскоре я начал работать над этим проектом. Проект находится на GitHub. Это не очень полезно, но близко и дорого мне, потому что это проект, который, я считаю, научил меня большей части того, что я знаю о Python (и разработке программного обеспечения).

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

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

Со временем данные, которые мне нужно было хранить, стали сложными, и я начал думать, не попробовать ли мне базы данных. Я так и сделал и остановился на SQLite, так как в Python была встроенная библиотека.

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

В то время я думал, что это мой шедевр и чувствовал, что он настолько хорошо сделан.

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

Моя первая стажировка

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

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

Поскольку это корпоративная компания, все это было JAVA.

Я создал простое веб-приложение на Java, которое мало что делало. Я сосредоточился только на бэкенде, так как меня не особо интересовал фронтенд.

Я показал это менеджеру, и он сказал

это хорошо, но пусть это выглядит профессионально.

так я придумал этот шедевр

к сожалению, тот, что ниже, не сделал это (поэтому он плачет)

Так что это было. Хотя я все это сделал, я совершенно не хотел писать код на Java. Проект состоял из спагетти-кода, и я действительно начал ненавидеть Java из-за отсутствия у меня опыта работы с ним, что звучит странно, поскольку я потратил 1–2 месяца на его создание.

После того, как я построил это, я начал работать над другими вещами. Я снова сосредоточился на Python.

Мой второй настоящий проект

Я начал чувствовать себя комфортно с базами данных, поэтому я посмотрел кое-что и наткнулся на временные таблицы/таблицы истории.

Я немедленно начал искать, поддерживает ли SQLite их, и понял (насколько мне известно), что нет. Поэтому я решил его развить.

Я тогда разработал этот проект. Я также изучил RegEx при разработке этого проекта, потому что решил использовать его в нем.

Мне было весело разрабатывать его, потому что это было нечто совершенно отличное от старого проекта Tuition Manager, к которому я привык.

Моя вторая стажировка

Это было в «Сотовом операторе», дочернем предприятии компании, в которой я проходил свою первую стажировку. Я смог попасть на интервью благодаря рекомендации моего отца.

Я назову это своей первой настоящей стажировкой, потому что именно здесь я работал над чем-то, что было настоящим проектом в компании.

Моим собеседником был менеджер проекта. Все прошло хорошо, и меня выбрали стажером. Я также написал блог о стажировке.

Мне сказали исследовать GSMA Mobile Connect. Опять же, Я написал об этом блог.

Мне пришлось работать с Java. Первые 2 дня разработки были не так уж и плохи. Я разбирался в Java.

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

Затем я перешел в режим полной разработки и каждый день выдавал кучу коммитов. Настолько, что однажды я так увлекся этим, что не заметил, как прошел целый день. Это было странно, обычно я засыпал около 9 вечера, но в тот день мне казалось, что прошло всего 2 или 3 часа, когда на самом деле прошел целый день. В тот день я был в теме.

Затем я закончил проект. Ну, не совсем закончили, но построили базу, которую можно было бы использовать позже.

Я бы сказал, что благодаря работе над проектом я очень освоился в Java всего за один месяц. У меня уже был опыт разработки программного обеспечения, так что смена языков в любом случае не занимает много времени.

Так что это был этап моей жизни, когда я начал учиться программировать до стажировки. Надеюсь, вам понравилось (или вы вдохновились этим :D).