Motoharu
19 уровень

С нуля

Статья из группы Архив info.javarush
участников
Не смотря на то, что я хотел написать о трудоустройстве после прохождения испытательного срока, руки дошли только сейчас, спустя 11 месяцев после того, как я начал работать. Предыстория у меня, как мне кажется, выбивается из круга предысторий других счастливчиков, нашедших с помощью JR работу. Я не занимался программированием в 6 лет, я не знал, что такое паскаль до 11 класса, а когда узнал, то на этом мое с ним знакомство и закончилось. До 22 лет я не написал ни единого хелоу ворлда ни на одном языке вообще. Я даже не знал, как это все работает. После школы я поступил в университет на одну из гуманитарных специальностей, на которой мирно и без приключений отучился все 5 лет. Вышедши из этого теплого гнездышка я влетел лицом в жестокую реальность и получил по зубам осознанием того, что я никому не сдался и за 8 т.р. в месяц. Из встроенных "фич" у меня было только знание английского на хорошем уровне плюс приобретенная фича - полученная специальность. Тут то мне и вспомнились мои слова классе в 10 о том, что я стану программистом, сказанные непонятно зачем и непонятно на какой основе, так как повторюсь, к программированию я даже не приступал ни разу. Однако, тяга к технике и компьютерам не покидала меня всю мою сознательную жизнь в связи с чем было принято волевое решение в корне изменить свою жизнь, посему я сел учить... HTML. На codeacademy проводил я тогда по 12 часов в день пуская слезы счастья по поводу своего приобретенного могущества. Я ведь мог теперь создать текстовый документ, написать там 5 строчек и запустить всю эту адскую машину в браузере, и она отобразит то, что я захочу! Просто офигительно нереально. Мне настолько это все понравилось, что меня уже было не остановить. После освоения курса HTML и CSS на код академи я принялся за VB. Нашел какой-то богом забытый сайт на краю интернет вселенной и сел за изучение. Из овер 200 уроков я прошел от силы 40, написал стандартную игру в угадайку чисел, поплакался опять над уже EXEшником, моим собственным екзешником, Карл, который я мог запустить, и он работал! Невероятно. Однако здесь мне почудилось, что все это детские игры и успех где-то еще совсем очень ужасно далеко. Вы, я позволю себе предположить, читая сейчас все это удивляетесь, как я мог дожить до работы с такими то познаниями. Я тоже, если честно, в шоке. Так вот, поняв, что это все не то, я задумался над тем, а какой собственно язык я хочу учить. Погуглил "какой язык учить" и получил очевидный ответ, что выбор зависит от того, что вы хотите писать на этом языке. Очевидным этот ответ для меня является сейчас, но тогда для меня было 2 языка:HTML и "супер великий язык для НОРМАЛЬНЫХ программ". Так как для меня была интересна разработка под мобильные платформы, я, загуглив, что же надо знать для разработки под андроид познакомился с джавой. На тот момент мне в ВК часто встречалась реклама джава раша, однако мне это казалось очередными вебинар стайл курсами и я не воспринимал это всерьез, даже не удосужился прочитать поподробнее про проект. Поэтому я, избрав путь страданий и демотивации принялся штудировать "онлайн учебники для новичков по джава", "джава за 20 минут" и т.д. Однако, встречая на каждом сайте вступление, начинающееся со слов "Вы хотите изучать джава, это круто, давайте напишем "привет мир". Повторяйте за мной: public static void main(String[] args) throws IOExce...." Стоп, ЧТО? Что это такое? Какой паблик? Какой войд? Это дота что ли? Учебники пошли лесом и я вспомнил про джава раш. Дальше я не помню, что было, помню только 10 уровень, скидку, подписку... 14 уровень, 15... Тут я бросил джава раш и принялся за Андроид. По началу это был сущий ад, так как на джаве у меня ничего более-менее серьезного написано не было, да и вообще ничего, кроме задач на джава раше. Андроид же встретил меня новой жестью: какие-то xml, какие то onCreate(), а где же паблик мейн? Однако, уже через пару недель я решил вспомнить свою вижуал бейсик "молодость" 2 месячной давности и написать для андроида угадывалку чисел. Это был мой первый прорыв, первое приложение, написанное самостоятельно, первое что-то, что работало, да еще и прямо на моем телефоне! Эти ощущения не передать словами, думаю, вы меня понимаете. С момента написания этого ужаса до момента поступления на работу прошло 4 месяца, скажу я вам наперед. Вы, наверное, опять задались вопросом: "Как? Ну как, это же вообще не знания, что с ними можно?". Отвечу: ничего. После этого приложения я начал проходить различные курсы типа стартандроид и прочих, как вдруг мне поступило предложение от моей девушки написать приложение "список покупок". На тот момент это было для меня что-то нереальное, однако, я решил попробовать. Здесь я впервые познакомился с SQLite, с activity lifecycle, с методами создания различных стандартных элементов ЮИ, таких, как диалоги, тосты и т.д. Приложение дописать не удалось, так как слишком мало было скила, мозг был выеден до последней крошки беспощадным SQLiteом, однако мотивация не покинула меня. Я продолжил изучение на все тех же курсах и тут мне поступило уже более интересное предложение от одного из родственников. Нужно было написать андроид приложение для его бизнеса, который он собирался открыть. Приложение должно было иметь функционал регистрации, формирования заказа, отправка заказа. Так как подразумевался сайт, приложение должно было быть просто оболочкой, его можно было бы сделать в виде мобильной версии сайта, однако я принялся за приложение. Конечно, это было что-то нереальное. Связь с сайтом,а точнее с его сервером, более серьезная структура БД по сравнению со "списком покупок", приятный интерфейс. Что ж, я забыл мир вокруг и как себя зовут и полностью погрузился в изучение всех деталей, необходимых для создания этого приложения. На этот раз у меня получилось уже написать более менее адекватный механизм работы с бд, ЮИ работал как надо, дизайн был минималистичным и приятным. Так же здесь я познакомился с технологиями парсинга XML, JSON, смог уже взять RSS feed какого-нибудь сайта, распарсить и расложить по полочкам ЮИ приложения. В итоге, бизнес так и не началася, однако приложение мне очень пригодилось на собеседовании, на которое меня пригласили, увидев мое резюме на хедхантер. На самом деле здесь мне повезло, так как компания искала супер нуба, способного выполнять минимальные задачи. На собедесовании я не очень важно отвечал на вопросы, однако показал свое приложение и меня приняли. Радости не было предела. Однако, она тут же улетучилась, когда мне показали в первый рабочий день проект, над которым предстоит работать. 50 папок, в каждой еще 10 папок и в каждой по 50 классов, предназначение которых для меня полная энигма. Мне было сказано "посмотреть, подебажить че тут да как", что ввергло меня в пучины отчаяния, так как идей по поводу происходящего внутрях этого чудовища у меня было 0. Однако здесь, как и в случае в приложением списка покупок, как в случае клиентского приложения для бизнеса, меня просто протащили через огонь и воду разрывая мозг обилием информации. По началу я занимался несложными вещами вроде переноса функционала двух кнопок в одну и так далее, однако это помогло мне познакомится с проектом поближе и перестать его боятся. Что же сейчас? Сейчас, благодаря этой воистину спартанской методике "брать проект, на 10 голов выше твоего скила" я не боюсь кода, будь там 5000 строк в классе. Зарплата у меня низкая, но с учетом того, с каким уровнем навыка я пришел в эту компанию мне не о чем сожалеть. Единственное, что я еще бы хотел добавить в конце своей истории: настоящий опыт приходит только в работе с настоящими проектами. Можно быть гуру алгоритмов, решить все задачи в интернете, самые хитрые и не очень, но понять, что да как я смог только в реальных проектах, будь то проект на работе или свой собственный. Сейчас, помимо работы я пишу свою игру для Андроид устройств, в которую можно играть по вай-фай с людьми, сидящими рядом с вами. И опять же, этот проект позволил мне познакомиться с сокетами, потоками и прочими радостями. Прошу прощения за много букоф и желаю всем, что учится здесь с нами и думает, что все тлен - поверьте в себя, главное - начать!
Комментарии (17)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
mtechno
Уровень 25
12 января 2017, 19:02
Автор, сориентируй меня, на какую зп (среднюю) я могу рассчитывать как новичок и как поработав 1 год, если пойду аналогичным путем, как и ты?
Интересно как раз для твоего города.
Спасибо.
Motoharu
Уровень 19
12 января 2017, 22:43
сориентировать сложно, так как все зависит только от знаний. и их количество полученное за 1 год очень отличается у людей обычно. ну и зависит конечно от компании, от технологий и так далее, тут очень сложно сказать. но зп точно не разочарует, если вы конечно до этого не работали менеджером в банке
mtechno
Уровень 25
13 января 2017, 00:14
Да мне бы любую цифру, чтобы себя утешить. По знаниям, опираясь на ваш уровень если.
Motoharu
Уровень 19
13 января 2017, 11:31
имея год опыта можно расчитывать на зп от 30 я думаю
mtechno
Уровень 25
14 января 2017, 17:12
Спасибо за честную цифру.
WhiteSteel
Уровень 21
18 октября 2015, 23:04
друг! рад за тебя! сам только вхожу в это приключение.
мне вот интересно, каким образом ты собираешь сделать этот функционал в игре. «играть с другими через вайфай»? спасиб!
Motoharu
Уровень 19
11 декабря 2015, 12:10
Я бы выложил ссылку на гугл плей, но тут нельзя вроде как. Очень просто реализуется это все.
Задача 1: сообщить другим устройствам о том, что ты готов шарить с ними информацию о порте и адресе подключения, для этого используем network service discovery (официальный API от Гугл).
Задача 2: Решить, каким образом будет выглядеть «транспортная сеть», то есть как сообщения будут ходить по устройствам.
Я сделал так: «сервак» принимает подключающиеся устройства и создает для обработки сообщений от каждого отдельный поток. Если сообщение нужно ретранслировать на другие устройства (например, имя одного игрока нужно сообщить остальным игрокам), то просто проходимся циклом по сохраненным объектам ObjectOutputStream и пишем в каждый наше сообщение. Таким образом, его получат все.
Если будут еще вопросы — пишите, я с радостью отвечу, еще и приложение покажу
hubert
Уровень 41
11 декабря 2015, 12:11
Выкладывай — разрешаем)
Motoharu
Уровень 19
11 декабря 2015, 12:13
darkstone
Уровень 27
11 октября 2015, 21:42
Молодчина! Дерзай, главное идея и любимое дело, а деньги к профи всегда придут :)))
Motoharu
Уровень 19
11 декабря 2015, 12:11
я тоже так думаю)
trinit
Уровень 41
10 октября 2015, 22:18
Молодец, удачи тебе!)
История очень похожая на мою, тоже решился недавно написать.
Тоже гуманитарий, тоже учил VB, тоже думал на андроид писать, но получилось немного по-другому)
Motoharu
Уровень 19
11 декабря 2015, 12:11
спасибо, и тебе удачи! она нам понадобится.
Lenchik854
Уровень 0
7 октября 2015, 23:36
Спасибо за статью. Вы молодец! Удачи в работе )))
Motoharu
Уровень 19
11 декабря 2015, 12:10
Большое спасибо!
Gradus
Уровень 27
2 октября 2015, 08:25
Спасибо тебе, добрый человек, за историю! Некоторые ситуации прям идентичны моим)) Какой город, если не секрет?
Удачи тебе!
Motoharu
Уровень 19
11 декабря 2015, 12:10
Нижний Новгород. Всегда пожалуйста=)