Очень давно, в лет так 10 я четко решил, что буду или врачом или программистом. После того как в школе начали изучать химию, я понял, что врачом мне не быть, спасибо химии за это. Тогда я начал интересоваться языками программирования, сначала начал с C++, потом C#, но тогда моя "программа" состояла из копипаста кода из сайтов, и я очень радовался, когда на экране появлялось окно "моей" программы. Года 2-3 назад, когда у меня появился мой первый смартфон на Android, у меня появилось очень большое желание стать Android программистом. Тогда у меня знаний в программировании не было вообще, я тогда учился в школе, и все надеялся, что колледж или ВУЗ дадут мне необходимые знания. Но все же решил попробовать что то сделать по урокам на разнообразных сайтах и книгам, Android за 24 часа и т.д.. Но ничего хорошего из этого не вышло, для меня тогда простое переключение с одного активити(экрана) на другое казалось какой то безумной магией. Тогда я прочитал, что для начала нужно знать хоть не много Java, и я начал читать книги. Но они мне казались не интересными, и очень быстро на них забивал, они были очень скучными. Но все же иногда заставлял себя прочитать пару десятков страниц книги, так же читал интересные посты на habrahabr и желание стать программистом у меня не утихало. Смотрел видео с другого ресурса, там были курсы для получения аттестата Java Junior от Oracle. Просмотрел все видео, они были интересными, и в конце курса у автора курса появилась идея, чтобы его «ученики» сделали один большой проект вместе. Решили, что это будет игра в крестики нолики на Android. Моя роль в участии в этом проекте была не большой, но так же вынес очень полезный опыт, например научился работать с git. В октябре я случайно наткнулся на этот замечательный ресурс, и начал свое обучение. Первые уровни казались очень легкими, т.к. знал это все из книг, но дальше уроки стали сложнее и очень интересными. На скучных парах в колледже я сидел и думал, как решить ту или иную задачу. Еще давно я понял, что нужно получать опыт в программировании, а колледж мне не даст вообще ничего в этом плане, и когда я достиг 10 lvl, я уже начал мониторить сайты hh.ru, rabota.ru и т.д.. Когда достиг 15 lvl написал свое «резюме» и начал откликаться на вакансии. На первое собеседование пригласили достаточно быстро, там сидел «чувак» который мне сразу не понравился и начал спрашивать меня по java: что такое класс, объект, экземпляр класса, коллекции, много поточность, ООП и т.д. , все не помню, собеседование шло 1.5 часа. Я отвечал не очень хорошо, но на работу меня готовы были взять, но я отказался. Нужно было сделать одному за 3 месяца крупный проект с нуля, у которого еще ТЗ нету, я решил, что лучше поищу еще. Потом было еще одно собеседование, там вопросы были сложные, отвечал я плохо, мне не перезвонили. Далее на мой отклик ответила одна компания, после небольшой переписки, они дали мне тестовое задание, звучало оно так :
"Сделать клиент-сервер, который позволяет получать большие файлы с сервера.
Клиент: выбираем место и файл на сервере.
Сервер: список файлов.
Действие: передаем большой файл по кусочкам, предусмотреть потерю соединения, возможность докачки.
Язык: Java"
Это тестовое задание вызвало у меня панику, т.к. я вообще не знал как это сделать, даже с чего начать. Начал усердно гуглить, искать того кто мог бы помочь (тут отдельное спасибо hubert за то что не помог, я тогда многому научился). Через пару дней я сделал кое какое приложение, он передавал файл, но не подходил ни под один пункт в ТЗ. Я отправил, мне ответили отказом. Тогда я начал усовершенствовать свое приложение, и еще раза 2 отправил, но так же 2 раза ответили, что такое приложение не подходит. В итоге все сделал как надо, работало хорошо, но тогда они даже не стали смотреть мое приложение, сказали повысить свои навыки и написать через пол года-год. При написании этого приложения я получил очень большой опыт, кто хочет посмотреть вот ссылка https://github.com/Vlad161/FileSender , код не идеальный, но пофиг, главное работает :)
После этого в другой компании на вакансию Android разработчика дали тестовое задание, сделать приложение – библиотека книг, данные берутся с сайта в формате JSON. Приложение я так и не доделал, то так же получил опыт работы с JSON.
Как то мне позвонили в 11 часов утра, я был на учебе, пригласили на собеседование в 3 часа дня, подготовиться я не успел. Но на этом собеседовании, меня вообще не спрашивали про Java, Android и т.д., они просили показать мои проекты и рассказать, что я умею. Тут мне пригодилось все, и та игра крестики нолики, работа с git, работа с JSON и т.д.. Собеседование длилось примерно час, мне сказали перезвонят. И вот мне позвонили, и сказали, чтобы я приходил к ним работать. Сколько радости тогда было :). Их даже не смутило, что мне всего 17 лет. И вот я уже неделю тружусь в этой компании, конечно тяжело, но скорее тяжела не сама работа, а тяжело совмещать работа+учеба+тренировки, уходить из дома в 7 утра и приходить в 10 , но кто сказал, что будет легко? На пенсии будем отдыхать :) В этой компании нету тех, кто хорошо знает java и android, которые могли бы мне помочь чем то, но гуглю, ищу разные пути реализации, и потихоньку получается, хотя, что то все равно остается не совсем понятным.
Мне очень повезло с компанией, мало того, что они взяли меня хотя мне всего 17 лет, я без опыта работы, у меня гибкий график, в компании нет менеджера ( который требовал бы от меня ежедневный отчет, и стоял «над душой», не разрешал бы даже пойти кофейку себе заварить (из рассказов знакомых это звучало так) ), да мне еще платят деньги, не много, но на проезд хватает :) . История получилась довольно таки большой, буду очень рад если кто-то дочитает до конца, и вынесет для себя что-то полезное.
Главное верьте в свои силы, и у вас обязательно все получится.
Когда я увлекался андроидом, читал «Андроид 4 Рето Майера».
Очень понравился портал startandroid.ru — очень много полезной информации.
А самый главный источник это developer.android.com/develop/index.html =)
Лично я начинал с практики, с уроков startandroid.ru, читал официальную документацию, stackoverflow и т.д., а после того как были уже какие-то звания, то начинал читать книжки, все таки когда понимаешь о чем читаешь, книжка заходит куда лучше
Привет, извини что так долго, только заметил твой комментарий)Все хорошо, с сентября прошлого года устроился в новую аутсорс компанию Android разработчиком. Сейчас уровень очень сильно вырос, сейчас самостоятельно веду проекты, разрабатываю архитектуру, учи стажеров/новичков, так же фрилансю в свободное время :)
Здорово!
Возможно, что скоро, сам напишу подобный пост, т.к ходил на первое собеседование на java developer'a, написал тестовое задание и пару часов назад позвонили с предложением о работе.)
Блин, будь я министром образования, ввел бы обязательным предметом изучение Java класса этак с 6го )))
Тогда за будущее страны можно быть спокойным.
Кстати, видел книгу «Программирование на Java для детей, родителей, дедушек и бабушек.»
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Очень понравился портал startandroid.ru — очень много полезной информации.
А самый главный источник это developer.android.com/develop/index.html =)
geektimes.ru/post/232885/
learndroid.e-legion.ru/users/sign_in
Возможно, что скоро, сам напишу подобный пост, т.к ходил на первое собеседование на java developer'a, написал тестовое задание и пару часов назад позвонили с предложением о работе.)
Тогда за будущее страны можно быть спокойным.
Кстати, видел книгу «Программирование на Java для детей, родителей, дедушек и бабушек.»
Успехов!