Итак, всем привет! В эту предновогоднюю пятницу я пришел на своё рабочее место и решил поделиться с новичками дела, уже как сторожил - а чем же занимается джуниор на работе по своему опыту. Это будет короткий пост, времени мало - тасков куча, да и кучу мануалов опять читать) учеба по 5 часов каждый день.
Первый мой пост - https://javarush.com/forum/25. Тут я писал, что устроился в компанию просто отсылая резюме всем подряд с пометками типа : "возьмите, я научусь, любые курсы за свои деньги, найму под ваши задачи себе ментора" и меня в итоге взяли. Страх был не просто большой, а огромный! Но я его преодолел и вышел на работу. Когда нибудь я напишу об этом большую статью на своём личном сайте.
Маленький совет, перед выходом надо знать - что в 80% случаев работодатель трезво оценивает ваши знания. Ну плюс минус, так что берет он вас не просто так! Так что снимаем волнение.
В первые дня четыре я устанавливал все программы, настраивал IDE, знакомился с внутренним wiki, с функционалом приложения, которое делает компания.
После настройки, мне начали сыпаться первые таски (задания) через Youtracker. Сразу говорю ни гита ни каких то других технологий, кроме возможностей java SE на твердую троечку-четверочку(5 месяцев ютуба и udemy+ java rush 18) я не знал. Учил все по ходу, это оказалось не очень сложно.
И ради вас я сохранил куски первых тасков, что мне давали.
Итак, моё первое задание было уж совсем изи:
В классе SchemaViewAgent есть код:
private static void doDnpPassDataAction() {
// Код удалён по причине не использования функционала ДНП
}
Его надо удалить, и всё что с ним связано.
Оно было больше на понимание навигации по IDE и изучению приложения. Я справился минут за 10, правда торопился и забыл удалить переменные локализации, но это уже моя невнимательность :-) После ещё 2 минут, мой commit был внесен в ветку master.
Я понял еще одно правило. Быстрота хороша только в выдаче товара на кассе, но не в программировании! Не спешите, обдумывайте, перепроверяйте, тестируйте хотя бы в начале в отдельном проекте.
Второй таск уже был поинтереснее:
10-12-18 09:28:48,040 Ошибка во время проверки файла: \\ca-fs-PF1\Doc$\UPOD\strelkovari\Рабочий стол\Сеанс_20181203_172418 (2018-12-07 17-30-17).irx
java.io.FileNotFoundException: \\ca-fs-PF1\Doc$\UPOD\strelkovari\Рабочий стол\Сеанс_20181203_172418 (2018-12-07 17-30-17).irx (Отказано в доступе)
at java.util.zip.ZipFile.open(Native Method) ~[?:1.8.0_131]
at java.util.zip.ZipFile.<init>(ZipFile.java:219) ~[?:1.8.0_131]
at java.util.zip.ZipFile.<init>(ZipFile.java:149) ~[?:1.8.0_131]
at java.util.jar.JarFile.<init>(JarFile.java:166) ~[?:1.8.0_131]
at java.util.jar.JarFile.<init>(JarFile.java:130) ~[?:1.8.0_131]
at ru.spi2.files.FileStoreAgent.checkFile(FileStoreAgent.java:105)
at ru.spi2.data.LoadSaveService.doInOperation(LoadSaveService.java:1014)
at ru.spi2.data.LoadSaveService.doInOperation(LoadSaveService.java:668)r:?]
at ru.spi2.data.LoadSaveService.doOpen(LoadSaveService.java:398)
at ru.spi2.actions.file.SessionOpenAction$1.work(SessionOpenAction.java:42)
at ru.spi2.task.WorkerTask.run(WorkerTask.java:116) [domain-2018.2.1u28.jar:?]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
10-12-18 09:28:48,042 Unsupported file: \\ca-fs-PF1\Doc$\UPOD\strelkovari\Рабочий стол\Сеанс_20181203_172418 (2018-12-07 17-30-17).x
проанализировать ошибку. Сможем ли мы однозначно отследить эту ошибку и выдать сообщение пользователю о том, что доступ к файлу защищён. Если сможем, то надо будет текст ошибки вывести через ErrorInformer.
</init></init></init></init>
И мне пришлось чуть более подробно изучить Exception и вообще работу с файлами.
Ну и в третьем таске
В классе есть строка:
Path p = CorePaths.getLogsPath().resolve("client.log");
Требуется заменить её на более правильную (поиск аппендера по наименованию)
Мне пришлось познакомиться с системой логгирования в JAVA. Кстати - эта тема встречается везде, поэтому дополните свои знания этим уже сейчас :-) Советую прочитать про то, какие виды есть. http://www.skipy.ru/useful/logging.html#log4j_sl - мне понравилась эта статья.
Так я изучил работу с log4j и легко закрыл этот таск. Правда на него мне уже понадобилось пара часов рабочего дня и вечер после) да. Начинающему программисту надо быть готовым к тому, что учиться вы будете даже во сне!
Если есть вопросы - задавайте. Отвечаю всем. Сорри ещё раз, что так скомкано. Реально 5 минут времени.
Евгений Кузьмин
18 уровень
Что на работе делает Java Программист без опыта работы, который только что устроился. Часть 1
Комментарии (254)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
k4ay Java Developer в Google
7 декабря 2023, 10:57
успехов!
+1
Илья Java Developer
23 января 2023, 16:02
очень интересная статья, будем ждать новых!
+3
Yuliya Software Testing Engineer
20 декабря 2023, 11:31
Статья 2019 года, не факт, что дождетесь)
0
Рома
9 ноября 2022, 14:26
о я тоже кузьмин :)
+3
Михаил Кузьмин
7 февраля 2023, 05:49
😀
+2
Raaaa
30 августа 2022, 13:44
за какую зарплатк ви работали
+2
Alexandr
4 августа 2022, 05:46
Привет, а какие самые сложные таски вам давали в начале работы?
+2
VladimirMaster
4 августа 2022, 06:09
Привет, а какие самые сложные таски вам давали в начале работы?
____________________________________________________________________________
Например вот, не самая сложная таска:
Необходимо подключить мобильное приложение к сервисам avtocod.ru и сравни.ру через их API для возможности покупки полиса Осаго. Тут тебе и работа со Swagger. Swagger это первое с чего ты начинаешь знакомство. :)
Сможешь это сделать? Напугал? Взбодрил? 😀
+6
Alexandr
4 августа 2022, 10:46
Сделать, конечно не смогу, я про swagger впервые прочитал только что ).
Но хотелось бы еще один топик с тасками и кодом. Потому что, повсюду в основном мы учим теорию, простые примеры, а частые практические таски которые появляются в работе нахожу редко.
+2
VladimirMaster
4 августа 2022, 16:12
я про swagger впервые прочитал только что
___________________________________________________________
Я уверен, что еще много чего не слышал, ну или слышал, но не думаешь, что это сильно нужно в данный момент. Например: Jenkins, Docker, JUnit, Mockito. Это то, что тебе обязательно пригодится в работе. Вот прям пипец, как обязательно. Некоторые ребята скажут, что для джуна это не нужно, но это спорно.
+6
Денис Enterprise Java Developer
4 августа 2022, 16:55
Интересные эти "некоторые" ребята :) А что по их мнению должен уметь джун? Даже если в таске надо поменять лог левел ее все равно нужно как-то потестировать и куда-то задеплоить (на дев например). Или джун только поменяет warn на info, а остальное должны старшие коллеги делать?)
Знание инфраструктуры не менее важно чем знание языка.
+4
ChupaFx техник в Sber
29 августа 2022, 16:12
Спасибо, пойду плакать..
..это блин сколько всего учить еще..
+22
Сергеев ВикторMaster
29 августа 2022, 17:44
ну дженкинс для джуна скорее на уровне пользователя, типа вот таска - хочешь чтобы что-то было - запусти. Пускать джуна до создания тасок, я б не стал )
Про докер тоже на уровне пользователя, подтянуть нужные образы и запустить. Писать свои докер файлы или собирать на них инфраструктуру ну тоже не джуна задача, не на первых порах.
+4
Aleksei Software Engineer в Cisco Expert
17 января 2023, 19:29
Та и вообще задача девопса )
+2
Sabir Ali Backend Developer
30 марта 2023, 19:30
Денис. Интересно. А под словом "задеплоить" Вы что имеете в виду? Я вот, например, делаю так, чтобы разработчики, набрав в терминале что-то вроде 'git push origin develop...' получили бы тест своих изменений на кластере после PR и не беспокоились, что там что-то пошло не так. Но это же работа DevOps! И если красный свет на пайплайне, значит тесты не прошли. И не будет никакого "деплоя". А Вы что имеете в виду? Разве обычный разработчик не должен сфокусироваться на разработке приложения и отсылать готовые решения с помощью СКВ (тот же Git)? Или я что-то не понимаю?
+2
Денис Enterprise Java Developer
30 марта 2023, 20:39
В каждой компании есть свой флоу. Задеплоить означает поставить свой код на определённое окружение. В некоторых фирмах есть дев энвы на которых проводится валидация фичи и ее демо бизнесу. Зелёный пайплайн не означает что бизнес логика работает ожидаемым образом, только то что тесты возвращают true, даже если тест просто состоит из одной строки return true; Ожидаемо это никак не связано с тем, что работа выполнена корректно.
+4
Anton Li Java Developer
19 июля 2022, 16:52
Спасибо, Интересно посмотреть как все начинается..
+2
alekswonder
21 июня 2022, 14:01
f
+1
Maestro
23 марта 2022, 17:06
Здравствуйте! Я новичок в Java. Спасибо Вам за прекрасную статью! Однако у меня один вопрос. Вы сказали, что первые дни "знакомились с внутренними wiki". А что это такое?
+4
Cammelen
1 апреля 2022, 13:03
Внутренняя база знаний компании, ее структуры, сотрудников, проектов и т.д. и т.п.
Конкретно по проектам - инфа по бэку, фронту, БД, стендам, аналитическая, тестовая документация...Много чего
Т.е. та информация, которая помогает новому сотруднику ознакомиться с проектом и влиться в него
+2
Anonymous #3031466
14 марта 2022, 18:34
Вы правда на Ютубе бесплатно получили знания?
0
Anonymous #3012000
10 марта 2022, 18:06
... и еще вопрос: критично ли знание английского для входа в профессию Java-разработчик?
+5
LizaTester QA Automation Engineer в IBS
8 сентября 2022, 05:20
Причины, почему английский важен:
1) Облегчает понимание кода, т.к. все названия на английском
2) Документация тоже чаще всего на английском
3) При гуглении наилучший результат достигается при запросах на английском. Язык ответов на форумах, соответственно, английский.
4) Бывают ситуации, когда приходится общаться с поддержкой иностранного по. Тут к английскому письменному может добавиться устный. Устный английский с индийским акцентом - бомба=)
5) Если хочешь выучить что-то бесплатно, на англ больше материалов. И да, тут тоже индийский акцент.
Хорошая новость заключается в том, что без необходимости устного общения можно обойтись переводчиком. Плюс бывают корпоративные скидки на изучение, поэтому можно на старте иметь практически нулевые знания и выучить язык в процессе работы.
Плохая новость - если уровень владения такой, что даже с переводчиком не получается понять суть, то тут шляпа. Надо учить.
+3
Сергеев ВикторMaster
8 сентября 2022, 10:18
одну поправочку допишу:
- Облегчает понимание кода, т.к. все названия на английском
иногда это плохой английский, на уровне - как знаю так и пишу )
Это одна из причин почему я часто топлю за русские комментарии и коммиты, если компания внутренняя. Человек на своем языке лучше опишет и объяснит, чем на ломанном иностранном )
А если совпадет так, что писать будет один ломанный а другой ломанный будет читать, то играем в испорченный телефон )
+4
LizaTester QA Automation Engineer в IBS
12 сентября 2022, 10:07
Тут я больше говорила про всякие разные библиотеки извне. На примере самых базовых классов это очень заметно. Кто-то сможет пользоваться в идее выпадающим списком методов ArrayList, а кому-то придется гуглить. Нет, можно и погуглить, конечно. Но зачем?=)
Я вот веду внутренние курсы по SQL в своей компании. Есть там одна задача, которую стабильно делают неправильно люди, не владеющие английским. Берут не из той таблицы данные, потому что даже не пытаются вникать в содержимое или переводить название. А в реальной работе дергать людей с глупыми вопросами тогда, когда можно и самому разобраться - такое себе дело. Даже если английский плохой, все равно он облегчает жизнь.
Ну и остается открытой проблема с иностранными коллегами. Не всем удобны комменты на русском, а значит, что они не везде имеются. А на англ даже без комментов можно в коде разобраться, если он написан прилично. Короче, лучше англ учить при любом раскладе=)
+1
Сергеев ВикторMaster
12 сентября 2022, 20:48
про чтение описания и документации - 100% согласен, но все же переводчики сейчас достаточно прокаченные и с небольшими правками их текст читаем ) Но да, когда знаешь технический язык, читать быстрее и проще, чем с переводчиком )
А про комменты, ну да, если команда интернациональная - да, а если локальная и продакт локальный, то на мой взгляд это страдание для всех )
А на англ даже без комментов можно в коде разобраться, если он написан прилично - тут очень важное если ) часто приличный код на взгляд одного - не приличный для другого )
+1
Денис Enterprise Java Developer
14 сентября 2022, 07:33
Английский нужен хотя бы потому, что это путь к развитию. Все технологии, интересные проекты... да и денежные проекты, чего уж там, уже давно крутятся в интернациональной среде, даже являясь выходцами из русскоязычного сектора, дефолтным языком для такого сообщества является английский. Стало быть если ты хочешь учиться, практиковать что-то новое и актуальное - он тебе понадобится.
Да и с точки зрения консистентности данных лучше иметь все в одном виде :) А в любом проекте, среди чудных руссифицированных комментариев есть классы JDK где все не так уж руссифицировано. Вот и получается кеся-меся. Это не говоря уже о других библиотеках.
Еще знание языка исключает трудности перевода :) Когда ты понимаешь что именно имел в виду заказчик\автор комментария. Современные переводчики действительно уже вышли за рамки "потрачено", но все еще далеки от качественного перевода разговорной речи. А ведь иногда надо не только читать 😉
+2
Сергеев ВикторMaster
14 сентября 2022, 11:26
ух, вы наверно не видели проекты на других языках, когда комментарии на немецком или китайском )
Вопрос же был про вход в it. Для входа не обязательно знать последние технолгии, достаточно базовых вещей, а про них написано много статей на национальных языках, много ответов на национальных ресурсах.
Я не говорю про категоричность учить/не учить. Я о том, что для входа достаточно уметь пользоваться переводчиком по сути.
"Да и с точки зрения консистентности данных лучше иметь все в одном виде :)" - писать на одном языке не значит иметь одинаковый вид. Даже самих английских несколько и в каждом по разному выражаются и смысл слов может меняться. Опять же я говорил о том, что в локальном проекте логичнее писать все на том языке, на котором люди общаются. Иначе вы переводите то, что хотели написать своими знаниями, а человек потом читает и переводит своими и на выходе получается испорченный телефон.
"Еще знание языка исключает трудности перевода :) Когда ты понимаешь что именно имел в виду заказчик\автор комментария." - если бы. Автор мог иметь совсем другое. Единственное, что ошибку понимания теперь нельзя свалить на переводчика. Ведь во всех языках есть уточняющий вопрос "что ты имел ввиду", потому что даже люди разговаривающие всю жизнь на одном языке могут не понять друг друга
Да английский важен, но на мой взгляд для джуна вполне достаточно умение читать с переводчиком и анализировать что прочитал (нестыковки перевода)
+2
LizaTester QA Automation Engineer в IBS
14 сентября 2022, 11:58
"Локальная команда" и "локальный проект" - это очень условно. Не знаю, как сейчас с покупкой лицензий на иностранное ПО, но раньше слово "локальный" не избавляло от необходимости общения с англоязычной техподдержкой этого самого ПО в случае багов и проблем настройки. Даже если в вакансии не требуется знание английского, гарантий, что необходимости в нем не возникнет в течение первого года работы даже джуном, нет.
+1
Денис Enterprise Java Developer
14 сентября 2022, 15:15
ух, вы наверно не видели проекты на других языках
Видел на голландском, увы такое тоже встречается, я точно так же уверен что это нужно изживать к чертям собачим :) Стандартизация - наше все.
Для входа не обязательно знать последние технолгии, Ну последние нет, а актуальные - хорошо бы ) На одном собесе меня крепко поймали фишками Java 8 в то время как тут проходили 7-ю. Пришлось штудировать Modern java in action :)
Даже самих английских несколько и в каждом по разному выражаются и смысл слов может меняться.
Технический язык более-менее одинаково безграмотен везде :)
разговаривающие всю жизнь на одном языке могут не понять друг друга
Могут ) именно по этому так важно владеть инструментом коммуникации чуть больше чем на уровне гугл транслейта.
Да английский важен, но на мой взгляд для джуна вполне достаточно умение читать с переводчиком и анализировать что прочитал (нестыковки перевода)
Ну скорее для интерна в местячковую фирму типа ЗАО "Рога и копыта".
Что-то более менее серьезное уже требует уровень владения языком от середнячка и выше.
+1
Сергеев ВикторMaster
14 сентября 2022, 20:13
На одном собесе меня крепко поймали фишками Java 8 в то время как тут проходили 7-ю. Пришлось штудировать Modern java in action :)
Ну как сказать, та же 8 джава уже разобрана сотнями статей и новой назвать ее сложно, ей уже 8 лет ) Так что опять же, знание 5 спринга, последнего хибера, многое из этого просто модификации старого с небольшими изменениями или новым функционалом) Стандартное изучено и описано на всех языках )
Что-то более менее серьезное уже требует уровень владения языком от середнячка и выше.
мы про рф говорим или другую страну? Просто именно в рф во множестве вакансий я видел английский но опционально. Из многих с кем работал, наверно люди знают английский, но в работе это показывали мало - не было повода.
Предлагаю сойти на том, что английский на уровне поговорить не сильно важен в локальной компании начинающему. Читать, писать не критично, но хорошо бы уметь.
Выше джуна в интернациональной команде обязателен )
+2
Денис Enterprise Java Developer
14 сентября 2022, 20:46
Нет, я говорил не про рф.
0