JavaRush /Java блог /Random /Поймать волну
Марат
1 уровень

Поймать волну

Статья из группы Random
Поймать волну - 1

Начало

Получил юридическое образование, но всегда тянуло в мир нулей и единиц, в царство командной строки и непонятные сисадминские будни. Работая юристом, параллельно обучился новой специальности (Информатика.Программирование и администрирование информационных систем), набирался теоретических знаний в программировании, алгоритмах, структурах данных. В один прекрасный день системный администратор организации в которой я работал уволился и уходя он порекомендовал меня на свою должность. В этот момент началась моя официальная трудовая жизнь в качестве айтишника – я продолжал работать на ставку юристом и на полставки админил парк техники. Ломая шаблоны некоторых пользователей, совмещал гуманитарный и инженерный профиль работы. На самом деле их непросто совмещать не из-за разных направлений, а из-за разнохарактерной нагрузки – пользователи звонили по разным вопросам и по юридическим и по техническим и в абсолютно хаотичном порядке. Кроме того, в наследство мне досталась преимущественно линуксовая сеть. Поэтому выраженные способности к самообучению и расширению кругозора имеют важное значение в любой деятельности. Для начала я набросал топологию сети, количество рабочих станций, серверов, а также роли, которые они выполняют. Впоследствии пришлось вникать в операционные системы, оболочку bash, разграничение прав доступа и многое другое. Такие задачи быстрого «погружения» в специальность задают хороший рабочий ритм, заставляя решать задачи непривычные и не встречавшиеся ранее.

Размышления

После этого я работал в других организациях более крупных в составе отдела и небольших в одиночку побеждая невидимых «обидчиков» моих пользователей. Само системное администрирование достаточно многогранно и интересно и существует много возможностей для развития. Можно переквалифицироваться в специалиста по приручению Linux или Windows систем, покорить базы данных, стать мастером маршрутизации или тихонько строить сайты. Однако мой мозг не успокаивали такие перспективы, и он продолжал поиск чего-то неведомого, но очень необходимого. В один не очень солнечный день на работе ко мне обратились с вопросом по макросу – он перестал работать. Сначала я выяснил и исправил ошибку, из-за которой он не работал, но что-то продолжало резать глаза. Часть кода я завернул в циклы, переименовал переменные, а почитав мануалы по VBA (на этом языке был написан макрос) добавил простенькую пользовательскую форму с кнопками действий. Войдя во вкус, я написал по просьбе пользователей еще несколько макросов для таблиц excel.

Переломный момент или точка невозврата

Критической точкой стало понимание того, что можно не только обслуживать информационные системы, но и создавать программное обеспечение для них, писать мелкую и не очень автоматизацию, изучать архитектуры систем. Более того, стараясь уйти от процедурного стиля программирования стал более подробно изучать ООП на примере Java. Почему Java? На момент начала изучения этого языка у меня не было каких то особых предпочтений в выборе. Я исходил из того, что язык распространен, имеет хорошую документацию и комьюнити, а также в качестве среды разработки была выбрана Android Studio. Уже сейчас понимая насколько много особенностей имеет java, можно рассматривать его как один из языков для понимания цикла разработки, основных алгоритмических конструкций, структур данных и самой концепции ООП. Конечно, он сложен для начинающих, но его изучение параллельно с практикой поможет начать использовать программные инструменты, заглянуть в цикл разработки, позволит полезно распределить нейронные связи и прокачать ваше мышление.

Квант творчества

Поймать волну - 2
Java в разработке под Android системы, является связующим звеном для различных компонентов и моделей, таким программным клеем. Думаю, что творчество в программировании тоже есть. Кто-то пишет спагетти код, а кто-то ищет изящные и эффективные конструкции. Имея за плечами художественную школу, не ожидал, что это может пригодиться в разработке. Вообще, разработка требует не только полной системности и следованию правил, но и творческих живых идей, нестандартного мышления. Углубляясь в дебри android программирования разработчик одиночка становится и писателем и архитектором кода, дизайнером кастомных вьюшек и компонентов, тестером кода и тестером пользовательского интерфейса, мечтателем и создателем!

Игнорируя трудности

Если Вы выбрали программирование – Вы выбрали не самый легкий путь. Однако Вы выбрали интересный способ мышления, отношения к миру, интересный способ развития Вас как специалиста. Хотите Вы этого или нет программирование развивает Вас и делает немного ближе к достижению поставленных целей. Я продолжаю путь сисадмина, но обретаю навыки разработчика, а также пишу небольшое приложение. Рекомендую попробовать себя в программировании, возможно это изменит Вашу жизнь. Всем удачи!

Полезности

Изучая любой язык программирования нам не обойтись без документации. Я пользуюсь JLS (Java Language Specification), описаниями библиотек классов Java и Android, руководством Material Design. Из фолиантов известные авторы Эккель, Хорстманн, Шилдт. Оказались полезными курсы ресурса Intuit по языку Java - Программирование на Java (старый курс, но грамотно изложенный). На Javarush лекции CS 50, Android. Если по возникшей ошибке не с кем посоветоваться, то ресурс stackoverflow и другие.
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ