• 0.87

  • +2.12

mshvdvsk
По порядку:
1) 26 — дальше стал сильно чувствовать, что идет что-то совсем не то. Я не советую бросать ресурс после этого уровня, но начинать присматриваться к реализации самостоятельных проектов.
2) Нет, не проходил.
3) Да, Москва :)
4) 2 месяца, хотя по факту вышло три — забыли начать оформлять документы :D
5) 20/40 — что вообще ооочень мало по рынку, но, тк я и без образования, и без опыта, согласился. Средняя по рынку для Juniour'а — 60.
Спасибо большое!
mshvdvsk
Спасибо! Так держать :)
Библиотеки: Picasso и Retrofit встречаются почти в каждом проекте, их я бы советовал смотреть новичкам до выхода на работу.
Источники: определенных, к сожалению, нет.
Обучался Android'у так:
1) посмотрел тестовые задания (обычно что-то типа приложения, которое берет список с сервера, показывает его в списке, при клике на элемент — открывает его содержимое, которое тоже тянет с сервера; опционально присыпать Dependency Injection, Cache, etc);
2) посмотрел обучалки по подобным проектам и выписал непонятные классы/библиотеки;
3) посмотрел похожие open-source проекты и выписал непонятные классы/библиотеки;
4) взял список и в порядке того, что наиболее непонятно/интересно, стал гуглить туториалы;
5) profit!

В моем подходе есть один изъян — я не читал документацию и исходники. Помню, до рабочего опыта мне было дьявольски тяжело их читать. Это была абсолютная теория в вакууме, я совершенно не мог «увидеть», что из этого и какое имеет отношение к жизни. Сейчас же я залатываю «дыры» в своем понимании базовых элементов, читая вот это все — первоисточники. Советовать ли новичкам это делать? Не знаю. Но знайте, документация и исходники — это ваша библия. Ну и еще статьи тех, кто писал исходники :))
Вопрос, что критично, очень зависит от ситуации. Если устраиваетесь в фирму, где один продукт и он сильно завязан на SQL, вас о нем точно спросят. И качество ответа может сильно повлиять на решение. Если в студию, где я работаю, то его там даже не используют — пока, по крайней мере, я с ним не столкнулся. Но вообще программисту придется познакомиться с SQL рано или поздно. Поэтому лучше это сделать во время учебы, а не работы, где больше стресса и меньшие сроки.
С картами я сам не умею работать и не работал. Но я видел вакансии, где этот опыт был обязателен (правда, это не уровень новичка).
В портфолио было одно приложение, которое не смотрели.
С REST было тяжеловато, потому что у меня не было никакого понимания работы сетей и мне не особо кто хотел помочь объяснить. Я бы советовал почитать общие статьи на этот счет, потому что беглого «я понял, что куда надо, а там разберемся» может едва хватить даже чтобы справится с более-менее сложной задачей.
Последний вопрос неясный. Вам нужно знать, что самое главное нужно знать по андроид, для того, чтобы успешно пройти собеседование? Наверное, это Activity. По нему есть два главных источника: документация на сайте developer.android и исходники.
Это не ответ на вопрос «что самое главное», но «что необходимо знать» по Android: Fragment, Service, XML. Я (вообще не обладаю опытом, чтобы делать подобные заявления, но если бы мне приложили пистолет к виску, то я) бы сказал, что это основные элементы android-приложения.
mshvdvsk
Спасибо на добром слове :)
Да, вы, в общем-то, правы. Только тихонько замечу, что везением я назвал одну из первых причин почему меня взяли в конкретный офис. Им срочно нужен был сотрудник, и я лично понравился. Этого могло не случиться, если бы я пришел на пару месяцев позже, когда бы они взяли еще одного новичка, а директор бы уехал в отпуск) Да, это не означает, что я бы не устроился вообще — наверняка, в конце концов, меня бы кто-то взял. Ведь чем больше пытаешься, тем больше ты знаешь, тем привлекательнее ты для работодателя.
Но вообще элемент везения не стоит… презирать, что ли. Многие очень успешные люди признаются, что им повезло. Вот даже посмотреть на супер удачные игры, типа angry birds — студия делала игры, но не очень. Потом решила попробовать последнюю перед банкроством — и она «взлетела». Сделали они ее принципиально лучше, чем предыдущие? Подходили к ее разработки концептуально иначе? Ожидали такого успеха? Скорее всего, нет. Просто на рынке что-то взлетает, что-то нет.
Так же в жизни. Иногда мы случайно нравимся женщинам не нашего, хм, ранга. Иногда случайно кого-то постигает несчастье. А иногда удача.
Я моложе был, тоже не принимал это. Но опыт доносит то, на что юношеский пыл позволяет закрыть глаза)
mshvdvsk
Я написал приложение (ужасное), которое работало с открытыми API по вселенной игры престолов. Приложение давало доступ к содержанию базы: можно было переходить из раздела в раздел, каждая сущность (имя персонажа, дома) было ссылкой и позволяло открыть информацию о выбранном элементе.
Я бы советовал в портфолио класть нечто, что работает с API. Умение работать с POST запросами — очень распространенное требование к новичкам в любой области программирования. Как приятель сказал, на собеседованиях это своего рода «тест на дебила».
mshvdvsk
Да, хорошая идея!
Я работаю в студии, так что мы выполняем заказы. К нам приходят люди, которым нужно приложение. Мы оговаривали, что им нужно, делаем прототипы, выбираем стиль, а дальше дизайнеры рисуют, а мы это оживляем. API чаще всего на нашей стороне, но не обязательно.
Получается, мне дают макет экрана, а мне нужно его сверстать. Чтобы списки крутились, кнопки нажимать и выглядело все, как на макете. Потом, когда API будет готов, нужно будет приложение подключить к нему: чтобы данные получал, отправлял, отображал, обновлял.
Иногда я правлю баги в существующих проектах: у нас есть обучающее языкам приложение, вот мне там нужно было исправить несколько багов, типа когда два игрока начинают совместную игру, но у одного отсчет начала начинается с задержкой, а другой его не ждет, и игроки «теряются». Или нужно было перерисовать анимацию элементов как в iOS (это боль).
В студии очень разнообразный набор проектов. Мы делаем и мессенджеры, и финансовые приложения, и что-то типа тиндера, и игры, и приложения для горнолыжных курортов, с прорисовкой маршрутов по картам — в общем, задачи разнообразные.
Обратная сторона медали: на вас большая ответственность, так как проекты относительно маленькие в мобильных приложениях — один человек за месяц-два может сам написать его. Например, в банковской среде, если вы разрабатываете сервисы, вы создали тему лишь его маленькую часть под четким руководством сверху, снизу и сбоку. В мобильной сфере все на вас, и все ваши ошибки будут очень видны.
Например, мне дали исправить баг в приложении, когда приложение не обновлялась сразу после того, как поймали сесть. Я нашел таймеры сброса, и заставил обновляться их сразу до 5 секунд в случае, если подключиться не удалось.
Но я не проверил, какие еще методы, классы и сервисы завязаны на этом таймере. Оказалось, что на нём еще завязан аптейд какой-то довольно тяжелой части приложения, так что за неделю мой «патч» выкачал по 4 гига с устройства, которое раньше ело 150 мб. Стыдно было ужасно.
Как-то так :)
mshvdvsk
Это было в декабре, мне было 28. Первое официальное трудоустройство :))
mshvdvsk
Как-то совершенно незамеченным прошел пост, хотя парень большой молодец и содержание статьи вполне достойное: прямо, искренне, по делу. Предположу, что многих смутили ошибки и общий стиль написания. Ребята, не будьте такими снобами. Поверьте, почти всегда найдется более образованный в плане языка человек, а если нет, то словарь или справочник все равно выявит в ваших знаниях слабое место.
Хочется поддержать тебя, автор. Молодец!
mshvdvsk
Кстати, странно, что никто не указал топик-стартеру другую, темную сторону луны (программирования). Возьму на себя этот труд, хотя оговорюсь сразу, что не имею цели никого ни от чего отговаривать и обескураживать. Напротив, преследуйте свою мечту. Не бывает «не получилось», бывает «не с N-ого раза».
Хотя я не настоящий сварщик и не работаю программистом, я не раз встречал мысль о том, что один из «минусов» работы программиста заключается в том, что ты ПОСТОЯННО будешь учить что-то новое. То есть ответ на твой вопрос — войдет ли жизнь в нормальное русло ИЛИ тебе придется изучать абсолютно новые темы каждый день — будет таков. Уровень стресса упадет, но необходимость постоянно адаптироваться и поглощать новые знания не пропадет. Абсолютно новые темы каждый день точно встречаться не будут, знания будут скапливаться как снежный ком, но нужно понимать. Программирование — это не игра на скрипке, где потратив 10 лет и сев в оркестр, ты примерно то же будет делать последующие… до смерти. Или как начав работать журналистом, репетитором — в обычных профессиях количество рабочей информации все же меньше. В какой-то момент ты овладеешь рутиной. В программировании всегда же есть место новым граням уже известного, неизвестные области.
И это — причина, почему я заключил слово «минус» в кавычки. Для меня широта темы и невозможность исчерпать ее целиком — то, что меня заводит. Я… я с детства люблю видео-игры, тк любви решать задачки и люблю взаимодействовать с логическими системами. Но игры в какой-то момент начинают повторяться, принципиально нового уже нет, в них много рутинного… а в программировании этих проблем нет. Забавно, но я в программирование пришел через видео-игры :D Но это уже совершенно иная тема, главный мой месседж был про то, что новое в программировании — это отличительная черта от других профессий.
mshvdvsk
Поздравляю, Сергей! Отличная сила воли.
И, это, тебе стоило текст перед отправкой загнать хотя бы на orfogrammka.ru. Фразы типа «Какой у меня оказался пусть?» отвлекают от интересной истории и добавляют школьной несерьезности :) И последняя фраза study english — лучше learn english. Разницу между этими словами можно почитать тут.