Десять советов начинающим программистам


1. Будьте самостоятельными


Если у вас есть какой-то вопрос, и вы не знаете как с ним поступить, то вначале постарайтесь исследовать его самостоятельно. Не ждите постоянной помощи от коллег — у них и без вас работы хватает. Используйте всю мощь поисковых систем, специализированных ресурсов (например, stackoverflow), профессиональных блогов, форумов разработчиков, и конечно же хабра. Большинство типичных «граблей» можно обойти различными эффективными вариантами, а для решения базовых задач есть дюжины готовых решений. Просто пойдите и возьмите. 



2. Умейте спрашивать


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

Перед тем, как задать свой вопрос, не спешите, постарайтесь его максимально четко сформулировать. Возможно, что ответ на вопрос уже кроется в самом вопросе. 

Если нужно показать какой-либо алгоритм или схему и указать на «тёмные», проблемные или слабые места, то для изображения старайтесь пользоваться специальными инструментами (например, UML), это позволит эффективно продемонстрировать предмет вопроса, а также даст вам прибавку к навыку проектирования.


3. Постоянно развивайтесь


Все мы являемся свидетелями сногсшибательных темпов развития технологий. Особенно это касается нашей сферы деятельности. Помните, что многое, что преподавали вам в ВУЗе, к сожалению может очень быстро устареть, стать не актуальным. К счастью, это пока не касается фундаментальных технических наук. Будьте готовы к тому, что вам постоянно придется постигать что-то новое, разбираться в свежих инновационных технологиях и исследовать новые тенденции всё время, которое вы будете выступать в роли разработчика программного обеспечения. К тому же подрастающее поколение не дремлет и создает конкуренцию. Важно понимать и то, что для эффективного и быстро освоения технологии, нужно постоянно тренировать сам навык обучения и не давать ему атрофироваться.


4. Не бойтесь учиться оценивать


Вспоминая себя, вначале у меня была своеобразная боязнь оценки поставленной задачи. И я с переменным успехом то промахивался, то попадал. Могу вас сразу успокоить, эта задача является настолько не простой, что для её решения существует множество комплексных методик, разрабатываемых не одним поколением специалистов, и это не только в айти. Мне кажется, что я вас изрядно напугал. Ну да ничего, поймаете пару ударов граблями, угостите пивом более опытных коллег, чтобы разузнать их ноу-хау, и у вас будет базовый навык эстимации задач. Со временем, приобретая опыт по решению различных задач, картина будет весьма ясной, например, вы без труда поймете, что на реализацию фичи «свистелка-пыхтелка на jQuery» понадобится 6 часов плюс 2 часа на риски. Так что это дело наживное. 


5. Не забывайте о всей картине системы


Разрабатывая очередной класс, реализуя паттерн или же исправляя хитрый баг, не забывайте о всей картине создаваемого ПО. Иногда случается так, что в результате чрезмерно-увлечённой работы над каким-то участком кода сужается видимость проекта, что приводит к потенциальным конфликтам в коде, нелепым ошибкам и провоцирует появление узких мест в системе.

Старайтесь тренировать общее видение картины через распечатанные на бумаге диаграммы классов (либо ключевые её части), схемы алгоритмов, комплексные структуры данных и прочие важные компоненты. Это поможет в случае замешательства быстро освежить общее представление и вернутся в здравый ритм.


6. В меру используйте готовые решения


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


7. Цените свой труд


Не подходите к задаче, как одолжению, иначе от вас будет только вред. Цените то, что вы творите, ведь вы именно творите и создаете. Не пожалейте пары минут на оформление кода, согласно общепринятым стандартам в компании или команде. Вычистите свой результат, будьте педантичны, воспитайте в себе эту привычку, если её еще нет. К примеру, если у вас «съехал» элемент интерфейса на несколько пикселей вправо, то не пожалейте времени поправить его, вернув на место. Обязательно проверяйте и запускайте результат своей деятельности, не перекладывайте всё на плечи без того загруженных инженеров по контролю качества. В итоге вас обязательно заметят и оценят по достоинству, и все, потому что вы цените то, что создаете.


8. Не будьте ленивыми


Комменты на хабре, просмотр роликов на ютубе и прочие скайпы во время простоев на работе — это не плохо, но гораздо лучше заниматься чем-то полезным как для себя, так и для коллег. Прочитали об интересной технологии, которую потенциально можно применить на проекте? Попробуйте её в деле — нагрузите тестами в песочнице, сравните полученные результаты с уже используемыми сходными технологиями, или же напишите «hello world» в виде движка для блога либо другой тривиальной (но не слишком) задачи. Также хорошо в свободное время можно создать что-то своё: будь то простенький greasemonkey-скрипт для любимого веб-ресурса, или же давно не дающая покоя оригинальная мысль для стартапа. В любом случае огромным плюсом после всего этого будет поддержание рабочего тонуса и, как следствие, хорошие результаты в решении новых задач.


9. Умейте правильно излагать свои мысли


Старайтесь кратко и четко излагать свои мысли. Не зря говорят, что краткость — сестра таланта. Если вам приходится не просто и словесная «вода» льется без остановки, то тренируйтесь «на кошках»: запишите мысль на бумаге, постарайтесь вдумчиво выделить базовый тезис и, через постепенное вычеркивание «лишних» и «приукрашающих» слов и фраз, очищайте его. Отнеситесь к этому, как к игре — с азартом, энтузиазмом и интересом. В роли второй «кошки» выступает, как ни странно, твиттер, с его ограничениями на сообщения. 


10. Не ограничивайтесь своей ролью


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


Источник: habr

August 4, 2018
by Light of Tech
0
6

Взломали известный новостной сайт Reddit

Представители Reddit в своем блоге заявили, что были взломаны. При этом, сотрудниками компании было сообщено, что киберпреступник получил доступ к электронным письмам пользователей, внутренним файлам, а также ко всем данным Reddit с 2007 года. Самое важное, что были скомпрометированы учетные записи с доступом к облаку и исходному коду.

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

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

August 3, 2018
by Light of Tech
0
6

Графики выхода новых десктопных процессоров Intel

Китайский портал XFastest опубликовал слайды с ближайшими планами компании Intel на рынке десктопных процессоров. В мейнстрим-сегменте нас ожидает дебют 9-го поколения Intel Core с кодовым названием Intel Whiskey Lake, хотя источник называет его Intel Coffee Lake Refresh. Первыми в третьем квартале (в августе-сентябре) дебютируют четыре модели: 6-ядерные Intel Core i5-9400 и Intel Core i5-9600K, 8-ядерный Intel Core i7-9700K и 8-ядерный 16-поточный Intel Core i9-9900K. Затем в первом квартале появятся остальные представители серий Intel Core i3, Core i5 и Core i7. 


Что же касается HEDT-сегмента, то еще весь третий квартал в нем будут доминировать серии Intel Skylake-X и Kaby Lake-X. В четвертом им на смену придет линейка Intel Basin Falls Refresh, подробности которой пока держатся в секрете.

August 3, 2018
by Light of Tech
0
11

В Facebook и Instagram скоро появится функция контроля времени


Социальные сети Facebook и Instagram анонсировали скорое появление новой функции, которая будет уведомлять пользователей о проведенном времени в соцсети, а также позволит это контролировать. 

В совместном сообщении говорится, что сама по себе опция будет в виде панели управления активностью.

Пользователь будет каждый день получать уведомления о превышении временного лимита, а также появится возможность приостанавливать push-оповещения.

Последние можно временно приостановить на время от 15 минут до восьми часов.

В Facebook новая вкладка получит название «Ваше время на Facebook», а в Instagram — «Ваша активность».

August 3, 2018
by Light of Tech
0
10

Подборка лучших книг по Python

Подборка лучших книг по языку Python

Марк Лутц - Изучаем Python и Программируем на Python (2 тома) - очень большая книга, где всё очень подробно разжевывается. Возможно, иногда даже слишком подробно. Пожалуй, лучшая книга для тех, кто только начинает изучать программирование вообще, и Python в частности.


Вестра Э. — Разработка геоприложений на языке Python. Эту книгу должен прочитать каждый разработчик, который хочет написать адекватное ГИС приложение на Python.


Прохоренок Н.А. - Python 3 и PyQt. Разработка приложений - очень хорошая книга, с подробными примерами. Мне она показалась самой лучшей. По размеру меньше, чем Лутц.


Марк Саммерфилд - Программирование на Python 3. Подробное руководство - тоже хорошая книга о Python 3


Р. Митчелл. Скрапинг веб-сайтов с помощью Python - книга подходит исключительно для тех, кто раньше не занимался парсингом (для них она будет интересна), остальные проходят книгу стороной.





Источники: pythonworld, habr

August 1, 2018
by Light of Tech
0
27
Show more