Как стать хорошим программистом на работе?

Здравствуйте! Полгода назад устроился на работу Python программистом. Но моих знаний совсем недостаточно и я это вижу, сравнивая себя со своими коллегами. Как стать очень хорошим разработчиком? К сожалению моему наставнику на работе на меня плевать, дает мелкие задания, никакого развития, одна рутина.
  • Вопрос задан
  • 1181 просмотр
Решения вопроса 1
lxsmkv
@lxsmkv
Test automation engineer
Во первых, что такое "хороший" программист, это сложно определить. У нас тоже есть программисты, они вроде работают и деньги получают, и с образованием, а когда в продукте обнаруживаются проблемы, выясняется что логгирования в компонентах нет, о юнит-тестах никто не подумал при написании, а теперь придется рефакторить чтобы их туда прикрутить, да и если бы заранее подумали о тестировании и написали юнит тесты, то этих проблем бы не возникло сейчас. А теперь чтобы исправить проблему, нужно перекраивать код целыми слоями, а продукт уже в фазе стабилизации и просто так туда изменения не зальешь. Ну ладно можно сказать это джуниоры напортачили. Но у нас и сениоры есть, под чьим руководством они работают. И сениоры прекрасно знают как делать правильно но не требуют этого от остальных.
Я все это к чему - можно фигачить код со скоростью электровеника, а можно писать его медленно. Скорость написания кода не говорит о том хороший программист или плохой ничего. Совсем ничего. Можно быстро писать плохой код.
Гораздо важнее правильно мыслить. Для этого нужно читать книжки типа Clean Code. Юнит тестирование тоже. Нужно приобрести понимание хорошо и плохо. Если вы читаете код и в нем черт ногу сломит. Может это плохой код?
Чтобы набить руку в программировании нужно им заниматься. У меня постоянно открыт repl.it где я набиваю мелкие куски кода для развлечения. Нужно постоянно тренироваться, "ни дня без строчки", только тогда мозг перейдет из режима отторжения в режим обучения. Заставляйте себя, заставляйте себя разобраться. Разберите как работют лямбды, list comprehension. разберитесь в *args, **kwargs. Выясните разницу между __new__ и __init__. Для новичка это приличная нагрузка, но вы должны поверить в то что осилите это. Иначе будете всегда пасовать.
Почитайте гайдлайны по питону docs.python-guide.org/en/latest/writing/style
Питон очень стройный язык, он вам не сломает мозг как какая нибудь ява. Читайте хаб по питону на тостере, на хабре. Я например пытаюсь решить задачки которые пролетают тут по хабу, и улучшил свои знания питона за счет этого.
Удачи, надеюсь смог хоть как-то помочь.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@mzG2Gzm
Как стать очень хорошим разработчиком? К сожалению моему наставнику на работе на меня плевать, дает мелкие задания, никакого развития, одна рутина.


Открою вам тайну - всем плевать на ваше развитие.
От вас заказчику/работодателю требуется только решение задач. Здесь и сейчас, а не когда вы выучитесь. Так всегда будет в вашей карьере.

Полгода - это вообще не срок.
2 года - вот тогда уже можете считать себя начинающим программистом.

Что вы подразумеваете под "рутина vs развитие"? Правка текущих мелких багов, поддержка vs создание собственного уникального проекта? Так вы еще не готовы для этого.

P.S.:
Как вариант - сменить контору.
Чем крупнее контора, тем более вероятно наличие системы с обучением сотрудников.
Мелким предприятиям это убыточно - ведь велика вероятность, что вы выучитесь и просто уйдете.
Но крупные делают обучение, небольшой процент остающихся надолго - вполне компенсирует.
Ответ написан
Комментировать
Что мешает развиваться дома? Можно ведь до или после работы читать книги, смотреть видео и т.д. Достаточно пары месяцев интенсивного самообучения, чтобы серьезно поднять свой уровень.
Ответ написан
sim3x
@sim3x
Так разработка и есть рутина
Учитесь делать мелочевку быстро, красиво, тестируемо, прогнозируемо по срокам

При наличии свободного времени пересматривайте свой код и пытайтесь его улучшить

Постепенно смотрите чужой код
Через пару месяцев возьмите книгу по паттернам проектирования
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Простите, но на работе вам платят деньги не за развитие, а за выполненные задачи.

Если вы станете более квалифицированным сотрудником, возможно вы захотите больше денег или сменить работу, а текущему работодателю это не нужно, поэтому в 90% предприятий повышение квалификации идет исключительно до того уровня, который достаточен для выполнения текущих обязанностей.

Развиваться нужно самостоятельно. А работа вам дает возможность на практике пробовать то, что вы узнаете новое.
Ответ написан
Комментировать
Shapito27
@Shapito27
php, laravel
Почитайте Как ускорить работу программисту? много полезного
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы