Привет, ребята, я начал программировать с 13 лет, просто чтобы создать школьный форум, чтобы делиться домашними заданиями, чтобы мне не приходилось делать свои собственные. Затем я построил частный сервер Ragnarok Online, чтобы мы с друзьями могли вместе наслаждаться игрой, а также для себя, чтобы стать гейм-мастером, богом на моем частном сервере. Так или иначе, он набрал обороты и в конечном итоге превратился в локальный частный сервер, размещенный на моем собственном компьютере в моей собственной спальне, и я начал зарабатывать свои первые копейки. С тех пор программирование для меня было обычным хобби, к которому нельзя было относиться серьезно.

Затем четыре или пять лет назад (сейчас мне 27) я бросил университет и начал серьезно заниматься программированием. Через какое-то время появился Pokemon Go, и во время хакатона я построил для него региональный картографический радар. Через месяц радар Pokemon Go достиг восьми миллионов просмотров страниц в месяц. Я прекратил это через три месяца, так как расходы на облачные вычисления сжигали мой кошелек дотла. В любом случае, я многому научился и приобрел много опыта.

В следующем месяце я получил предложение о работе в качестве бэкенд-разработчика и занялся им. Самый крупный проект, который я делал на этой работе, заключался в создании API фондового рынка в реальном времени с нуля под моим руководством. Буквально с нуля это означало брать огромное количество необработанных данных в реальном времени (сжатых до битов) непосредственно с фондовых рынков и обрабатывать их в наборе HTTP API, доступных для широкой публики. Удивительно, но этот конкретный вид вещей был первым в своем роде в моей стране, поэтому мне пришлось проектировать и проектировать его с нуля, через слои абстракции, делая его максимально быстрым, то есть в режиме реального времени, а также развернутым система должна быть распределена. Спустя более двух лет я сделал это! Обновления цен были быстрее, чем любое брокерское программное обеспечение, с которым мы тестировали в моей стране. Но дело в том, что большую часть времени я на самом деле не понимал и не понимал, что делаю. Например, чтобы решить конкретную инженерную проблему, я пробовал каждый метод, который только мог придумать, и некоторые результаты из Google, а затем после проб и ошибок реализовывал лучший метод. Если бы у меня уже была прочная основа в области компьютерных наук, держу пари, большинство проблем можно было бы решить легко, как не задумываясь. К счастью, я смог сдать и соответствовать критериям, поэтому от руководства не было жалоб, а только похвалы. Хуже всего было то, что я был руководителем проекта, и чтобы соответствовать зарплате, мне приходилось делать вид, что я знаю все, что я мог знать, чтобы построить эту систему, и мне не о чем было беспокоиться, что было довольно очевидно. синдром самозванца.

Три месяца назад я ушла с работы. С тех пор я получил несколько предложений о работе на высшем уровне от некоторых рекрутеров. Месяц назад я наткнулся на сайт teachyourselfcs.com. С первого взгляда на него я понял, что он идеально подходит мне как программисту-самоучке. Рекомендации по книгам довольно классические и потрясающие! Сейчас я работаю над первой книгой — SICP. Эта книга действительно сводит с ума. Он представил так много идей программирования, которые я хотел бы знать много лет назад. Думаю, я мог бы дать себе год, чтобы поработать над всеми девятью его разделами. А пока, боже.