Как студенты EE готовят карьеру в разработке Android?

Хотя CS и EE — это довольно разные миры, у меня были / есть коллеги из EE, и сегодня они очень успешные программисты. Проблема поздней смены карьеры заключается в том, что вы, возможно, пропустили много вещей, которые студент CS изучал за последние 4 года. Но с другой стороны, я вижу, что вы очень мотивированы, так что продолжайте!

Прежде всего, чтобы стать хорошим программистом, вам не нужно изучать все, что делает студент CS по окончании обучения. Хорошие знания в алгоритмах и структурах данных — это самый основной строительный блок. Во-вторых, поскольку вы только начинаете, сосредоточьтесь на одном языке и домене, как вы уже делаете, фокусируясь на разработке мобильных приложений на Android (и Java!). Пока что ваш учебный план очень хорош.

Однако лучший способ научиться программированию — не читать, а делать. Сосредоточьтесь на написании простого приложения, применяя все концепции, которые вы изучаете как можно скорее. Изучите весь жизненный цикл создания программного обеспечения, начиная с организации его структуры, реализации, тестирования и развертывания / установки на вашем телефоне. Не все, что вам нужно, будет написано в книгах, поэтому будьте готовы много гуглить, читать много форумов, искать и задавать вопросы в StackOverflow и многое другое.

Есть два других очень полезных (но продвинутых) метода, которые вы должны освоить после освоения основ Java и Android: контроль версий и модульное тестирование. Научитесь использовать VCS, такие как git (самый популярный на сегодняшний день), научитесь создавать репозиторий, управлять ветками, объединять код. Другой инструмент — это JUnit и Mockito (поскольку вы находитесь в мире Java), вы узнаете, как автоматизировать тесты для каждого блока вашего кода. Когда вы освоите эти навыки, у вас будет прочная основа программирования в целом, и вы сможете справиться со многими проектами Android.

Еще одна важная тема — сеть и протокол HTTP, поскольку большинство приложений редко работают в одиночку. Мобильные приложения всегда взаимодействуют с веб-сервисами, поэтому хорошее знание этой темы поможет вам понять более сложные сценарии. Если я не ошибаюсь, курс Coursera для мобильных устройств и веб-разработки Vanderbilt охватывает эту тему.

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

0

Ура! Вы первые нашли эту информацию, сделайте доброе дело, поделитесь ей в: