Рубрики
Без рубрики

Как я построил проект автоматизации IT как разработчик программного обеспечения самоучасти

Автор оригинала: Kushal Bhatia.

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

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

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

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

Видите ли, я окончил Университет Калифорнии, Лос-Анджелес в 2012 году с бакалаем искусств в политической науке, уверен, что я буду продолжать юридическую школу и стать адвокатом.

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

Но ни одна из этих рабочих мест даже удаленно обратилась к мне, и я знал, что мне нужно изменение добра.

Дорожная карта становится разработчиком программного обеспечения

Я начал свое путешествие по разработке программного обеспечения с помощью двух веб-сайтов: FreeCodecamp и Один проект Отказ Через них я выучил HTML, CSS, Git, Bash и Github.

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

Поскольку HTML и CSS – это языки разметки и стилей, мне пришлось изучить истинный язык программирования. После тщательного исследования онлайн (в основном Reddit) я решил на Java или Python. Я выбрал последний.

Я начал читать две вступительные книги на Python, который действительно заставил меня взволнован этим прекрасным языком. Они были Автоматизировать скучные вещи с помощью Python по Al Sweigart и Курс пахота Python по Эрик Маттес Отказ

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

Я знал основы в этот момент, но я хотел узнать, как построить с этим новым знанием.

Поэтому я зарегистрировался в пяти специализации курса на Coursera под названием Python для всех специализация Прерывание Большого Чарльза, ака Доктор Чак Отказ Это было именно то, что мне нужно, чтобы преодолеть пробел, между новичком и промежуточным питоном.

Эта специализация взяла у меня почти два месяца, чтобы завершить. Я изучал SQL, интернет-протоколы JSON, XML и различные библиотеки Python, в том числе Красивый суп и Урлыб (используется для веб-соскоба).

Доктор Чак – это абсолютная легенда в мире технологий, и не удивительно, что его курсы являются одними из наиболее зачисленных на Курсера.

На данный момент у меня было достаточно знаний в HTML, CSS, SQL и Python, чтобы уверенно сказать, что я был промежуточным разработчиком программного обеспечения.

Как (и почему) я построил свой проект ATT Automation

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

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

Сертируя мой мозг, я вернулся к моей предыдущей работе в качестве менеджера по развитию бизнеса. Там я был поставлен на поставленные трудолюбивые и мирские работы по поиску дубликатовка на нашем Salesforce CRM (было более миллиона записей!).

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

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

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

Я решил прыгнуть в код VS, создать файл .py и назовите его дублировать_files. Наконец, время было время носить мою шляпу дизайнера программного обеспечения и построить свой шедевр.

Создание утилиты дубликатов файлов

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

  • Я знал, что хочу получить доступ к файлам на моем компьютере, поэтому я добавил библиотеку ОС.
  • Я знал, что хочу найти уникальный хэш каждого файла, чтобы дифференцировать их, поэтому я выбрал библиотеку Hashlib.
  • Я знал, что хотел, чтобы пользователи предоставляли свои собственные аргументы при запуске этой утилиты, поэтому я выбрал библиотеку argparse.
  • И, конечно, я хотел провести время от общего времени обработки утилиты, поэтому я добавил время библиотеки времени.

Еще одна сложная часть о проектировании вашего проекта определяет, какие структуры данных работают лучше всего. После некоторого проб и ошибки я выбрал два словаря и один список (который бы применил пользовательских каталогов на Windows, MacOS и Linux).

Мне было чрезвычайно важно для меня, что это на самом деле охватывает «Простая, но мощная программа, которая ищет уникальные дубликаты хэшированных файлов на вашем компьютере Windows, Mac0s или Linux» Отказ

Что я почему я хотел использовать основные строительные блоки Python, пришлось предложить – петли, условные и Функции Отказ Я не использовал никакого сложного объектно-ориентированного программирования, который вы можете увидеть в других проектах. Эта программа просто имеет три основных функция, вот и все!

Я завернул свой дизайн, добавив файл readme, а также включенный файл .gitignore каждый раз, когда я выталкивал мои изменения в github. Я тщательно проверил эту программу с помощью отладчика Code VS (редактирование файла Launch.json), а также на нескольких компьютерах, которые имели все основные операционные системы.

На самом деле эта программа была запущена на машине Windows, где данный путь имел файл 6 ГБ внутри. Программа, казалось, временно останавливалась, когда она достигла этого файла, затем продолжила и закончена в размывании быстрого времени.

В этом примере путь имел 100 000 файлов, и закончил через пять минут. Месяцев назад я был поражен тем, как я написал в базовом HTML и CSS, был отображен на сайте.

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

Заключение

Это было невероятно сложно, но вознаграждение за 8 месяцев (и подсчет) обучения, как стать разработчиком программного обеспечения.

Некоторое время я думал о посещении Bootcamp. Я даже считал программу Учителя в информатике.

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

Я хочу дать огромный крик для Куинси Ларсон Для мотивирования меня начать свое путешествие на FreeCodeCamp. Я также хочу сказать спасибо «Аль-Швейцу», Эрику Маттес, Чарльзское воздействие и Гвидо Ван Россом, который либо напрямую или косвенно способствовал мне пособию на протяжении всего моего путешествия.

Я надеюсь, что этот пост выполнит две вещи:

  1. Что я мотивирую других там, которые либо не уверены в том, что они хотят делать с точки зрения карьеры, или просто напуганы, выйти и начать кодировать!
  2. То, что работодатель возьмет на себя шанс на меня, чтобы я мог достичь одной из моих самых больших мечтаний о том, чтобы стать разработчиком программного обеспечения (хотя и самоучками).

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

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

Вы можете найти меня на Twitter , LinkedIn и Github Отказ