• Как преодолеть неуверенность при разработке джуниору?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Все джуны - плохие разработчики. Даже обладатели красных дипломов лучших профильных ВУЗов страны. Это нормально. Важно понимать, что стать лучше можно только преодолевая трудности - no pain, no gain. Нужно не сдаваться. Путь к "более-менее сносный мидл" - это как минимум 3 года упорного тяжёлого труда.

    И ещё, у меня за спиной 19 лет опыта и хороших достижений, но я до сих пор постоянно испытываю чувство неуверенности.

    spoiler
    в конце концов я не смог дальше и ушел с этой работы

    5cea35e2ad156212865359.jpeg
    Ответ написан
    Комментировать
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    @ClusterBias
    Вы в век капитализма живете. То что вы не тянете, не должно вас особо смущать. Я еще понимаю, если бы вы были белой овцой в группе первоклассных инженеров, тогда да. Парни с мозгами 10кг и вы еле понмающий как вас вообще сюда взяли. Запонимте, что вас должно волновать благополучие и жизнь только вас и ваших близких. Если вас взяли, а вы не тянете не ваша вина, а работодателя, если он хотел самостоятельного юнита, а взял интерна, если и хотел интерна, то вообще вопроса не существует. Смело сидите и учитесь за зарплату, самому уходить не стоит. Это так сказать был подогрев отношения к этой жизни. А по факту. Научитесь еще, все через это проходят, приходя и тупя как дятлы в монитор, не понимая базовых вещей. У меня точно так же было, у вас точно так же есть, у ваших детей будет также, у их детей тоже самое. Это нормальный процесс. У вас сейчас вместо задачи в голове, моральные истязания, что тоже очень вам мешает. Просто работайте дальше. Если уволят, то начальник видимо вас неверно воспринял, как самостоятельного юнита. Его ошибка, его вина, не ваша.

    Кстати я однажды так ушел с работы. Стыд от незнания и постоянных вопросов по элеменрным вещам, был конечно не главной причиной почему я ушел, ушел из-за отношения к работе, не как к работе, а как... Не знаю даже, как к чему-то большему, как к смыслу жизни, и поняв, что конкретно эта специальность, не мой смысл жизни, я ушел. По прошествию времени могу сказать, что не жалею принципиально, что ушел, но если бы снова оказался в том времени в той ситуации, я бы этого не сделал. Удачи вам, в вашем нелегком деле!
    Ответ написан
    2 комментария
  • Уехал в Москву, но не тяну по сложности, стоит ли возвращаться домой?

    @afasov
    Братан, я живу в Курске и я тебе скажу хорошее мнение.
    Если вкратце, то не уезжай, оставайся до последнего.
    ПОтому что во-первых продукты там стоят, я бы сказал, даже на 5% дешевле чем у нас, проезд на 2рубля дороже. Т.е. здесь ты ничего нетеряешь.
    Во-вторых, из того, что здесь уже написали много хороших мыслей, из которых можно сделать следующую выжимку:
    1) Пока тебя не выгнали, оставайся до конца
    2) Попробуй поговорить с руководителем, объясни, что ты очень целеустремленный ( а это так и есть), и что просто сейчас немного не успеваешь, в том числе потому, что с английским чуть туговато. Вообщем, поговорить немножко надо, потому что общение тоже необходимо, а во-вторых может быть он хороший человек и вполне тебя поймёт!
    3) Насчёт английского, щас в ютубе есть хорошая опция: ты смотришь видео по своей теме, где люди говорят на английском языке. Включаешь внизу кнопочку "показать субтитры" - у тебя начинают идти субтитры на английском. Потому жмёшь шестеренку "настройки" -"субтитры - перевести - язык русский". Субтитры станут русскими. Правда не во всех видео есть субтитры, но в подавляющем большинстве есть! ЧТо это тебе даст? ТЫ на слух будешь воспринимать английские слова и смотреть на перевод, и это помогает быстрее понимать язык. Не говоря о том, что видео курсы также часто помогают быстрее понять материал!
    Ответ написан
    3 комментария
  • Чувствуется ли избыток специалистов по разработке на WordPress?

    @MasterMike
    Если вы умеете программировать, то в первую очередь перестаньте ориентироваться на рынок труда постсоветского пространства.

    У нас, если говорят, что нет спецов, то значит нет спецов, готовых работать за копейки.
    Там если нет спецов, то значит их действительно нет, и оплата труда будет сильно выше той суммы, которая платилась бы им, если бы они были.

    Что касается WP - вам нужно выйти на западные студии. На западе считай это основная админка.
    Спецы есть, и, мне думается, если прорваться сквозь толпу, простите, неграмотных индусов, то нужны будут еще )

    p.s. НИКОГДА не работайте бесплатно. Мало того, что вас демпингуют все в округе, так вы еще демпингуете сами себя. Если вы не будете брать денег за свою работу, то никогда не заработаете даже и 30.
    Ответ написан
    Комментировать
  • Как перейти из инженера в программисты?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    Этот вопрос задают себе и новички (какую тему выбрать для дипломного проекта) и специалисты из других областей, не связанных с программированием (например, периодически на хабре проскакивают статьи "Джун в 40 лет").

    Я немного скажу вам свой путь в этой сфере.
    1. С самого начала хотел быть программистом. Вот прям со школы, с 7-го класса. Раньше не получилось - персоналок ещё не было, поэтому начинал на терминалах. Но это не критично. Поэтому и в 30 лет, думаю, можно и не надо себе запрещать. Пластика мозга.
    2. Пробовал программировать что в голову взбредёт. Это, видимо, важный этап, когда учишься отделять мух от котлет - когда и где вообще имеет смысл применять программирование.
    3. Бесчисленное количество попыток заставить работать идею в виде программы. Иногда это не 1-2 попытки. 20, 30 и больше. Сутки, двое, неделю, чтобы заставить "это" работать. И это далеко не предел.
    4. Со временем учишься ставить себе задачу в более-менее ясном виде и на техническом языке, своего рода "техзадание", только внутреннее, когда вы самому себе по шагам расписываете решение (уверен, что этот этап вам хорошо знаком по вашей профессии).
    5. А вот теперь самое главное - работа программистом в "чистом виде" называется "кодировщик". И это вообще не интересное занятие. Даже низкоквалифицированное. Поэтому, самое интересно в программирование - личное общение с людьми других профессий. Вот представьте себе, что квалифицированный спец или даже ГИП рассказывает вам как что-то проектируется и строится! Да ни один препод в институте вам так интересно и с энтузиазмом не расскажет как идёт этот процесс. А вы слушаете, мотаете на ус и размышляете, что вы можете для этого человека сделать, чтобы автоматизировать его деятельность (п.2 и 4). Так сказать ищете своё место в этой работе. Фактически, имея одну профессию программиста можно познакомится с большим количеством разных профессий и поучаствовать в них. И на этом уровне недостатка в работе вроде как и не будет больше. Но тут надо решить для себя, что вы готовы к такой смене профессий, но к ней люди идут годами и таких людей не так уж много.

    Ну и самое неожиданное - вы себе не представляете, сколько нужных программ и утилит ещё не написано!

    Скажу вам пару секретов из опыта:

    1. Нет хорошего или плохого кода (типа "говнокод"). Если код работает и выполняет свою задачу - он хороший. Остальные идут лесом. Можно спросить коллег, чтобы они вам подсказали, как можно было бы решить задачу проще, но их советами можно игнорировать, т.к. они не живут в контексте вашей задачи и именно вы несёте ответственность, что в вашей программе окажется тот или иной кусок кода. Поэтому не вставляйте в программу код, который вы не понимаете.
    2. Как и в любой другой профессии вас будут учить только как делать правильно, но никто не будет вас учить как не надо делать (думаю, что и это вам должно быть хорошо знакомо по своей профессии). Тут только на своём опыте. И эти два понятия по времени прохождения очень сильно отличаются.
    3. Ведите журнал. Записывайте, что получилось, потом перечитывайте. Начните с простого, "написал программу Hello World на C#" и сделал это следующим образом - скрин запуска Visual Sudio, создание нового класса, указание места, куда вписал текст "Hello World". Потом через пару дней будете делать другую программу будете быстрее вспоминать как вы начинали первую программу. Лично я себе стал делать такие заметки лет 8 назад. И писать доки в своим программам. Очень помогает, когда выдёргивают из контекста на полгода, потом просят доработать.

    У меня тоже получилось несколько сумбурно, но как есть. )))

    P.S.
    программирование контроллеров для инженерных систем зданий
    - с моей точки зрения отличается от "обычного" программирования инструментами разработки и возможностями отладки и имитации тестовой среды. Поэтому с контроллерами - это лучше после некоторого опыта программирования. Хотя само программирование контроллеров может быть и проще чем обычное программирование под Windows/Linux.
    Ответ написан
    Комментировать
  • Как перейти из инженера в программисты?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    На сколько реально влезть в серьезное программирование
    влезть, можно куда угодно.. но частенько, для этого, надо упереться рогом (с) народное?

    ps
    В принципе готов к плавному переходу из одной области в другую в течении пары лет.
    вот только области плевали на вашу точку зрения. в программировании, сейчас, за 2 года, меняется все... поясним - принципы мышления. то есть говоря на кухонном языке - меняется все
    .. что бы вы вообще смогли
    из одной области в другую
    , надо
    в течении пары лет
    все.. ВСЕ свободное (и не только) время, посвятить программированию вообще, и вгрызанию в конкретную предметную область в частности
    Ответ написан
    Комментировать
  • Почему не могу найти работу Junior'ом C#?

    @Oligophren
    Сертифицированный разработчик Terrasoft BPM'online
    Самую первую работу всегда трудно найти. Нигде же не написано, что вы должны устроиться в течение месяца :) Поэтому не паникуйте и пробуйте и у вас всё получится.
    Ответ написан
    Комментировать
  • В чем смысл одинарного и двойного подчеркивания перед переменной или методом при определении класса?

    @kova1ev
    По поводу двойного, могли бы разъяснить. Понял, что декарируются _ИмяКласса__метод, но как это выглядит на практике не совсем понимаю


    class Base:
        def __init__(self, price):
            self.__price = price
    
    obj = Base(99)
    print(obj.__price) #ошибка
    print(obj._Base__price) #выведет значение атрибута __price

    если создать объект Base и попробовать обратиться к атрибуту __price - будет ошибка. То есть он вроде как приватный. Но на самом деле, если очень хочется, можно обратиться к нему через конструкцию obj._Base__price, ну и изменить тоже можно
    Ответ написан
    1 комментарий
  • Как сделать обтекание картинки текстом на хабре?

    ziginsider
    @ziginsider
    C#, Xamarin, Android, python
    Картинка - слева, текст - справа:
    <img src="https://example.com/image.jpg" alt="image" align="left"/>

    Если надо отменить обтекание текстом и выводить текст с новой строки:
    <br clear="left"/>
    Ответ написан
    Комментировать
  • Какое направление выбрать для входа в разработку и есть ли этот самый выбор?

    @baddev
    На счет фронтенда не знаю, но вот с java думаю пара тройка месяцев с нуля до джуна это будет сложновато.

    Я бы Вам посоветовал для быстрого входа в it стать sql-разработчиком. В первую очередь вы просто избавляете себя от безумного количества информации, касающейся какого-то языка программирования, смежных с ним технологий/библиотек и прочего, многие сейчас сильно недооценивают этот фактор, однако просто зная какой-то язык вы никому не нужны, гораздо важнее знать все что с ним связано и уметь работать со всем обилием инструментов и технологий, а этого за пару месяцев сложно достичь. Однако есть еще один островок, где можно стартовать с минимальными знаниями - это SQL. Для интереса глянул hh, вот например требования из вакансии с ЗП 50к рублей:

    "Хорошие навыки программирования на любом из диалектов SQL, опыт написания вложенных запросов, триггеров, хранимых процедур и функций, понимание плана выполнения запросов и способов их оптимизации."

    Хорошая новость в том, что тратя в день честные 3-4 часа, все вышеуказанное можно освоить за 1-2 месяца даже будучи на самым предрасположенным к такой магии человеком. И что еще более важно, объем знаний необходимых для старта меньше в разы чем в остальных направлениях, ну а чтобы добиться ЗП в 50к в том же фронтенде, думаю, вам придется минимум больше года поработать(речь о регионах, мск не знаю).

    Это я все к тому, что для быстрого и что самое важное более менее нормально оплачиваемого старта, sql и базы данных на мой взгляд вне конкуренции. А там как устроитесь на работу, то можно будет дальше решать: если понравится работать с базами - развивайтесь в этом направлении, балго есть куда расти, не понравится - по вечерам изучайте по-тихоньку что-нибудь другое. Из минусов отмечу не самое большое количество вакансий относительно других направлений, но их все равно достаточно. К тому же многие позволяют работать удаленно.
    Ответ написан
    1 комментарий
  • Может ли ClickHouse заменить Mysql?

    @artinnok
    бекенд-программист
    Конечно, нет - это абсолютно разные базы, у которых разное применение.
    ClickHouse - OLAP (подходит для аналитики на больших массивах неизменяемых данных)
    MySQL - OLTP (подходит для нормализованных таблиц с изменяемыми данными)
    Вот версус.
    Ответ написан
    Комментировать
  • Что учить первым C# или Python?

    @YellowTriangleMKV
    Хоть я и обожаю Python, но в вашем случае посоветую C#. Но пойдёт сложнее, чем Python, но в вашим запросам он более удолетворяет.
    Ответ написан
    Комментировать
  • Насколько хорошо надо знать английский?

    longclaps
    @longclaps
    Чтобы работать и жить свободно в стране Американ, достаточно быть местным глухонемым.
    Не парься.
    Ответ написан
    Комментировать
  • Заочное или очное(прикладная информатика)?

    vt4a2h
    @vt4a2h
    Senior software engineer (C++/Qt/boost)
    Я вам рекомендую получить образование в Европе (что сильно проще) или в США. Это решит все ваши проблемы одним сразу: и из России уедите, и образование в нормальной среде получите, и можно будет реально тратить время на учёбу, и работу гарантировано найдёте. В европейские институты довольно просто поступить на самом деле, можно и стипендию получать + это обычно ничего не стоит, т.е. образование бесплатно. Разумеется надо английский знать и сдать соответствующие тесты (в том числе и по-английскому). В некоторых странах бакалавриат только на родном языке, поэтому возможно придётся предварительно на языковые курсы съездить для поступающих (а вот это не бесплатно).

    PS
    Ну и я тут слышу мнение диванных аналитиков, о том, что программистов и так очень много и они не востребованы. Это конечно же в корне не верно, достаточно просто посмотреть на рынок, ну или с людьми поговорить из этих стран.

    PPS
    К слову, США и Норвегию сравнивать не стоит. Это очень разные страны и по организации общества, и по менталитету, и по оплате труда программистов, и по количеству вакансий. Если вы не поклонник социализма, то США сильно выигрывает по всем остальным пунктам.
    Ответ написан
    Комментировать
  • Как можно стать сеньором за 3-3.5 года?

    rockon404
    @rockon404
    Frontend Developer
    В современном фронтенде можно как-то так:

    1-ый год: вы пришли в компанию с хорошими фундаментальными знаниями, знаете базовые API инструментов с которыми будете работать. На github лежит красивый ToDo List или WeatherApp на любимом фреймворке, а к его коду особо и не придерешься. Вас взяли на вашу первую работу в хорошую компанию, выбрали из нескольких кандидатов. Вы Junior. Компания занимается разработкой серьезных проектов(социальные сети, e-commerce, финтех и пр.). Команда очень сильная. Тут используют линтеры, прекоммиты, типизацию, строгий workflow и code-review. В первый год вы успеваете поучаствовать в паре проектов. Набираетесь опыта, упорно работаете над собой, читаете статьи, смотрите конференции. Умеете успешно находить решения типовых задач. Выбираете лучшие и без труда перепишите их под текущую задачу, если они не совсем подходят.

    2-ой год: вы в хорошо знаете все инструменты с которыми работаете, знаете весь инструментарий web разработчика, умеете решать многие типовые задачи, изучаете исходные коды библиотек, которые используете, знаете как лучше спроектировать ту или иную часть в конкретном случае и можете ответить на вопрос "почему так будет лучше?", влегкую развернете новый проект, что вам в итоге и доверяют. Вы уверенный Middle.

    3-ий год: вы понимаете, что в первую очередь вы решаете задачи бизнеса, умеете делать это эффективно, понимаете, что в принципе нет задач, которые нельзя решить. У вас есть опыт в поддержке живых проектов(исправление багов, расширение функционала, миграции, рефакторинг, онбоардинг для новичков). Вы собеседуете новых членов команды. Начинаете очередной проект, возможно уже в другой компании, на этот раз все гораздо серьезней и ваша роль в проекте гораздо важней, тут уже все зависит от ваших решений. Проект дошел до релиза. Поддержка, новые фичи, рефакторинг.

    4-ый год: Начали еще один. В вашем портфолио несколько проектов, в каких-то вы просто участвовали и внесли тот или иной вклад, но хотя бы один дошедший до релиза можно назвать вашим. Вы Senior.

    Все ИМХО, конечно.
    Ответ написан
    Комментировать
  • Вопрос к программистам от 30 лет и старше - у вас прогрессирует миопия?

    @yayashitoya
    Нет.
    Миопия со школы еще.
    Было -9
    До 25-х вроде, еще что то менялось.
    Потом - стабильно.
    К 40 стало назад восстанавливаться.
    Сейчас -8

    У знакомых в 35 лет стало -1 (даже очки не нужны и даже можешь и не узнать, это незначительная миопия).
    До этого было 100% зрение до 34, скажем.
    Ответ написан
    Комментировать
  • Как правильно использовать Docker для выполнения Python файла?

    1. Делаем контейнер на образе нужной версии python.
    2. "Заходим" в него.
    3. Устанавливаем нужные пакеты через pip.
    4. Делаем pip freeze.
    5. Копируем вывод во внешний requirements.txt
    6. Выходим из контейнера.
    7. Прописываем в докер файл копирование файла requirements.txt в контейнер.
    8. Прописываем в докер файл команду установки зависимостей через pip из requirements.txt
    9. Билдим контейнер по новой.
    10. Для запуска контейнера добавляем связь внешней папки с папкой в контейнере через монтирование.
    11. Запускаем контейнер.
    12. "Заходим" в контейнер.
    13. Правим код во внешней папке и запускаем его в контейнере ручками.
    Добились, что код рабочий. Теперь можно создать имадж с приложением. Для этого правим докер файл для добавления копирования кода из папки в контейнер и запуска приложения. Билдим и тестируем имадж через создание контейнера. Заливаем имадж в докер репозиторий. На основе имаджа запускаем контейнер на внешнем хосте. "Грустим", что всё закончилось.
    Ответ написан
    Комментировать
  • Как правильно использовать Docker для выполнения Python файла?

    Посмотрите здесь: https://hub.docker.com/_/python/
    Если в двух словах, то вы можете:
    1. Создать свой образ, основанный на выбранной версии пайтона с установленными нужными вашему скрипту зависимостями и запустить контейнер с примонтированным скриптом.
    2. Или собрать новый образ просто добавив в него скрипт. Так как зависимости уже были добавлены до этого, то шаг установки зависимостей докер пропустит и новый образ будет готов практически моментально.

    Пример образа:
    FROM python:3-alpine
    WORKDIR /usr/src/app
    COPY requirements.txt ./
    RUN pip install --no-cache-dir -r requirements.txt

    Пример запуска скрипта:
    docker build -t docker-test .
    docker run -it --rm --name my-running-script -v ${PWD}:/usr/src/app docker-test python your-daemon-or-script.py
    Ответ написан
    Комментировать