Прошу дать советы начинающему
Всем здравствуйте!
В ближайшие пару лет планируем переезд в Германию, поэтому и задаю вопросы здесь.
Помимо смены локации решил сменить и профессию. Давно интересовался и некоторое время назад начал изучать Java. Конечно выбор не спонтанный, аргументы следующие:
Возраст (уже 50), GameDev или Frontend как мне кажется требует креатива, дизайна и т.д., а Java везде в больших и серьезных проектах, и как первый язык для изучения вроде не очень сложный.
Правильно ли я сделал выбор и есть ли перспективы трудоустройства после переезда?
Может дадите советы в какую сторону развиваться? Что по Вашему наиболее перспективно?
Еще есть шальная мысль удаленно устроится пока интерном или юниором, но здесь к проблеме отсутствия знаний и опыта еще и временные проблемы с немецким языком (пока только изучаю).
Вообщем буду рад любой критике, советам и пожеланиям.
Заранее благодарен
В вашем случае все довольно плохо. Возраст. Вам нужно убедить работодателя, что вы можете работать. Для этого показывают готовые проекты.У вас их нет. Или показывают законченное обучение. Его у вас тоже нет. В институт вам поздно. Есть еще такая форма обучения, как аусбильдунг(обучение на производстве), но вас опять же врядли возьмут. Возраст. Единственный вариант научится самому, поучавствовать в паре бесплатных проэктов и их потом на собеседовамии и показывать. Но вас поджимает время...
Как уже писали, в этом возрасте с нуля здесь уже не начнешь. Точнее будет очень и очень проблематично. Ну и язык нужно было выбирать такой, который "возрасту соответствует". Типа С/С++
Года 3/4 работы в Embeded C++ "дома" и ВУ типа электроника давали бы больший шанс. Так что со сменой профессии вариант не очень перспективный.
А что сейчас хорошо умеете?
Парни спасибо всем за советы. Конечно я понимаю, что возраст это очень критично в таком деле. Но мое высшее (нефтянка) никак не связано с IT, да и занимался много лет только коммерцией.
Есть парочка еле живых интернет-магазинов на Opencart и пытаюсь настроить бложик на Grav.
koder действую именно так, учу самостоятельно, а вот как поучаствовать в проектах пока не понимаю, но пытаюсь рассылать резюме пока здесь в РФ.
AlexNek - я почему-то так и думал выбирая Java, что язык нужно было выбирать такой, который "возрасту соответствует".
Может быть не Java а что-нибудь другое, с учетом вводных данных?
Еще раз всем спасибо.
да и занимался много лет только коммерцией
ну так и продолжайте в этом направлении, как немецкий? Поздно уже разбрасываться, к сожалению. Консультант какой-то вполне возможно, если немецкий на уровне.
Язык выучить не проблема, а вот научится его использовать - это время, которого у вас нет. Да и представить, что кто берет начинающего в таком возрасте - очень затруднительно.
Ну и учить следует не язык, а методику программирования и основные алгоритмы. Язык тоже важен, но он как бы вторичен. Не зная как писать книги, тяжело что то написать читаемое, даже хорошо владея русским.
Java с нуля вряд ли найдет встречный интерес потенциального работодателя, я бы при таких исходных данных смотрел в сторону программирования для FPGA.
Порог вхождения в программирование FPGA круче чем порого вхождения в Java. Это связано с тем что для этого необходины не только знания основ программирования но и хорошие знания "Digitaltechnik" и базовые основы электроники.
Если человел инженер электронщик, тогда да, можно посоветовать.
Порог вхождения в программирование FPGA круче чем порого вхождения в Java.
Да, это так, но, на мой взгляд, это та область, где даже не очень продвинутые скиллы могут быть востребованы.
Если человел инженер электронщик, тогда да, можно посоветовать.
Ну я предполагал техническое образование у ТС, хотя нефтянка/коммерция - это из другой оперы, конечно.
В вашем конкретном случае я вижу только реально один выход. Учите язык. Немецкий. Это ваш билет для выживания. По прибытию в Германию , после прохождения всех формальностей и окончания языковых курсов ищите аусбильдунг или умшулунг. Возможно в сторону програмирования, но с вашим возрастом любой полученный будет успехом. Только там вас научат реально тому, что нужно на работе. То, что вы читали по яве, это язык. Для работы этого мало. Что вы будете писать на этом языке?
koder спасибо. Изучение немецкого - это первейшая цель, тут даже вопросов нет. Вот о чем вы говорите дальше у меня и есть возникает больше всего вопросов. Я сейчас внимательно и с огромной мотивацией делаю первые шаги в изучении Java, но реально не представляю, какие задачи предстоит решать (может это вообще не мое). С другой стороны, как я это узнаю, если даже не смогу пристроится юниором т.к. не знаю ни одного ЯП.
Большая просьба - разъясните, что есть аусбильдунг или умшулунг, или киньте ссылки.
Аусбильдунг это система обучения на предприятии, когда обучаемый в течении 2 или 3 лет пару недель посещает занятия вне фирмы, а остальное время вкалывает на фирме как ацуби. Такая форма обучения позволяет максимально приблизить обучение к практике и является имхо основной в Германии. Для прохождения обучения нужно по обьявлениям найти фирму,
но реально не представляю, какие задачи предстоит решать
Этого никто не знает пока задачу не получит. Для этого и нужно иметь некоторый опыт. Ставьте себе задачи сами.
Напишите например, самый обычный калькулятор, как в виндовс с кнопочками и затем просто с вводом строки "2+2". Затем можно добавить скобки.
Попроще: сгенерируйте файлы для 10,1000, 10 000 000 псевдослучайных целых чисел, а затем отсортируйте их в другой файл.
Задач можно найти/придумать море. Просто решайте их...
Проблема будет в другом. Сейчас вот наугад глянул несколько юниорских позиций
https://www.stepstone.de/stellenangebote--Junior-Java-Deve...
Везде требуется типа этого
Ein abgeschlossenes Studium der Informatik, Wirtschaftsinformatik oder eine vergleichbare Ausbildung - Законченное высшее образование по информатике, экономической информатике или сопоставимое образование
Напишите например, самый обычный калькулятор,
Вы не поверите, но за >10 лет кодинга на яве я ни разу не писал калькулятор
Но разберем калькулятор. Это в первую очередь визуальные компоненты. А на чем сейчас, как правило, пишут визуальные компоненты на яве,на какой библиотеке? На свинге? имхо нет. И вот тут то, что в предыдущих постах назвали технологиями. Это может быть например веб. Значит браузер, клиент на чем то, сервер какой то, понимание, что такое сервер, запуск приложения из под апликационсервера, понимание, что это вообще такое, возможно еще веб-сервер в довесок.Это сложнее, чем шляйфы выучить.
Ein abgeschlossenes Studium der Informatik, Wirtschaftsinformatik oder eine vergleichbare Ausbildung - Законченное высшее образование по информатике, экономической информатике или сопоставимое образование
Это как
раз не критерий. Нету у меня Informatik, Wirtschaftsinformatik. И ничего, жив.В обьявлениях вообще много чего пишут. Блондинка 20 лет с 30-летним опытом.
я ни разу не писал калькулятор
Я вообще то тоже.
Но вот чисто для "забавы" решил написать, что то одинаковое и простое на WPF, Xamarin и ASP.NET. Правда на шарпе.
Это может быть например веб
Вообще то имелся в виду десктоп. Хотя особой разницы я не заметил, просто другой компонент. Неужели на Яве у Вас так всё фигово?
Это как раз не критерий
Если есть опыт работы более 10 лет, то конечно пофигу. А вот без него, хотелось бы иметь работника с хоть как то похожим ВУ
Ставьте себе задачи сами....Просто решайте их...
Все так, основной источник обучения это видеокурс с примерами, которые параллельно открыты в IntelliJ IDEA. Пробую, пересматриваю, переписываю и опять пробую, Второй источник уже литература.
Чуть позже придумаю себе задачку, выложу на Git (советуют, чтобы было видно движение)...
Вот вторая часть вашего поста наводит печаль. Сейчас я могу пройти только курсы платные (которые выдают сертификат) или coursera.org, но поможет ли это при трудоустройстве?
Кстати, может посоветуете курсы дистанционные, которые помогут в трудоустройстве в германии.
koder из вашего поста я понимаю так, что дело далеко не в ЯП, но я думаю в процессе изучения будут появляться вопросы которые заставят изучить минимальный стек.
Удаленная работа видимо не принята в серьезных компаниях. Ausbildung + удаленка = вот для меня идеальный вариант.
Вот у меня есть такой планчик по технологиям.
Вообще то имелся в виду десктоп. Хотя особой разницы я не заметил, просто другой компонент. Неужели на Яве у Вас так всё фигово?
У явы есть несколько библионек визуальных компонентов (Swing, AWT, SWT), что уже делает выбор для самостоятельного обучения веселым, кроме того сейчас конкретно десктопы с нуля на яве стараются не писать. Все ломанулись в веб. Это значит только поддержка старых проектов.
Но я не это даже хотел сказать. Даже десктоп это минимум клиент-база данных. Значит нужен минимум в базах данных. SQL в любом случае. Часто Hibernate. Имхо так вообще никто не пишет, даже на десктопе разделяют серверную и клиентскую часть, ибо как правило приложение это операторские места и сервер для бизнес-логики. Значит нужны минимальные знания технологии
клиент-сервер. Слишком много разных технологий приходится использовать в реальной работе, тут просто выучить, как if-запросы работают будет недостаточно.
А работодателю нужен не просто продуктивный код. Ему нужно, что бы этот код работал. И любой программист знает, какие ошибки совершает новичок.А если это совсем совсем самоучка это кот в мешке. Проблемы не в том, что он что то не знает. Проблема в том, что бы ему поверили, что он вообше ХОТЬ НА ЧТО ТО годится. С нулевым немецким в придачу.
Я это все знаю.Именно я начинал на абсолютно таких же условиях. Но мне было тридцать. И после языковых курсов окончил какие то левые годичные курсы программистов. Я выучил яву сам. И самое сложное было не работать, а уговорить
работодателя, что я вообще программист.
Из картинки мало что понятно, но похоже больше на трёп.
Хотя цели у Вас похоже правильные.
Если будете ориентироваться на сертификат, то нужно еще не забывать что он был здесь признан.
Для начала проверьте ваш ВУЗ
https://anabin.kmk.org/anabin.html
Главное, не беритесь сразу за много дел. Самое важное это Немецкий. Говорить, понимать и писать нужно без особых проблем.
а уговорить работодателя, что я вообще программист.
безусловно, это будет основной проблемой.
Все ломанулись в веб
да довольно многие, но все же не все. Поддержка старого проекта тоже может быть неплохо.
Мне как то предлагали поддержку проекта на Паскале, на фабрике, аж за 75К, но помня опыт Мурки, благоразумно отказался.
Даже десктоп это минимум клиент-база данных
Это просто у вас были только подобные проекты. Хотя базы данных тоже можно немного изучить.
Да и идея была просто набраться опыта. Можно и консольные проги делать, главное много и разных. Вначале самых простых, а после сложнее.
Если не затруднит, аргументируйте.
слишком много более молодых хорошо знают этот язык.
Но метаться туда сюда я бы не стал. Вы ведь уже потратили вероятно довольно много времени. Вот и продолжайте, что уже выбрали.
В любом случае, надеяться нужно только на удачу/чудо. Не меняют профессию так поздно. Не понимаю я, отчего хотите стать программистом?
Java -- это всепоглощающая вещь в себе. Плохо документированная, напичканная неработающими технологиями. Знание одного лишь языка Java ничего не даёт. Надо знать технологии. Так вот информацию о технологиях можно ооооочень долго собирать по крупивам и лет так через 40-50 будете представлять , что работает, а что задекларировант как работающее, не не работает. Средства разработки на Java тоже весьма убогие. Один Eclipse чего стоит .
Самые простые проекты на Java пишутся доооооолго-долго. А работает Java-код довольно медленно. Иногда совсем -совсем примитивная задача может растянуться на несколько месяцев!
Например, подумайте как отправить в сокет на Java полный байт при условии, что в Java нет беззнаковых типов. Вы о правляете байт 0xfd, а на принимающей стороне приходят не один, а два байта. В результате Вы сначала 4 месяца ищите в чем проблема, а потом понимаете, что для того чтобы проблему исправить надо переписать весь проект с нуля.
В общем Java не оставит Вам ни секунды свободного времени: ни на личную жизнь ни даже на то, чтобы пукнуть!
Ссори, но все это фигня. Вы какую задачу анализируете? Нафига ТС анализ среды программирования? Ему необходим анализ порога вхождения в профессию, востребованность именно этого языка на рынке труда, а вы тут как будто язык под новый проект выбираете...
Пы.сы. все остальное я, как именно ява-программист, комментировать не буду, дабы не разводить срач в ветке. Для интересующихся и сидящих на измене это все не так. Желающим подискутировать стоит открыть отдельную ветку.
вы в своем тексте допустили ошибку: вместо Ява там должен стоять PHP. Тогда да, у вас появятся конкуренты среди немцев, которые готовы работать за 300 евро в месяц.
после того, как меня на текущей работе пересадили с шарпа на ява, то это было основанием для увеличение зарплаты.
очень толосто.
Ок, в качестве альтернативы предлагаю вам поработать по ха пе погромоздом на обслуживани и кода 130 летней давности, где на один квадратный километр кода нет ни одной локальной переменной.
причем код будете писать за 300 евро в месяц.
Есть еще один вариант, про который упомянул AlexNek. Это поддержка ОЧЕНЬ старых проектов на коболе, паскале, может еще на какой то фигне. Стратегия такова. Вы действительно просто учите язык. Синтаксис без технологий. Цель - научится выражать свои мысли на этом языке, решать задачи типа калькулятора , как писал AlexNek. Фирмы ищут программистов для поддержки этих проектов и берут любого, кто 2 байта в состоянии связать. Потому что молодые и перспективные писать на этих языках отказываются.
В этом случае я бы начал учить не с явы, а с чего нибудь низкоуровневого. Типа С. Просто что бы понять не только программистские конструкции, но и некоторые вещи, которые в высокоуровневых языках отсутствуют
вместо Ява там должен стоять PHP
Вообще то конкретный язык огромной роли не играет, хотя исключения будут иметь место.
Важно иметь так называемое "мышление программиста", иметь представление как решить тут или иную задачу и т.п.
Конечно, язык накладывает отпечаток на "мышление", но "базовая прослойка" остается неизменной. И вот эта база нарабатывается годами плюс "мелочи"/особенности языка. И это при том что и сам язык и окружение постоянно развиваются.
Для ТС
Здорово, что вы хотите что то изменить и учите новое. Но положа, руку на сердце - не вижу я для Вас каких то перспектив в области чистого программирования. Нужно искать что то смежное, если уж так сильно хочется в эту область.
Парни, еще раз выражаю благодарность за ваши советы в этой ветке. Конечно чем больше людей тем больше мнений, но как выразился koder
...необходим анализ порога вхождения в профессию, востребованность именно этого языка на рынке труда...
Я выбрал Java не потому, что мне язык нравится (я вообще не могу оценивать ЯП, т.к. мне просто не с чем сравнивать), а просто мониторил форумы, статьи некоторые и сделал вывод, что надо изучать более "консервативный" что-ли ЯП потому, что:
ищут программистов для поддержки этих проектов и берут любого, кто 2 байта в состоянии связать. Потому что молодые и перспективные писать на этих языках отказываются
Я вообщем-то всего пару месяцев основательно занимаюсь обучением и еще могу "переключится"
Нужно искать что то смежное, если уж так сильно хочется в эту область.
Забросить это дело я всегда смогу, но все-таки надежда еще жива, поэтому накидывайте варианты, только с учетом вводных.
только с учетом вводных.
очень мало информации. Прежде всего, какой уровень немецкого? Если писать, читать и говорить можете без особых проблем, то можно было бы посмотреть в сторону тестировщика ПО. Тоже не просто без опыта.
А для программирования нужна еще масса сопутсвующих знаний.
Если учить только синтаксис языка, то тут вообще, можно сказать изучать нечего. На все про все минут 20 уйдет. То есть через 20 минут будете знать весь язык. Но программировать не сможете. Потому, что даже строку "Hellow, world", надо понимать куда выводить: в сервлет, в поток, в Rest/Beam etc...
То есть надо знать технологии. Но на практике, чтобы найти работу надо УЖЕ знать технологии. Потому что без этого Вы даже не сможете оценить сроки разработки
Лусше сразу переключиться на что-нибудь более приличное, чем Java. Например, с++.
Я в теме уже более чем полвека. Квалифицированный Java программист никогда не сделает проект быстрее чем с++-программист. Большинство жаббистов на тупают на одни и те же грабли. С опытом перестаешь на них наступать, научаешься заранее предвидеть тупики.... Но даже с учётом этого проекты на Java отнимают в 50 раз больше времени, чем сишные. В общем, не лезьте Вы в это болото!
Квалифицированный Java программист никогда не сделает проект быстрее чем с++-программист.
Да забудьте вы про скорость написания проекта. Если ТС дай Бог найдет место и там будут на бейсике писать, то и он будет писать НА ЧЕМ СКАЖУТ. И все остальное не его головная боль. Вас что, в детстве явисты обидели?😁
выбор технологии и языка имеет огромное значение.
Делфи - готовность работать за еду и переместиться в 90е
По ха пэ - готовность работать за еду и конкурировать с немцами, готовыми работать за еду. Готовность дорабатывать их код, в котором понятия "локальная переменная" отсутствует как класс.
Просто знать Java - этого мало, нужны знания framework-ов, без них (и без минимального опыта работы) вы работодателю не нужны.
Если у вас хорошие и в тонусе мозги, я бы, наверное, порекомендовал бы C++ - хорошее знание C++ может и без framework-ов прокатить. Если, считаете, что не очень, тогда может какой PHP - считается язык с более низким порогом входа чем Java и C++, конечно же.
Походите на какие-нибудь 6-месячные курсы программирования, потом попробуйте может какой-нибудь реальный опыт наработать - да хоть проектик для друга сделать.
Я, конечно, не хочу "пугать" но чтобы комфортно чувствовать себя в области программирования кроме языка(ов) программирования нужно знать базы данных, базовые понимания работы сетей и операционных систем, ООП и еще кучу всего, в зависимости от того, что программировать собираетесь.
Я приведу ещё один пример. Существуют механизмы с числовым программным управлением. Не обязательно станки. Например шлюзы. Или плавильные печи. Под них пишут программы. И в них есть визуализация. Проги пишут на специальных языках типа winCC. Так вот конкретно визуализацией, которая делается в проекте на скриптовых языках, никто заниматься не хочет. Берут людей с базовыми знаниями программирования и натаскивают с нуля. Вот что то типа такого довольно реально.
Писать-то он будет на ЧЕМ СКАЖУТ, но, спустя некоторое время, спросят "на какой стадии находится разработка?". И что он ответит?
Как объяснить работодателю, что потратил 120 рабочих дней, а показать ещё ничего не могу, поскольку повяз в рутине.
На более приличных языках можно продемонстрировать работодателю хоть что-то визуальное за более короткий срок.
На Delphi вообще можно написать полпроекта пока заказчик тебе читает тех.задание.
На c/c++ дня два уйдет до макета, который уже можно обсуждать с начальством. Не надо мне тут писать про сигфолты: если грамотно спроектировать, то их не будет.
На Java первые 30-50 дней уйдет только на то чтобы установить и настроить Eclipse для работы. Обычно это получается с 30-ой попытки, не раньше. Ну и потом над ним нельзя дышать: может случайно упасть и тогда уже точно проект в срок не напишешь .
Увольнение гарантировано!
Писать-то он будет на ЧЕМ СКАЖУТ, но, спустя некоторое время, спросят "на какой стадии находится разработка?". И что он ответит?
Вы действительно считаете, что допустим ТС найдет фирму, где пишут на яве человек 10. И ему сразу дадут с нуля начать и вести новый проект? А потом еще с него и спросят в какой стадии проект и правильный ответ будет не "каркас классов заложен, энтитис заложены, начинаю рест-шниттстеллен" , а "я тут подумал, послал вас нахер и начал проект на С++". Вот колеги то охренеют. А начальство решит, что его снимают скрытой камерой. Я не думаю, что такого работника уволят. Скорее дурку вызовут.
Как объяснить работодателю, что потратил 120 рабочих дней, а показать ещё ничего не могу, поскольку повяз в рутине.
Еще раз,Tamachi, расслабтесь. Вы нифига не шарите в яве. На спринг бут заложить каркас веб-приложения с рестом занимает 10 минут. Вы понимаете? Через 10 минут я буду заниматься написанием бизнеслогики. Поэтому оставьте свои многомесячные потуги.
На c/c++ дня два уйдет до макета, который уже можно обсуждать с начальством.
Я не понимаю, где вы работаете и почему вас там держат. Если бы кто-то мне предложил заменить среду разработки веб-приложения(или даже десктопа) с явы на голый С, то это для меня кандидат на увольнение.
На Java первые 30-50 дней уйдет только на то чтобы установить и настроить Eclipse для работы.
Обычно это получается с 30-ой попытки, не раньше.
Настройка Еклипс 60 дней - вылет из фирмы через неделю испытательного срока. Для разработки в спринг например вы скачиваете СТС-версию эклипс и НИЧЕГО настраивать не надо. Или обычную версию и тогда +10 минут на установку СТС-плагина. 10 минут, КАРЛ!!!!
ВСЕ!!! Больше ничего не нужно
Что вы там 30 раз пытаетесь!!!! что такое попытка? Вы не можете мышью в иконку эклипс попасть?
P.S. Впрочем ваш пост очень оптимистичен. Если уж вы работаете в Германии, то и ТС сможет.
за >10 лет кодинга на яве я ни разу не писал калькулятор
------
Нет никакой разницы ЧТО именно писать на до-юниорском уровнe.
Бо, проблемы будут самые обычные - синксис, потом алгоритмика, потом поиск имеющихся решений...
Язык, как таковой, не занимает практически никакого времени - с нуля до промышленного кода - неделя.
Сопутствующие библиотеки и технологии - почти до бесконечности...
поддержка ОЧЕНЬ старых проектов на коболе, паскале, может еще на какой то фигне
------
1. Таких работ очень мало. У меня настроен фильтр с нотификацией по тем из старых языков которыми Я владею - он практически пуст - 1-2 позиции раз в полгода.
2. Та же самая проблемая с используемыми технологиями - по ним уже и спросить толком не у кого.
3. Эти проекты используются в оооочень консервативных организациях - Юниру в 50 - туда практически не попасть.
1. Таких работ очень мало. У меня настроен фильтр с нотификацией по тем из старых языков которыми Я владею - он практически пуст - 1-2 позиции раз в полгода.
это так
2. Та же самая проблемая с используемыми технологиями - по ним уже и спросить толком не у кого.
это так
3. Эти проекты используются в оооочень консервативных организациях - Юниру в 50 - туда практически не попасть.
Это не так. Эти проекты (я персонально знаю два) имеют 2 проблемы -
1.туда никто не хочет идти.
2. Из молодых те, кого удалось заманить, со временем сваливают.
ТС на собеседовании имеет плюс - он готов работать и ему некуда сваливать.
На безрыбье и сам раком станешь. Если ТСу такой проект не подвернется, значит не судьба. Это только вариант.
Всё же я больше склоняюсь к мнению, что начинать за 50 учить программирование дело практически бессмысленное. Можно, конечно надеяться на удачу.
Но мне больше нравятся реалистичные идеи. Ведь есть же сейчас что то, что Вы умеете делать хорошо, допустим руководить бригадой. Вот берите это что то и развивайте дальше вкупе с немецким языком.
Вот это уже может быть фундаментом для работы здесь.
А программирование учить - типа как в лотерею выиграть. Да люди выигрывают, а вот удастся ли это Вам....
Всё же я больше склоняюсь к мнению, что начинать за 50 учить программирование дело практически бессмысленное.
Я вижу алгоритм действий следующим образом. Если можно что то учить на Родине(есть время), то немецкий, немецкий и еще раз немецкий. Но если немецкий больше не лезет(у меня с иностранными например так) и нечем занятся, то можно учить программирование и (и тут я был неправ ) писать калькуляторы.
По приезду в Германию и по прохождению обязательных курсов посмотреть на бирже труда (возможно поговоритъ с чиновником, но я, честно, не смог бы), на какие профессии есть курсы, вайтербилдунг, умшулунг или другие формы обучения от арбеитсамта. Если что то есть, прозондировать, насколько оно востребовано на рынке труда.
И только если ничего подходящего нет, то искатъ
аусбильдунг по программированию или места со странными языками программирования.
недавно мне статья на хабре как раз на эту тему попалась, может найдёте что-то полезного для себя
https://habr.com/ru/post/439432/
1. Вы часом CTC с JDT не перепутали?
2. Компании, обладающие стратегическим мышлением, никогда не используют Rest. По крайней мере, так это у нас в России.
3. Эклипсы отличаются версиями. Каждый очередной раз, когда его выкачиваю, всегда оказывается, что то, что искал уже Expired и надо пойти по какой-то ссылке, прочитать какие-то 300 страниц и выбрать какую-нибудь версию из 45 предложенных....
Короче, с Эклипсом я завязал. Кстати, открыть проект, написанный в среде Eclipse, с помощью NetBeans -- это тоже проблема. Ну, не дружат между собой различные JavaIDE.
Когда к нам новичков (выпускников ВУЗа) присылают, то для них 120дней -- на установку среды -- это стандарт.
Что касается, с++, то тут вполне достаточно консоли. По крайней мере для того чтобы откомпилированные
проект достаточно консоли с установленной cmake.
4. Я длительное время работал в паре с явистами. Типа часть проекта делают они а часть -- мы. Так вот на практике всегда было так: явисты постоянно ноют, что им не хватает времени, что проект слишком сложный и к концу срока у них ничего не готово. А команда сишников пишет свою и ИХ часть проекта за один месяц и оставшиеся 3 месяца отдыхает, глядя там на потуги явистов что-то на что-то натянуть и к чему-нибудь прикрутить.
Может быть в Германии явисты другие? Или им более длительные сроки разработки дают?
Там как раз есть пара ключевых моментов
- мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании
- Что у меня было в активе, прежде чем я начал изучать Java...
- На самом деле, чтобы стать разработчиком, у меня ушло не 1,5 года, а два.
Человек не пришел совершенно из другой области и повезло с местом проживания, как и с фирмой.
понятно, что лучше быть богатым и здоровым, чем бедным и больным. Но, мне кажется, шансы всё равно есть. Госконторы не могут найти людей, согласны брать почти всех подряд, платят они конечно не очень, но тут особeно выбирать не приходится. Опять же с высшим образованием, даже не профильным, можно на более высокую тарифную группу рассчитывать. Если согласен в какую нибудь дыру переехать, шансы ещё лучше. Можно фриленсером попробывать, там обычно порог захода поменьше, так как и выкинуть тебя в любой момент могут.
В ближайшие пару лет планируем переезд в Германию, поэтому и задаю вопросы здесь. Возраст (уже 50),
т.е. по приезде будет уже 51-52+.
Помимо смены локации решил сменить и профессию. Давно интересовался и некоторое время назад начал изучать Java. Конечно выбор не спонтанный, аргументы следующие: GameDev или Frontend как мне кажется требует креатива, дизайна и т.д., а Java везде в больших и серьезных проектах, и как первый язык для изучения вроде не очень сложный.Правильно ли я сделал выбор и есть ли перспективы трудоустройства после переезда?Может дадите советы в какую сторону развиваться? Что по Вашему наиболее перспективно?
впечатление такое, что сегодня все помешались на python. machine learning, artifical intelligence etc. может и рассосется, а может и появится спрос, в разы превосходящий предложение. поинтересуйтесь. просто пару лет назад, задав в поиск python jobs вы получали ничего, а сегодня - море востребованности. а java сегодня - основной язык в университетах, "на жаве каждый может", и у вас будет море конкурентов, с которыми вам ни возрастом, ни языком, ничем не потягаться.
везение и не опускать руки от неудач (а их будет огого сколько! и после каждой неприятный осадок и желание
все послать) окажут решающую роль. советовать сложно. но если намерены пройти этот путь - не слушайте тех, кто говорит, что "все равно ничего не получится". я приехал в 47, и могу сказать, что "состоялся". хотя программированием занимался до этого лет двадцать. из прошлого опыта пригодилось почти ничего. было очень сложно получить первую работу: всегда находился кто-то, кто подходил лучше. но в конце-концов повезло. если бы не продолжал "взбивать масло", так и утонул бы в сметане : )
1. Я ему не про Германию советовал, а про ЯП. У человека нет в запасе времени на то, чтобы стать профессионалом.
2. Я бы с удовольствием вообще всех явистов не только прогнал но и наложил бы мораторий на их использование! Ибо появление Java в составе проекта является предвестником смерти проекта. Большинство фирм именно так и умирает: приходит некий чувак и предлагает сделать что-то на Java. Помню, в 90-ые и нулевые году предприятия в России ломанулись на Java так как это был единственный ЯП на лондонской торговой бирже. А все хотели туда попасть и готовы были ради этого на любые условия. Потом все эти фирмы поумирали. Из-за невозможности развития, ибо Java очень ограничена и неповоротлива.
Несколько фирм, близких к РЖД ну
очень хотели получить лакомые заказы из Европы.
В общем, после того, как компания вляпалась в Java, через полтора года она становилась банкротом. Это как рейдерский захват ;))))
Кстати, Spring -- это не тот фреймворк, который есть смысл использовать.
В общем, мир сошел с ума если до сих пор этим пользуется. Хотя, судя по последним политическим событиям, он тоже уже на ладан дышит...
Как объяснить работодателю, что потратил 120 рабочих дней, а показать ещё ничего не могу, поскольку повяз в рутине.
Большинство фирм именно так и умирает: приходит некий чувак и предлагает сделать что-то на Java.
На Java первые 30-50 дней уйдет только на то чтобы установить и настроить Eclipse для работы.
Tamachi, вы никогда не задумывались, что вы работаете в шарашкиной конторе и просто не умеете организовать процесс программирования? Где архитектор со стратегий планирования и стеком технологий? Где agile? Ну не может на нармальную фирму прийти чувак и предложить "сделать что-то на Java". Ну это как в больницу заходит чувак и предлагает пооперировать. К стеку технологий обязательно прикладывается документация по настройке рабочего места программиста.
В том же дельфи может быть 20-30 компонентов от
сторонних производителей и нет бильдера проекта. Каждая среда настраивается индивидуально и еще завязывaтся на Виндовс-акккаунт. И порядок установки компонентов важен, поскольку они зависимы. Вот там действительно приходилось четко все устанавливать по инструкции и занимало это до одного дня. НО! Все документировано и регламентировано, все настройки у всех одинаковы, проект лежит в одной и той же папке и если у кого то что то пошло криво, значит он сделал что то не по инструкции. Ну не может организация рабочего места длится так долго, больше одного дня. В самом самом крайнем случае фирма должна сделать модель windows-аккаунта и просто клонировать его. Ну и тупо Эклипс можно просто копировать со всеми настройками. У него нет привязки к операционке. Почему ваши коллеги просто
не делятся копиями, если у кого то что то не получается?
Почему у вас явистские проекты зависят от среды разработки? Используете вы mavin? Gradle? Или лепите зависимости и библиотеки прямо в эклипс? Какой менеджер контроля версий вы используете? Храните вы библиотеки там или в специальноп репозитори?
По-моему в России сейчас работу программистом найти проще, да и зарплаты тут получше, чем в Германии будут. Импортозамещение...ж.
А по-моему вы не разбираетесь вообще ни в чем. Зарплаты программистов даже в Москве не дотягивают даже до Ганновера. Что уж говорить про Мюнхен с Гамбургом...
Мой брат работает в Москве. Время от времени он соблазняет меня туда переехать - присылает вакансии. Примерный паритет по чистой зарплате на сравнимых позициях был году так в 2012. Можно посмотреть на hh, сколько вакансий (прграммиста, не руководителя отдела/команды) с зарплатой выше 300.000 вы найдёте?
machine learning, artifical intelligence etc. может и рассосется, а может и появится спрос
интересная идея, совсем выпустил из виду. Рассасываться скорее всего не будет, очень много мест где можно применить. Уже и микрософт с TensorFlow подружился
https://docs.microsoft.com/de-de/visualstudio/ai/installat...
Как раз может быть хорошим тестом, а нужно ли мне это программирование.
Попробуйте разобраться в чем смысл Convolutional Neural Networks и понять/попробовать, что делает прога "привет искусственный интелект" - это может быть распознавание рукописных цифр или распознавание кошечек и собачек. Если получится, то "база" в порядке, можно двигаться дальше.
Тренироваться можно тут
Эклипс начинает глюсить, когда пытаешься использовать его "для всего". То есть, когда прикручивается к нему много плагинов для разных областей деятельности. То есть если на него навесить Ctc, jdt, плюс плагины для программирования контроллеров..., то он долго не проживет.
Тот стиль разработки, который Вы описали, это по моим понятиям не программирование, а какое-то кодерство. Да плюс все это в домене.
Мне больше нравится брать на себя весь проект, со всеми его составными частями: серверную, клиентскую, облачную, ту, что на контроллерах и пр...
Пробовпл когда-то делать такой проект в команде (там был водопадный подход, никакого agile), но столкнулся с проблемой : когда сделать микрозадачу можно за 20 минут, в то время как на объяснение программисту что надо сделать уходит не меньше часа. В общем, оказалось, что проще было сделать все самому, но начальству доложить, что делали все это в команде.
С тех пор я в водопадный проектах соглашаюсь работать только как единственный программист. Ну и не люблю работать на местах, где используется контроллер домена.
Мавен мне не понравился категорически.
Graddle использовал когда писал под AndroidStudio. Потому что он там автоматом по умолчанию ставится. Сам же я, по доброй воле, никогда бы не стал использовать системы сборки, хранящие код в удаленных хранилищах. Когда системы контроля версий хранят код на удаленных ресурсах -- это нормально. Но когда сборщик выкачивает что-то из сети -- это несусветная дикость. Да и у нас в импортозамещени такое невозможно: нельзя допустить возможность установки непроверенных пакетов.
Я пользуюсь SVN в качестве системы контроля версий. В качестве сборщика обычно использую cmake, но стараюсь оформлять проекты так, чтобы qmake тоже мог скомпилировать проект. К cmake имеются плагины для различных IDE. Поэтому собирать проект я могу почти на любом компе, хоть на Raspberry или на каком-нибудь удаленном VDS. (Иногда приходится это делать, например, когда едешь в пригородной электричке).
alec26 Спасибо, эту статью я конечно же читал и в некоторой степени она меня вдохновила.
moose Вы конечно все правильно пишите по поводу "моды" на определенные языки, ИИ, машинное обучение и т.д. Мне почему-то кажется, что это удел молодых, горячих, креативных людей и тут возраст к сожалению накладывает свой отпечаток. Вполне может быть, что я не прав. Поэтому я и задаю свои глупые вопросы по вхождению в IT здесь, где люди реально работают в этой сфере в Германии.
AlexNek прошел по ссылке (правда с переводом на русский). Пока практически ничего не понял, но мне кажется это технология, которая решает определенную задачу
Как раз может быть хорошим тестом, а нужно ли мне это программирование.
Попробуйте разобраться в чем смысл Convolutional Neural Networks и понять/попробовать, что делает прога "привет искусственный интеллект" - это может быть распознавание рукописных цифр или распознавание кошечек и собачек. Если получится, то "база" в порядке, можно двигаться дальше.
Другое дело - если команда разработчиков решила это использовать, то необходимо изучать и "въежать" в тему. А вот если вы самостоятельно решили использовать такую технологию для решения поставленной задачи - вот это видимо и есть опыт, профессионализм и талант.
С другой стороны, по-моему тоже правильный подход к решению как пишет koder:
Где архитектор со стратегий планирования и стеком технологий? Где agile?...Используете вы mavin? Gradle? Или лепите зависимости и библиотеки прямо в эклипс? Какой менеджер контроля версий вы используете? Храните вы библиотеки там или в специальном репозитории?
Видимо все-таки есть разные подходы, где-то все четко организовано, используется определенный стек технологий, а у других - есть задача и чем "элегантней" ее решишь, тем лучше.
если команда разработчиков решила это использовать, то необходимо изучать и "въежать" в тему
Это будет уже после того как получите работу, скажем так дополнительно.
Идея же была в другом - просто для себя лично проверить уровень своих базовых технических знаний.
Как мне кажется, нормальный выпускник вуза по технической специальности вполне может разобраться с принципом работы "сверточных нейронных сетей". Для этого не нужны даже месяцы.
Ну а если получится, то вполне можно изучать все дальше. Может очень даже пригодится. Потому как собственно программировать нужно не особо сильно. А вот выдать правильно натренированную модель может далеко не каждый.
но мне кажется это технология, которая решает определенную задачу
если Вы про ИИ то с его помощью уже сейчас решается большое множество задач. И их количество будет только расти.
Про какую именно ссылку вы говорите? Первая про микрософт была не для Вас. А вторая - просто удобная среда для работы с ИИ
Хотя замечание про перевод на русский язык меня немного насторожило - у вас проблемы и с английским и с немецким? Тогда забудьте всё - учите только язык.
для первоначального вьезжания в темы deep learning, etc., вполне достаточно популярной книжки типа "Deep Learning with Python" - она объяснит базовые вещи, покажет как их делать на Keras, etc. Можно также начать с курсов от https://www.fast.ai, они там ориентированы именно для программистов...
Но самое главное во всех этих machine learning, это понимание доменной области - если она хорошо изучена, то даже простые алгоритмы могут по эффективности обходить нейронные сети и прочие сложные алгоритмы, которые везде пихают кандидаты с теоретическими знаниями... я про это как-то писал на основании своего опыта (я программист а не ученый): http://alexott.blogspot.de/2016/06/notes-on-practical-mach...
Однажды, программируя под AndroidStudio для Андроид мне потребовалось найти нестандартную кнопку. Я погугли и нашел целый репозиторий замечательных кнопок. Он быстро установился в систему сборки Maven и все прекрасно заработало. Начальство было радо. Но я слишком дотошный чтобы не посмотреть на то, как эти кнопки были устроены. Короче, класс кнопки наследоваться от некоего класса типа CustomButton, который в свою очередь создавал экземпляры других классов, которые также скасивались из сети в момент сборки (галка "сохранять локально" была отключена). Так вот в последних двух классах я обнаружил код, очень похожий на майнинг, который активизировался только при изменении идентификатора смартфона. То есть злоумышленники рассчитывали на то, что вирус активизируется не у разработчика, а у его клиентов.
И ведь как красиво все придумано: программист заходит на реозиторий, выбирает компонент для установки, устанавливает, все легко устанавливается, приложение собирается, но зловредные файлы не сохраняются на компе и ни один антивирус их не обнаруживает!
Вот такой он, неожиданный и опасный, этот maven!
еще одна идея. возможно, не совсем подходящая, но я ведь вас не знаю.
есть еще такая специальность как QA. для кроссспециалистов - самое то. но здесь одна загвоздка: необходим очень продвинутый немецкий, а еще лучше +неплохой английский. въехать в тему проще: пару хороших книжек и поехали. с деньгами не так хорошо, но и не так плохо.
это понимание доменной области - если она хорошо изучена, то даже простые алгоритмы...
кем изучена? вся эта кухня как раз и ориентирована не на программистов, а на людей, понимающих доменную область. на то, чтобы дать им что-нибудь, что они за пару месяцев могли бы освоить и сами решать свои задачи, а не пытаясь объяснить то, во что они въезжали десять лет и более, пусть и толковому, программисту за пару часов. насколько это получается - отдельная тема, но это - именно попытка создать такую "логарифмическую линейку".
тема только не об этом. начинающего точно отговорил бы пытаться въехать в джаву. не потому, что джава сложна. просто я сам очень хорошо знаю джаву, но уже давно не суюсь в проекты с джавой. просто потому, что предполагается опыт во всяких фреймуорках, которых море сегодня, и в которые въезжать мне сложнее, чем в язык. если вы понимаете, что означает
do { blablabla } while ...
, это не означает, что вас наймут в джава-проект.
Мне больше нравится брать на себя весь проект, со всеми его составными частями: серверную, клиентскую, облачную, ту, что на контроллерах и пр...
Теперь понятно, почему у вас настройки месяцами длятся. У вас не организован процесс программирования. Каждый кодит в своем углу. Дэйли нет, соответственно, если у кого то возникла проблема, он с ней сидит. Причем не часами и не днями. А судя по всему даже не неделями. У вас нет документации(потому что то, что задокоментировано, на пальцах обьяснять не надо). У вас нет тикетов, нет отдельных стори, иначе бы проблем "а что я скажу начальству" не возникало. У вас нет планирования проекта вообще и соответственно вы не можете нормально рассчитать, в какой стадии вы находитесь. У вас зоопарк технологий. Все не стандартизировано. Вы делаете все на коленке "хренак, хренак и в продакшиен". Быстро. Сурово. Но только когда сидит на проекте суровый кодер и некого к проэкту не допускает.
Кстати у вас (ну или у ваших коллег) большие пробелы в знаниях по языку програмирования. Потому что если задачи на фирме довольно однотипные, то и решения как правило уже есть и не надо каждый раз велосипед изобретать. Но у вас не организован обмен опытом. Потому что каждый за себя.
С тех пор я в водопадный проектах соглашаюсь работать только как единственный программист. Ну и не люблю работать на местах, где используется контроллер домена.
Ваш опыт имеет место на существование. А теперь представьте, как это выглядит для менежмента. Вы заболели. Все. Кроме вас никто дальше работать не может.
Ну и применительно к топикстартеру. Вы действительно считаете, что он может начать один? У него есть шанс начать в команде, там, где он сможет подсматривать готовые решения, начинать от простого к сложному, там где ему помогут. Ваш опыт для ТС неприменим.
1. Если я заболею и меня не будет на работе в течение 2-месяцев, то меня просто подождут.
2. Если этап разработки сдан, то вместе с проектом я составляю набор инструментов, позволяющий решать типовые задачи без перепрограммирования. Ну, плюс ещё кучу примеров и тестов.
3. Топикстартер спрашивал о возможности быстрого вхождения. Java никак не относится к языкам, в которые можно быстро влиться. Если бы топикстартер начал с любого другого языка, то к уровню, достаточному для того чтобы писать востребованный на рынке продукт, он бы пришел значительно раньше. Человеку уже больше чем 50 лет! Понятно, что до конца жизни у него просто нет нужного времени!
У нас есть документация. Есть поддержка. Если что непонятно, всегда можно спросить у соседа или поискать в локалке нужный рецепт. От тикетов мы отказались поскольку эта система очень неповоротлива: к тому времени, когда начинаешь работать с тикетов, его содержание уже изменено или тикет уже недействителен. Вместо тикетов у нас есть общий список задач/подзадачи/микрозадач.
В общем, мы тут, отнюдь не дикари. Но и некоторые, на наш взгляд, сомнительные практики, принятые на Западе, мы не можем принять по вполне логичным причинам.
Тикеты предполагают автоматизированную обработку и систему учёта. Как правило, ПО, управляющее тикетами не даёт должной свободы. Поэтому довольно часто не получается осуществить с тикетов требуемую операцию.
Поэтому у нас есть ответственные за определенные задачи люди. Если человек отвечает за исполнение той или иной задачи, то он обязан:
1. Следить за состоянием микрозадач
2. Помогать / обучать / документировать
3. Делать все необходимое для задачи
4. Держать связь с доменным аналитиком и/или менеджером проекта
Я не знаю с чего вы вдруг что-то предполагаете. Вы вольны вести свои тикеты хоть на туалетной бумаге если вам и ПМ-у так удобно. Я попытался вам намекнуть что ваши "задачи/подзадачи" можно смело назвать тикетами.
Но хватить оффтопить, может человеку все же что присоветуют.
У него есть шанс начать в команде, там, где он сможет подсматривать готовые решения, начинать от простого к сложному, там где ему помогут.
согласен с утверждением (гениёфф не касается, они все делают сами и сразу). но это не исключает самостоятельной работы. тяжелой работы. причем читать книжки, въезжать в тему будет значительно проще, чем убедить/заинтересовать потенциального работодателя, что от в вас стоит вложить средства. на такое не каждый пойдет, но такие есть, точно знаю.
да, "подсматривать готовые решения" нужно очень критически. не все следует из увиденного перенимать. о некотором нужно просто никому не рассказывать.
3. Топикстартер спрашивал о возможности быстрого вхождения. Java никак не относится к языкам, в которые можно быстро влиться. Если бы топикстартер начал с любого другого языка, то к уровню, достаточному для того чтобы писать востребованный на рынке продукт, он бы пришел значительно раньше. Человеку уже больше чем 50 лет! Понятно, что до конца жизни у него просто нет нужного времени!
"быстро влиться" можно в ЛЮБОЙ язык. уж в жаву точно проще, чем в немецкий (сколько у вас ушло на то и на другое, сравните честно). а я видел таких (много!), что проработали на с++, например, пару десятилетий, но так и не въехали по-настоящему. хотя очень неглупые люди. в чужом коде все могут понять за какое-то время, могут имплементировать подобную задачу, скопипастив чужой код и настроив (хм...), но нового от них не жди, лучше отдать студенту.
откуда вы знаете, что тс не проживет долго? я считаю, если человек не освоил технологию/профессию за пару лет, то неважно, сколько он проживет: он не освоит ее НИКОГДА. а тс еще вполне молодой человек, если ему 50, плюс "пару лет" до переезда (предполагается, не просиженные на чемодане, а активно искользуемые), плюс еще пару лет на обживание и обвыкание, итого, ему 54. пацан еще. причем с опытом работы где-то, а не только просиживания на лекциях и сдачи лабалаторок.
ясно, лучше быть молодым и здоровым (а если еще и богатым), чем старым и больным (а если еще и бедным...).
думаю, полезно было бы тс здесь полистать
https://github.com/open-source
, может, что-то понятней станет, может, в чем-то поучаствовать даже удастся, о чем можно было бы в будущем упомянуть.
да, тс, у вас есть какое-то окружение? в этом окружении есть кто-нибудь, кто близко к теме? сходите к нему на работу посмотрите, как это происходит, может, вам разонравится. там, скорее всего, люди сидят и пялятся
целый день в мониторы. иногда отвлекаются на кофе (приготовить. пьют, пялясь в монитор).
минуточку... Минуточку, я записываю ... т.е. у вас модуль на ява, который сам по себе ни от кого не зависит? Т.е. Вы сами имлементировали рест, орм и прочее? Это в мире современной разработки? Я правильно понимаю, что у вас пом файл пустой? С какой планеты Вы к нам прилетели? На этой планете Ява также нет спринга, да?
ОК. ОК. ОК.
Когда я пишу проект на c++, то ORM тоже пишу сам. Это не так сложно, как кажется. Кстати, параллельно с появлением ORM проекта, появляется и система его документации + консольные средства для работы с ним. И все это компилируется одникм вызовом cmake. То есть написание своего ORM не отнимает дополнительного времени, поскольку документировать проект рано или поздно придется, а тут документация появляется как побочный продукт написания ORM.
Пробовал подобный подход внедрить в Java.
Ну, очень НЕ нравился мне Hibernate! Но в Java такое невозможно в принципе. Собственно, это и есть один из мощных аргументов против Java -- невозможность организации приемлемой системы сборки.
moose - Весь Ваш пост "в тему" , а особенно:
...человек, если ему 50, плюс "пару лет" до переезда (предполагается, не просиженные на чемодане, а активно используемые), плюс еще пару лет на обживание и обвыкание...
Именно так - активное использование этих "пару лет" на изучение:
1. Немецкий
2. ЯП с соответствующим стеком технологий. Любой нормальный курс изучения ЯП подразумевает не только чисто язык (синтаксис) а сопутствующие вещи - фреймворки, базы данных и т.д.
3. Любыми путями постараться поработать в выбранной сфере здесь в РФ.
как это происходит, может, вам разонравится. там, скорее всего, люди сидят и пялятся целый день в мониторы. иногда отвлекаются на кофе (приготовить. пьют, пялясь в монитор).
Так я этим и занимаюсь целый день, только дома + планшет перед сном.
Намеренно не пишу ЯП, потому что во втором пункте может быть Swift, Python, PHP и т.д.
Здесь в теме я уже описывал, почему выбор пал на Java и несмотря на совершенно противоположные взгляды (порой аргументированные) все-таки считаю, что выбор правильный.
Но очень внимательно изучу совет по любому другому ЯП и все, что с ним связано применительно к трудоустройству в Германии и с учетом возраста, плохого (пока) знания языка и отсутствия ВО.
Кстати, moose вы советовали QA - спасибо, посмотрю поближе, тема неплохая в моей ситуации.
вы только что провалили собеседование на позицию программиста. Копия ваших высказываний направлено Вашему работодателю. Ждите fristlose Kündigung. Кроме того Ваши высказывания по поводу РЕСТ будут зашифрованы в вашем цойгниссе.
Я не думаю, что Ваш следующий работодатель, которому нужен спец по swagger / open api оценит Ваши высказывания.
От тикетов мы отказались поскольку эта система очень неповоротлива: к тому времени, когда начинаешь работать с тикетов, его содержание уже изменено или тикет уже недействителен.
-----
Это КАК?
Если тикет не взят - его можно менять - на тебя это не влияет.
Если взят - он залочен до исполнения (или отмены) - опять на тебя это не влияет...
Так я этим и занимаюсь целый день, только дома + планшет перед сном.
-----
Хммм...
Попробую пояснить относительно простую вещь, которую Я упомянул, но которую пока все обходят вниманием.
Вещь - простая - умение 1) сделать работу 2) в заданные сроки.
Как это работает?
Тебе ставится задача и дается время на ее выполнение.
Как правило, задача тебе более-менее понятна, ну либо стабят ее так, чтобы было поняно, что должно получится.
Процесс написания кода - тоже более-менее понятен - сидишь, пишешь...
А вот со временем всегда будут проблемы.
В том смысле, что твоей работы (с имеющимся опытом) будет недели на 4-ре, а сделать работы надо за 1 неделю.
Это не считая мелких правок по текущей поддержке чужого кода.
Полный цейтнот и так - постоянно.
Через год-полтора, а то и смену пары-другой работ, начинаешь думать КАК это делать.
В 30-40 при профильном образовании это еще как-то возможно, после 50 и без опыта - более чем очень проблемно.
Дома перед сном или даже полный день, но без давления сроками - не создает необходимых условий для выработки умения сделать работу в заданные сроки.
А пока ты не научишься - будут отказывать после пробации. Причем ощущения будут довольно неприятные и без понимания почему оно так происходит.
и отсутствия ВО
-----
Выше вроде оно как и наличествовало. Да, не профильное, но упоминалось.
В этой ситуации сказать что БЕЗ ВО - почти тоже самое что сказать что ты выпускник вспомогательной (для альтернативно одаренных или просто дебилов) школы...
Но это нюансы - их много и они разные - все дойдет на месте и со временем... где-то через пару пятилеток...
Здесь, в России, существует весьма порочная практика продаж через продажников -- людей, которые специализируются на продаже продукции компании. Эти люди не заинтересованы в качестве продукции. Наоборот: чем менее качественна продукция, том больше продажников может взять себе "за ремонт", "за услуги" и пр... Поскольку продажник приносит хозяину компании реальные деньги, он (хозяин) даёт ему (продажник) право ставить задачи программистам. При этом, сам продажник далёк от программирования и не может грамотно поставить задачу. Иногда, требуется УБРАТЬ из продукта ту или иную фичу (чтобы не мешать ему снимать деньги с клиента). Менеджер проекта относится к "продажник" как к стихийному бедствию, но не может пойти против воли директора.
В общем, формализация тикетов, усугубила бы описанную проблему.
у меня такое ощущение, что Вы действительно тролль.
Т.к. даже немецкие ацуби знают, что рест не привязан к какому то языку. Вы просто бы не смогли пройти собеседование на позицию Softwareentwickler.
Посмотрите хотя бы на разнообразие клиентов и серверов для крестов и не крестов
В России есть производственные компании, а есть софтварные компании.
К сожалению, я очень далек от реалий Российского рынка.
Но в принципе, команда разработки софта и там и должна следовать каким то правилам.
Заказчик, кто он не был, конечно заказывает, то ему нужно, но никак не прямо у программистов. Даже если программист и один.
А реальность такова, что на рынке гос.заказов, конечно сначала нанимают команду. В гос.секторе и без того полно путаницы, а тут ещё программисты выступают.... В общем первые несколько месяцев все ждут ТЗ. Потом за месяц до обозначенного срока сдачи вдруг сверху спускают ТЗ. Надежды написать весь проект за один месяц нет ни у кого. А на кон поставлены чьи-то головы при оооочень больших погонах. И вот тогда, как правило, нанимают частника. Вопреки нормам и правилам, просто берут человека _с_именем_, у которого уже есть опыт решения подобных проблем.
Я не могу утверждать является ли этот сценарий типовым для России или это исключение из правил. Но за последние 6 лет я 8 раз был свидетелем подобных примеров.
Думаю, в период грядущего импортозамещения число
подобных сценариев будет только расти.
я 8 раз был свидетелем подобных примеров.
Я тоже ничего не могу утверждать, но по моему личному мнению - это типично "социалистический" подход к определенному типу проектов.
Ни одна компания здесь не может работать по таким принципам. Хотя как тут гос. заказы делают, я также не знаю.
Да и большой проект, в принципе, один человек не сможет сделать за требуемые сроки, каким бы гением он не был. А то что получается следует принципу - неважно как, лишь бы работало на сдаче.
Что будет с проектом через год никого особо не волнует.
1. Согласен с тем, что советская традиция разработки ПО, по современным понятиям, это просто дикость.
2. Что касается "большого проекта", то надо отметить, что само по себе ТЗ, спускаемое сверху, как правило не является ни особо сложным ни сильно объемным. Как правило, вся его сложность заключается в отсутствии конкретики. Конкретика появляется за месяц до срока сдачи проекта. И большинство программистов просто тупо сидят и ждут, когда им прояснят те или иные моменты. Опытный программист вполне может подобный объем задач сделать за месяц при условии, что:
A. Ему не будут мешать
Б. Он умеет писать код в "абстрактном" стиле. То есть, так, что конкретику придется проставлять в последний день
При этом одни и те же абстрактные классы и приёмы
могут быть использованы в различных случаях и на различных местах.
Что то тут некоторое несоответствие:
Как правило, вся его сложность заключается в отсутствии конкретики. Конкретика появляется за месяц до срока сдачи проекта.
Он умеет писать код в "абстрактном" стиле. То есть, так, что конкретику придется проставлять в последний день
Зачем менять всё в последний день, когда все известно за месяц?
Отчего тоже самое не может сделать команда?
Конечно, можно написать один проект "хорошо" и на его основе клепать аналогичные, но это уже будет "конкретика", а не "абстракция" разработки ПО.
Когда конкретики нет все сидят и ждут конкретики. Каждый считает, что не может работать не зная того или сего.
Некоторые используют абстракции, но тогда получается, что у каждого своя абстракция, а потом надо эти абстракции к общему знаменателю приводить. В общем, у каждого есть отмазка: "мне не дали конкретных данных, необходимых для работы".
Примерно так. Традиция давать согласованное ТЗ за месяц до окончания срока разработки тут торчит из всех щелей.
К этому надо просто привыкнуть. И это накладывает ограничения на используемые инструменты. Так, например, использование cmake вместо qmake.... Вроде бы какая разница, каким инструментом собирать проект? Но в наших условиях cmake может сэкономить уйму времени, если заказчик в последнюю минуту решит портировать проект на какую-нибудь неожиданную архитектуру... Поэтому выбор
инструментов и протоколов очень важен. Rest здесь никогда не заработает, хоть его за уши притягивай.
По сравнению с существующими у нас протоколами, Rest - самый неэффективный и дорогой в использовании протокол. Поэтому его по доброй воле никогда не выберут. Единственная приемлемая для него ниша -- это в составе Java- проекта. Известно, что надёжность системы равна надёжности ее самого слабого звена. Поэтому Rest не ухудшит производительность java- проекта.
Для всех остальных типов проектов Rest -это обуза. Поэтому я отношусь его к java-oriented
По сравнению с существующими у нас протоколами
не понял, вы об этом или о чём то другом?
если заказчик в последнюю минуту решит портировать проект на какую-нибудь неожиданную архитектуру...
Вы такие страшные вещи рассказываете, что я не представляю как вы там вообще выживаете
Но похоже что все крутится вокруг Вашей предметной области.
Потому как у меня есть визуал студия и что такое маке я уже давно не имею никакого понятия, нажал кнопочку "собрать проект" и всё.
Ну и никакому заказчику не придет в голову просить WPF проекты под юниксом.
По моему Вы даже не тролль. И даже не программист.
Вон из профессии!
Мне очень жаль ту срану, где остались только такие программисты.
Даже немецкие школьники знают, зачем нужен рест:
Почитайте на досуге заменой чего он служит
https://ru.m.wikipedia.org/wiki/REST
Зы. РЕСТ сервисы лично я начал писать на ноде, а рест клиенты на шарпе. Причем здесь обязательность Явы?
Да, я именно об этом Restfull.
То, что там написано -- это теория. А на практике все несколько иначе.
Например, можете ли Вы мне указать на сервер, где можно установить что-либо типа Rest (то есть сервер с поддержкой Rest) за приемлемую плату с приемлемой производительномтью? Если рыть в направлении Apache Tomcat, то стоимость аренды такого сервера будет довольно высока. Плюс к тому же стоимость трафика.
Не знаю, почему, но почему-то стоимость таких высоконагруженных java-серверов зависит от трафика.
Я сейчас обслуживаю 4 проекта, которые хостятся на одном виртуальном хостинге стоимостью 158р в месяц. Каждый из этих проектов -- это ERP, обслуживающее предприятие. То есть нагрузка достаточно высока. На сервере не используются никакие доп.фреймворки типа Symfony и иже с ним.
Вы можете предложить другое решение, на базе Rest - протокола, с теми же затратами и аналогичной производительномтью?
А что Вас конкретно напугало? То, что надо портировать на другую архитектуру или то что ТЗ неопределенно.
Visual Studio к сожалению позволяет компилировать только под Windows. А как же Вы пишете прошивки для каких-нибудь контроллеров? Сейчас контроллеры встраиваются практически во все: начиная с логики управления обмоткой двигателя и кончая управлением умным домом. Из 20 проектов 19 реализуются на контроллерах!
Например, можете ли Вы мне указать на сервер, где можно установить что-либо типа Rest (то есть сервер с поддержкой Rest) за приемлемую плату с приемлемой производительномтью?
по-моему Вы бредите...
я запускаю рест сервис с помощью команды:
node server.is
Все. Никакой сервер мне не нужен. Я сам его написал. Сервер, который регламентирует РЕСТ.
Вы можете предложить другое решение, на базе Rest - протокола
Я ничего не могу Вам предложить, так как я не веб программист. Меня просто смущают некоторые словосочетания.
Отчего:
Rest - протокол
где можно установить что-либо типа Rest
то есть сервер с поддержкой Rest
Что я не понимаю, потому как везде пишут что то типа этого
https://habr.com/en/post/38730/
А архитектуру или концепт не устанавливают, а просто либо используют либо нет. Ну и к языку это тоже не может иметь отношения.
Мне просто было интересно узнать что это такое, казалось что понял. А тут Вы....
Я рад за Вас и за немецких школьников. А ещё за Ноду и за Шарп.
В детстве, когда, Вас, скорее всего и в проекте ещё не было, я уже изучил эти вещи.
И пока Вы вместе с немецкими школьникам баловались с Нодой и Шарпом, я набивал оскомины с любимым Вами РЕСТ-ом. Продолжайте его любить: это бесплатно.
Когда закончите школу и начнёте делать реальные вещи, возможно, Вы меня поймёте.
А сейчас Вам пора идти спать. Уже поздно.
Да, это действительно везде пишут. Но из этого не следует, что это действительно так.
То есть архитектурно это именно так и есть, но на практике ооооооочень часто бывают изъяны. Говорят: "гладко было на бумаге, да забыли про овраги"! Прошлым летом у меня был заказ, суть которого сводилась к УХОДУ от REST. Предыдущий программист подсадил компанию на этот REST и начальство тут ругались арабским матом, так что стены дрожали. Басков отдыхает ;)))
Кстати, я тоже не web-программист. И то, что я Вам описал про хостинг за 158р в месяц и ERP, живущие на нем -- это выполнено не в виде web-приложения, а в виде обычного windows-приложения, которое использует хостинг у провайдера в качестве облачного хранилища.
Кстати, Вы знаете какие-нибудь доступные библиотеки для работы с REST, например для Delphi или для c++?
скукотища! Вот у моего знакомого ушли от РЕСТ в сторону перфокарт.
Перфокарты ведь более масштабируемы, чем какой то там HTTP 1.1
Кроме того у РЕСТ аш целых 6 ограничений по Филдингу. Это дофига. У перфокарт оно ровно одно. И вы его точно можете назвать, коллега. И, чем меньше этих ограничений, тем более громче ночальство ругается китайским матом. ОК?
После перевода с РЕСТ на перфоркаты стены здания банка были полностью разрушены.
коллега, суровые Челябинске мужики пишут рест сервисы на флеше. Причем той же версии, на которой создавался сериал Масяня и Happy tree family.
И знаете почему? Ни в делфи ни в си плюс плюс нет нормальных юнит- и интеграционных тестов!
Они есть только во флеше!
Visual Studio к сожалению позволяет компилировать только под Windows
ну и замечательно, больше пока ничего и не требовалось.
А под юникс есть команда dotnet
А как же Вы пишете прошивки для каких-нибудь контроллеров?
никак, их пишут те кто этим занимается.
Не обязательно все должны работать в Вашей предметной области.
Вы знаете какие-нибудь доступные библиотеки для работы с REST, например для Delphi или для c++?
Для начала можно было спросить на кой мне нужен сейчас Delphi или С++
Были времена когда я их активно использовал, но они прошли
Кстати, большинство софта с которым я имею дело не подразумевает доступ к интернету.
Ни одна компания здесь не может работать по таким принципам.
Дох. Никогда не говори никогда. Я как то видел небольшие проекты, которые лепились на коленке. Проблема в том, что они разрабатывались в максимально сжатые сроки и быстро выбрасывались. И приносили деньги. То есть нормально все доводить до ума было просто нерентабельно.
Дох. Никогда не говори никогда
Исключения, конечно могут быть. Но что, пару месяцев команда ничего не делала, а в последний месяц нанимали фрилансера?
Можно еще конечно втюхивать и "одноразовые" проекты, но мне подобная ситуация пока не попадалась.
Например, можете ли Вы мне указать на сервер, где можно установить что-либо типа Rest (то есть сервер с поддержкой Rest) за приемлемую плату с приемлемой производительномтью? Если рыть в направлении Apache Tomcat, то стоимость аренды такого сервера будет довольно высока. Плюс к тому же стоимость трафика.
Не раз уже делал Restfull сервисы на WCF. Все хостится под IIS. Более того, один и тот же сервис работает и как Restfull и на WSDL. Ты просто не в курсе. И вообще для restfull ничего специально поднимать не надо. Эту хренотень придумали еще в те далекие времена, котога сайты оптимизировали для робов от поисковиков. Кто-то умный предложил вместе mysite.com/index.html?page=p1 написать mysite.com/about , а уже веб сервер переводил это на index.html?page=p1.
Кстати, интересная статейка попалась
https://www.spiegel.de/wirtschaft/soziales/arbeitslosigkei...
Перспективы трудоустройства программером у вас нулевые. Можете сидеть развлекаться, типа "учить Яву", только в надежде отсрочить приход Альцгеймера.
Учите немецкий и попытайтесь найти себе занятие аналогичное тому, чем занимаетесь сейчас.
Я вообще не понимаю почему бытует мнение, что программировать легко и просто и "даже негр преклонных годов" способен выучить "простую" яву. Программирование (даже в форме говнокодинга) доступно далеко не каждому.
вы отделяйте мух от котлет. "Учить" Ява на реальных проектах с реальными технологиями -это одно. Очень узкая специализация типа атлассиан разработки, open api-swagger и к нему еще ынтырпрайзный фронт типа Vue - это одно. В этой области у вас не будет конкуренции ни с немцами, ни с индусам.
Здесь есть бабло. Вам будут давать время на изучение этого, т.к. выдать на аутсорс будет еще дороже.
Учить Ява как ЯП это совершенно другое. Это делает каждый студент, практикант или ацуби.
Я кстати именно поэтому не смог ответить на вопрос на VG ob Die ohne Hilfe Java können.
Идиотский вопрос: в Ява как технологии решить вопрос без помощи коммунити невозможно.
Ява - не сложный язык вхождения? Всегда думала наоборот...Я считаю, кстати, что для человека ничего невозможного в этой жизни нет- нужно только очень сильно захотеть! ГЕНИЕВ не сущесвует, существует ежедневный кропотливый труд над самим собой.
Но все же, куда проще как язык, например, Питон (кстати, некоторые итальянские профессора пророчат ему большое будущее - - не знаю как в Германии).
А если попробовать так:
1. За год вы учите досконально Питон или быстрее.
2. Устраиваетесть на работу в России ещё на год и набираетесь опыта (параллельно английский, немецкий куда сложнее и его вы выучить сможете приехав в Германию, если понадобится).
3.Переезжаете.
* Планируйте хорошо время, и ставьте маленькие цели не на года а на месяцы или недели.Так легче контролировать время и результаты.
* Найдите в ю-тубе хорошего персонал коуча и посвятите ему мин. 1 час в неделю. Поможет вам не потерять мотивацию и не опустить руки.
* Займитесь спортом (в 40- 50 лет это очень важно) -3 раза в неделю вполне достаточно (ходите/бегайте на свежем воздухе,4-5 км достаточно)...Спорт поможет держать в форме как тело так и мозг, быть устойчивым в стрессовых ситуациях- они при переезде неизбежны.
П.с: сможете ли вы найти потом работу с Питоном в Германии- это вопрос....Но то,что он легче чем Ява и больше подходит для 50 летнего начинающего - это точно!
пайтон не "легче" жавы. он просто другой.
кроме того, из опыта личного, могу утверждать, что не язык представляет главную трудность, а вникание в problem domain, toolchains, ... и прочие штучки, когда кажется вначале, что попал на небо, и здесь уже ангелы, и они говорят на небесном непонятном языке. пока постепенно, спокойно не втянешься. первый раз дается психологически сложно, но стоит обжечь первый горшок, как отношение к богам заметно меняется.
есть люди, которые любят опускать руки, если найдется кто-то, кто авторитетно выскажется, что "это все - напрасно затраченные усилия, лучше современный веник освоить, хоть что-то...", и есть люди, которые не верят этим "авторитетам", всю жизнь подпираемым кем-то под жопу, и не сдаются. если не получается - просто ищут другие пути. но карабкаются. в
конце-концов, на нас смотрят наши дети-внуки. электрометла, конечно, хорошо, но дух несломленный - куда важнее. если, еще и самодисциплина, то может и получиться. очень даже.
П.с: сможете ли вы найти потом работу с Питоном в Германии- это вопрос.
. Так может начать учится играть на скрипке? В первую очередь человек хочет работать. То есть все остальные телодвижения вытекают из этого.Нахрена челу итальянские профессора и их мнение? Ему нужна работа.
сможете ли вы найти потом работу с Питоном в Германии- это вопрос....Но то,что он легче чем Ява и больше подходит для 50 летнего начинающего - это точно!
Вы будете смеяться, но в 2009м тебя работа с питоном сама могла найти на волне хайпа на джангу.
Сейчас хайп поутих, но питон используется либо в ML, либо как часть тулчейна в автоматизации тестирования.
те же селениум тесты на нем пишутся.
Ну ребята, я не могу спорить с такими матерыми прогерами как вы (aвтор может упустить первую часть моего поста), я просто высказла свое субъективное мнение и кое-кого еще. Даже и близко себе не представляла, что Джава вс Питон - это дело даже принципа, как вижу!(без сарказма). Если дело касаемо принципов, то я тоже за них. Но всеже, например, пишут о них:
Trends in Java and Python
While not as trendy as it once was, Java is still the most popular programming language by virtually any measure. On the other hand, Python's growth has been astronomical, especially in developed, high-income countries. According to some sources, Python will eventually overtake Java's popularity. The reasons for this amazing growth include developer productivity, language flexibility, library support, community support, and ease of learning. Python has also been heavily leveraged in hot areas like data science and artificial intelligence as well as web applications, desktop apps, network servers, and media tools.
Java's popularity, meanwhile, may have been hurt by its less-than-stellar security reputation. Tech news sites such as The Register delight in bashing Java, while claims that 88% of Java apps have security issues. Of course, Java's bad rap is largely due to problems with the Java browser plug-in, otherwise, the language's security problems are not significantly worse than other languages. In any case, Python's own security record is far from ideal, but it has enjoyed better support in that area, and Python's ease of use can make it easier for less-experienced developers to secure their code.
However, it would be unwise to think of Java as a "has been" language. Java developers keep adding new functionality and making Java smaller, faster, and more flexible when it comes to large-scale development. The powerful Java Virtual Machine (JVM) makes it easy to create cross-platform compatible Java applications, and Java continues to excel at building large traditional applications that represent the kind of coding that most businesses engage in today-it's used by 90% of the Fortune 500! No matter how you cut it, the huge installed base of Java application code-and Java programming jobs-isn't going away any time soon.
Java and Python also use very different threading models. The Python GIL, or Global Interpreter Lock, means that, unlike Java, Python is effectively single-threaded-it can only run on a single CPU core at a time. On the other hand, using a GPU with Python is relatively simple, compared to doing the same thing with Java. So, while it may not yet be a standard implementation outside of scientific applications, a Python application running in a massively parallel mode on a 5,120-core GPU is likely going to smoke a fully optimized Java application running on an 8-core CPU.
Perhaps due to the wide range of Java-development positions, a recent freeCodeCamp post noted that Python programmers typically make more money than Java developers: $116,000 vs. $102,000 per Indeed and $99,000 vs. $96,000 per StackOverflow.
2018.
P.S: Я это не к тому: " кто выиыграет в гонке "Джава - Питон? ", поймите меня правильно, а к тому, чему легче научится в 50.
Люди, я не против питона и не собираюсь никого забрасывать тапками в религиозных войнах. Но я решаю те проблемы, которые имеются. А не придумываю новые. Если челу делать нефик и он ищет себе хобби это одно. Если чел разрабатывает стратегию выживания после смены места жительства это совсем другое. В этом случае критерием будет не перспекивность языка, не его красота или возможность в решении каких то задач, а найдет чел работу или нет. Все. Все остальное не играет никакой роли.
Ява - не сложный язык вхождения?
-----
Да, не сложный. Много проще целой кучи других, регулярно и во множестве пользуемых.
бегайте на свежем воздухе,4-5 км достаточно
-----
Перед тем как давать подобные советы хорошо бы сделать две вещи:
- заглянуть в нормативы ГТО - там нагрузки по возрасту вполне хорошо прописаны
- заглянуть в медицинскую книжку - вполне могут быть существенные ограничения...
Спорт поможет держать в форме как тело так и мозг
-----
А как насчет - искалечить и убить?
больше подходит для 50 летнего начинающего
-----
Гы... гы... Гы-гы-гы-гy...
вы отделяйте мух от котлет. "Учить" Ява на реальных проектах с реальными технологиями -это одно. Очень узкая специализация типа атлассиан разработки, open api-swagger и к нему еще ынтырпрайзный фронт типа Vue - это одно. В этой области у вас не будет конкуренции ни с немцами, ни с индусам.
Я то как раз отделяю. А ТС может лучше смотреть не в сторону атлассиана, а в сторону SAP. Приедет сюда, походит пару лет на курсы от АА, потом пару раз пристроится поработать, а там уже и пенсия рядом.
Учить Ява как ЯП это совершенно другое. Это делает каждый студент, практикант или ацуби.
так именно этим ТС и пытается заниматься.
У правильных студентов, кстати, ява ваще не котируется.