Казахстан, Темиртау, сш#19, 2009 |
Компьютерная грамотность/
Также мы сделаем выводы о том, какие качества и навыки нужно развивать программному инженеру, чтобы стать настоящим профессионалом, который может эффективно работать в своем направлении или над своим продуктом.
Грамотность и виртуозность при обращении с компьютером, владение программным обеспечением — ядро деятельности программной инженерии. То, насколько глубоко программный инженер знает и понимает свои рабочие инструменты, умеет ими разносторонне пользоваться, определяет уровень его мастерства. Без понимания всех возможностей используемого инструментария программный инженер всегда будет придерживаться лишь понятного и привычного ему способа работы. Постепенно это приведет его к косности, односторонности, субъективности, а порой даже к тому, что, меняя рабочий продукт или область деятельности, инженер, находясь в плену своих старых рабочих привычек, станет заложником принятых предпосылок, ограничений, рамок. А это — "медленная смерть" в такой инновационной деятельности, как разработка программного обеспечения, которая предполагает изменение подходов к работе практически каждый день.
Как же постараться не допустить этого?
Назначение
То, что с каждым годом жизнь все сильнее зависит от компьютерных технологий, уже ни для кого ни является тайной.
Компьютер давно перестал быть инструментом избранных ученых, рассчитывающих траектории полета баллистических ракет или многосоставные цепочки ДНК.
Школьники, а иногда уже и детсадовцы, используют компьютер на занятиях, решая задачи и головоломки.
Самый первый программируемый компьютер был представлен миру 14 февраля 1946 года в Соединенных Штатах Америки и носил название ENIAC. Он весил 30 тонн и содержал в себе 18 000 электронных ламп. Правда, скорость этой машины составляла всего 5000 операций в секунду. Суммарно эта модель компьютера проработала 9 лет.
Компьютер стал помощником человека, без которого невозможно выйти на качественно новый уровень жизни. Использование компьютера по назначению позволяет решать сложные задачи, достигать результатов, которые были недостижимы и казались фантастикой всего каких-то 40–50 лет назад.
Но все это воплощается в жизнь только тогда, когда компьютер не используется только в качестве игрушки, а применяется как высокоточный, важный инструмент, способный на большие свершения в руках подготовленных специалистов и инженеров.
Конечно, до 1946 года тоже велись работы по созданию компьютеров, и даже были представлены подходящие варианты, но они не были доведены до практического использования.
Поэтому каждому программному инженеру необходимо обладать компьютерной грамотностью и постоянно в ней совершенствоваться.
Уровень компьютерной грамотности поколения дает представление о уровне "информационности" общества и его компьютеризации в целом. Компьютерная грамотность позволяет широко использовать компьютер как инструмент познания, расширяет возможности хранения, трансформации и предъявления информации, усиливает мотивацию на изучение нового, позволяет осуществлять систематический самоконтроль и рефлексию деятельности, выполняет психотерапевтические функции, повышает самочувствие и уверенность в себе.
Только при условии высокого уровня компьютерной грамотности можно надеяться на то, что текущий тренд развития искусственного интеллекта не приведет процессы социальной сферы в тупиковое русло власти машин, напророченное такими кинолентами, как "Матрица", "Терминатор" и пр., а будет содействовать возникновению нового гибридного интеллекта, в котором и у машины, и у человека будут свои роли, ответственности и обязанности.
Также компьютерная грамотность является залогом успешного освоения любой практической деятельности в ближайшем будущем. Информатизация все шире охватывает различные сферы, использование компьютеров в которых раньше казалось абсолютно ненужным. Спорт, фармакология, машиностроение, финансовая сфера и прочие сегодня просто немыслимы без компьютерных технологий. Именно они позволяют добиваться недостижимых ранее результатов и осваивать области человеческой деятельности, плохо изученные или вообще неизвестные ранее.
Очень важно, чтобы освоение компьютерной грамотности начиналось с детства. Это позволит заложить прочный фундамент для изучения любой практической специальности. Если же начало освоения компьютера началось позже, то не стоит отчаиваться, а просто нужно запастись терпением и приложить к этому максимальные усилия.
Результаты не заставят себя ждать. Чем сильнее будет ваше желание овладеть компьютерной грамотностью, чем больше труда вы в это вложите, тем более ошеломляющими будут результаты. Для этого нужно проявить целеустремленность, не обращая внимания на временные проблемы и неудачи, долгое освоение отдельных моментов и локальные сложности, которые будут возникать постоянно.
Горячие клавиши
Горячие клавиши (hot keys) — это устоявшееся выражение, означающее комбинацию клавиш, наиболее часто используемую при работе с отдельными программами.
Горячие клавиши — это комбинация клавиш на клавиатуре, нажатие на которые позволяет выполнять различные действия в операционной системе и программах, не прибегая к использованию мыши и не вызывая меню действий. Их еще могут называть "сочетания клавиш", "быстрые клавиши", "клавиши быстрого доступа".
Назначение горячих клавиш — облегчить выполнение каких-либо часто повторяющихся действий. Если запомнить (или настроить под собственные привычки) соответствующие комбинации, то быстрота работы возрастет за счет того, что использовать мышь придется намного реже. Вызвать меню или команду клавиатурной комбинацией из пары-тройки клавиш гораздо быстрее и удобнее, чем подвести к нужному месту указатель мыши, нажать кнопку, выбрать нужный пункт в списке, а потом опять щелкнуть мышью.
Горячих клавиш довольно много, запомнить их все затруднительно, да и вряд ли нужно. Если вы много работаете в какой-нибудь программе, то можно, а вернее, нужно, настроить необходимые сочетания клавиш. Windows позволяет работать вообще без мыши, только с использованием клавиатуры. Многие программные инженеры работают со своими программами, не прикасаясь к мышке. Скорость ввода данных в этом случае очень высокая.
Горячие клавиши, по мнению опытных пользователей, значительно ускоряют работу на компьютере и увеличивают количество действий, выполняемых с клавиатуры.
В ряде случаев знание горячих клавиш просто необходимо. К примеру, с их помощью, пользуясь одной клавиатурой, можно прекратить зависание компьютера или мыши, сохранить незавершенный документ, отправить его на печать, открыть или свернуть нужные программы.
Акцентируем внимание на том, что возможность настройки горячих клавиш есть в каждой современной программе и любой пользователь может настроить их под свои привычные действия.
Дальше мы более подробно рассмотрим настройку и использование горячих клавиш при работе в самых популярных системах, которые использует каждый современный человек.
Горячие клавиши общего назначения (табл. 4.1 таблица 4.1)
Эти комбинации клавиш используются при работе в ОС Windows и являются наиболее известными и популярными.
Сочетание клавиш | Описание |
---|---|
Ctrl + Esc / Win | Открыть меню "Пуск" |
Ctrl + Shift + Esc | Вызов "Диспетчера задач" |
Win + E | Запуск "Проводника" |
Win + R | Отображение диалога "Запуск программы" (аналог "Пуск" — "Выполнить") |
Win + D | Свернуть все окна или вернуться в исходное состояние (переключатель) |
Win + L | Блокировка рабочей станции |
Win + F1 | Вызов справки Windows |
Win + Pause | Вызов окна "Свойства системы" |
Win + F | Открыть окно поиска файлов |
Win + Сtrl + F | Открыть окно поиска компьютеров |
PrintScreen | Сделать скриншот всего экрана |
Alt + PrintScreen | Сделать скриншот текущего активного окна |
Win + Tab / Win + Shift + Tab | Выполнение переключения между кнопками на панели задач |
F6 / Tab | Перемещение между панелями (например, между Рабочим столом и панелью "Быстрый запуск") |
Ctrl + A | Выделить все (объекты, текст) |
Ctrl + C / Ctrl + Insert | Копировать в буфер обмена (объекты, текст) |
Ctrl + X / Shift + Delete | Вырезать в буфер обмена (объекты, текст) |
Ctrl + V / Shift + Insert | Вставить из буфера обмена (объекты, текст) |
Ctrl + N | Создать новый документ, проект или подобное действие. В Internet Explorer это приводит к открытию нового окна с копией содержимого текущего окна |
Ctrl + S | Сохранить текущий документ, проект и т. п. |
Ctrl + O | Вызвать диалог выбора файла для открытия документа, проекта и т. п. |
Ctrl + P | Печать |
Необходимо отметить, что приведенные комбинации могут быть дополнены и расширены в зависимости от действий, которые наиболее часто выполняются сотрудником в операционной деятельности. Это можно сделать с помощью настроек операционной системы или специального программного обеспечения (Windows — Key Remapper, MKey и пр.), но, по нашему мнению, освоения приведенных здесь сочетаний для продуктивной работы с операционной системой будет достаточно.
Горячие клавиши для работы с текстом (табл. 4.2 таблица 4.2)
Эти комбинации клавиш сильно упростят рабочий процесс для тех, кто часто сталкивается с текстовым редактором или работает с текстом в различных программах. Эти горячие клавиши являются достаточно универсальными и применимы даже для работы в браузерах.
Сочетание клавиш | Описание |
---|---|
Ctrl + A | Выделить все |
Ctrl + C / Ctrl + Insert | Копировать |
Ctrl + X / Shift + Delete | Вырезать |
Ctrl + V / Shift + Insert | Вставить |
Ctrl + / Ctrl + | Переход по словам в тексте (работает не только в текстовых редакторах) |
Shift + / Shift + / Shift + / Shift + | Выделение текста по выбранному направлению |
Ctrl + Shift + / Ctrl + Shift + ... | Выделение текста по словам по выбранному направлению |
Home / End / Ctrl + Home / Ctrl + End | Перемещение в начало/конец документа / строки текста |
Shift + Ctrl + Home / Shift + Ctrl + End | Перемещение в начало/конец документа с выбранного места |
Горячие клавиши для работы с окнами (табл. 4.3 таблица 4.3)
Назначение этих комбинаций клавиш — оптимизация работы с окнами приложений. Редко когда программный инженер работает только с одним приложением — как правило, их бывает открыто несколько. Именно в этом случае и пригодятся нижеприведенные горячие клавиши.
Сочетание клавиш | Описание |
---|---|
Alt + Tab /Alt + Shift + Tab | Вызов меню перехода между окнами и переход по нему |
Alt + Esc / Alt + Shift + Esc | Переход между окнами (в том порядке, в котором они были запущены) |
Alt + F6 | Переключение между несколькими окнами одной программы |
Alt + F4 | Закрытие активного окна. На Рабочем столе — вызов диалога завершения работы Windows |
Ctrl + F4 | Закрытие активного документа в программах, допускающих открытие нескольких документов |
Alt / F10 | Вызов меню окна |
Alt + - (минус) | Вызов системного меню дочернего окна (например, окна документа) |
Esc | Выход из меню окна или закрытие открытого диалога |
Alt + буква | Вызов команды меню или открытие колонки меню. Соответствующие буквы в меню обычно подчеркнуты (или изначально, или становятся подчеркнутыми после нажатия Alt) |
Alt + Space | Вызов системного меню окна |
F1 | Вызов справки приложения |
Ctrl + Down / Ctrl + Up | Вертикальная прокрутка текста или переход вверх-вниз по абзацам |
Работа в браузере (табл. 4.4 таблица 4.4)
Эти комбинации клавиш становятся все более популярными. Умение быстро ориентироваться во вкладках браузера позволит сэкономить кучу времени.
Сочетание клавиш | Описание |
---|---|
F4 | Отображение списка поля "Адрес" |
Ctrl + N | Новое окно |
F5 | Запуск еще одного экземпляра обозревателя с аналогичным веб-адресом |
Ctrl + R | Обновление текущей веб-страницы |
Ctrl + B | Открытие диалогового окна "Упорядочить избранное" |
Ctrl + E | Открытие панели "Поиск" |
Ctrl + F | Запуск служебной программы поиска |
Ctrl + I | Открытие панели "Избранное" |
Ctrl + L | Открытие диалогового окна "Открыть" |
Ctrl + O | Открытие диалогового окна "Открыть", подобно действию Ctrl + L |
Ctrl + P | Открытие диалогового окна "Печать" |
Ctrl + W | Закрытие текущего окна |
F11 | Переход в полноэкранный режим и обратно (работает и в некоторых других приложениях) |
Итак, если приучить себя к использованию горячих клавиш — не всех сразу, а по мере их значимости для конкретного инженера, — каждодневное использование компьютера заметно упростится и станет более быстрым и профессиональным.
Системная работа над ошибками
Важное место в системе обучения и самообучения любому навыку занимает работа над допущенными ошибками и неточностями, которая не только является средством закрепления изученного материала и знаний, но и предупреждает допущение ошибок в будущем.
Работа над ошибками — неотъемлемая часть методики преподавания любого предмета.
Каждому специалисту, заинтересованному в профессиональном развитии, необходимо учиться работать над своими ошибками самостоятельно и как можно более эффективно. Чтобы эта работа была по-настоящему эффективной, в ней должна прослеживаться определенная система и последовательность.
Логично начинать работу с выявления и анализа проблем, являющихся основными при выполнении практической деятельности сотрудников. Необходимо выявить группы ошибок, которые являются типичными и над которыми надо поработать.
Работа над ошибками — это анализ и исправление допущенных ошибок, недочетов. Основной целью ее является разбор и проработка ошибок и неточностей, возникших при выполнении определенного действия или задания.
У каждого, кто в своей деятельности проводит работу над ошибками, будет формироваться умение систематизировать, обобщать и закреплять полученные знания и навыки.
При творческом подходе к работе над ошибками постепенно разовьется правильное к ним отношение, умение замечать их и не допускать в будущем (рис. 4.1 рис. 4.1).
Лучше, чтобы поначалу работа над ошибками выполнялась под контролем ментора или наблюдателя. Цель такого контроля — максимально объективно посмотреть на ситуацию со стороны и сделать логичные и последовательные выводы о произошедшем, извлекая из этого полезные для себя уроки.
Работу над ошибками лучше проводить сразу после завершения важного и сложного этапа работ или проекта.
Иногда, в целях экономии времени или просто из-за лени, вы будете стремиться выделять для себя только типичные допущенные ошибки. Начать можно и с этого, но такой подход будет ограничивать ваше профессиональное развитие. Чем больше неточностей в работе вы выявите, тем лучше будете работать в будущем. Главное, не пытаться концентрироваться на том, что вы пропустили или сделали не так, а понять, что пошло не по плану и как в этой ситуации следует повести себя в следующий раз.
Главное в обучении — следование определенным правилам.
Правило позволяет сформировать первоначальный вариант решения той или иной задачи и постепенно искать способ его оптимизации, отталкиваясь от той или иной ситуации.
Важно четко связать ситуацию и правило. Это приведет к тому, что инженер будет постепенно формировать свой, уникальный репозиторий ситуаций, которые ему уже известны и он понимает, как в них нужно ориентироваться.
Но не стоит думать, что без основательной работы по изучению возникающих проблем, по ходу использования уже сложившихся алгоритмов и выработки дополнительных условий, можно будет наработать навык "самообучения на лету" и универсализации усвоенных ранее правил. Работа над ошибками по своей сути является сложным, многоитерационным, затратным видом деятельности, которая должна выполняться системно и с пониманием цели ее выполнения. Плюс ко всему это морально "больно" (особенно в начале) — разбирать свои действия, решения и их последствия максимально объективно, руководствуясь принятыми критериями. Кроме того, необходимо постоянно отслеживать эффективность самого процесса работы над ошибками и в случае необходимости уметь скорректировать или перестроить его.
Как любая деятельность, работа над ошибками должна иметь определенные цели.
К примеру:
- Вызывать интерес к выполнению работы над ошибками.
- Формировать умение исправлять свои ошибки.
- Развивать навыки осознанного поиска ошибок и умения их классифицировать.
- Использовать работу над ошибками как средство развития профессиональной зоркости.
Таким образом, деятельность, подчиненная определенным целям, должна разделяться на несколько этапов на пути достижения результата. К примеру, основываясь на собственном опыте, можем предложить следующую поэтапную структуру деятельности:
- Вводный. Завлекательный.
Этот этап предполагает формирование устойчивого интереса к процессу работы над ошибками. Необходимо переосмыслить текущий процесс. Не следует отводить для работы над ошибками отдельное время — она должна быть интегрирована в основной рабочий процесс. Исправлять ошибки нужно прямо там, где они были допущены, и лучше всего, если исправление будет выполняться сразу после того, как выполнено основное рабочее задание. На этом этапе следует по возможности привлекать к анализу выполненной работы более опытных коллег с тем, чтобы они подробно рассказали о том, что в ней было сделано нелогично.
- Мотивирующий. Увлекательный.
Цель второго этапа — самостоятельный поиск и исправление допущенных ошибок и неточностей. Для этого необходимо критически подходить к уже сделанной работе, стараться переосмысливать принятые решения и искать варианты их совершенствования. Будет замечательно, если плоды исправлений сразу подтвердят свою целесообразность и выигрышность. Но главное на этом этапе — искать информацию, которая позволит сделать продукт или решение более целостным и оптимальным, по сравнению с версией до исправления. На этом этапе формируются и проверяются предложения о том, как следует скорректировать первоначальные правила и подходы, в результате следования которым были допущены ошибки.
- Устойчивый. Критический.
Третий этап подводит нас к тому, что нужно не только своевременно находить допущенную ошибку, но и самостоятельно классифицировать ее при помощи уже имеющегося репозитория знаний и правил. Итак, мы подошли к решению главных задач работы над ошибками:
- Обнаружение ошибки.
- Применение правила.
- Исправление ситуации.
Этот этап работы над ошибками должен стать наиболее эффективным средством для развития профессиональной зоркости.
- Профессиональный. Осознанный.
Заключительный этап — главная ступень осознанного отношения к выполняемой деятельности. Он формирует навыки самоконтроля и предполагает поиск, исправление и классификацию ошибки самостоятельно, без сторонней помощи, в процессе работы. На этом этапе знания и навыки, полученные на предыдущих этапах, интегрируются в единую "умственную" архитектуру.
Такая система работы над ошибками в сочетании с другими видами работ поможет достичь значительных результатов. Но чтобы эти результаты стали устойчивыми и вы могли перейти на качественно новый уровень профессиональной зрелости, необходимо придерживаться следующих правил:
- Непрерывно работать над ошибками.
- Осуществлять ежедневный самоконтроль.
- Проводить анализ своей работы, сравнивая ее с успешными и неудачными работами своих коллег.
Однако при этом не стоит забывать о том, что переутомление — плохой помощник в построении прочного фундамента успешной карьеры. Чувствуйте и контролируйте ритм и темп своей работы. Не ускоряйтесь тогда, когда нужно сделать паузу и дать себе отдохнуть. Важен и психологический комфорт. К примеру, работа с ментором не должна постоянно приводить вас в состояние психологического дискомфорта.
Успокоенность и размеренность — плохой помощник в достижении высоких результатов. Стрессы должны периодически присутствовать в любой профессиональной деятельности, но, когда их слишком много, это грозит более страшными последствиями для здоровья — как физического, так и психологического.
В стрессовой ситуации можно попытаться изменить свое отношение к ней или предпринимать другие кардинальные действия. Каждый в подобном случае выбирает наиболее комфортное для себя решение.
Зачем учить программирование и с чего следует начинать
Сегодня работодатели начинают осознавать, что сотрудники, обладающие базовыми навыками программирования, имеют преимущество над теми, кто этими навыками не владеет. Компьютерные технологии все стремительнее внедряются во все современные направления деятельности. Все более явной становится тенденция к преобразованию понятных, сложившихся способов работы в цифровые фреймворки, способные автоматизировать привычный образ действий и добиваться более высоких результатов в работе. Причина этого проста и понятна — работодателям выгоднее нанимать людей, которые на базовом уровне знают принципы возникновения, преобразования и хранения информации. Такие сотрудники быстрее разберутся в принципах функционирования любой информационной системы и смогут внести свои предложения по совершенствованию рабочих инструментов.
Программирование помогает развить логику, учит структурно мыслить и облегчает коммуникацию.
Плюс ко всему программирование дает возможность абсолютно самостоятельно реализовывать идеи, создавать сложные и уникальные продукты с нуля на основе своих задумок и планов. Это настоящее творчество.
Такая тенденция, в совокупности с быстротой распространения информации в современном обществе, привела к тому, что порог вхождения в программную инженерию как специальность сейчас стал предельно низким, а перспективы, которые открываются перед инженерами, весьма обширны.
Во всех вузах открываются факультеты компьютерных наук, министерство образования увеличивает количество бюджетных мест на IT-специальности, появляется множество специализированных курсов на разный вкус и кошелек. Сознательно игнорировать возможность саморазвития в области программной инженерии глупо и недальновидно.
С 2018 года в Санкт-Петербургском университете ИТМО все студенты-бакалавры и магистранты, вне зависимости от направления подготовки и специализированной образовательной программы, изучают программирование. Это решение направлено на то, чтобы все студенты могли учиться использовать инструменты, которые предлагают современные информационные технологии — ведь спрос на навыки в области программирования продолжает расти год от года.
Но действительно ли ситуация в программной инженерии такова, какой она предстает перед нами в средствах массовой информации? Обратимся к истории.
В 1981 году на конференции Международной федерации по обработке информации и ЮНЕСКО по применению ЭВМ в Лозанне (Швейцария) Андрей Ершов, советский ученый и инженер, один из пионеров теоретического и системного программирования, выступает с докладом под названием "Программирование — вторая грамотность". В своем выступлении, проводя параллели между распространением книгопечатания и развитием технологий, он делает следующий вывод: "Если развитие и распространение книгопечатания привело ко всеобщей грамотности, то развитие и распространение ЭВМ приведет ко всеобщему умению программировать".
Название доклада быстро становится лозунгом, после чего в нашей стране начинаются первые эксперименты по преподаванию программирования, а затем информатики школьникам.
Спустя 25 лет выходит исследование, подготовленное специалистами Университета Карнеги-Меллон. В нем предсказывается, что в 2012 году из 90 млн работающего населения США более 55 млн будут использовать электронные таблицы и базы данных, что можно считать элементарным программированием. Аналитики подчеркивают: многие люди занимаются программированием, не осознавая того: например, создавая макросы в электронных таблицах или делая запросы в базах данных c использованием SQL.
Насколько успешно "непрограммисты" могут использовать базовые навыки в своей повседневной работе? Как показывает практика, далеко не все, кому не помешает разбираться в технологиях на элементарном уровне, умеют применять эти знания.
Чтобы проверить, смогут ли профессиональные графические дизайнеры написать простейшую компьютерную программу, Брайан Дорн, студент магистратуры в Технологическом институте Джорджии, провел эксперимент. Он попросил графических дизайнеров прочесть и изменить фрагмент программного кода. Брайан хотел понять, смогут ли профессионалы-непрограммисты сами разобраться, как автоматизировать работу в Adobe Photoshop.
Дизайнеры стали искать информацию в Интернете. В большинстве случаев они вводили неверные поисковые запросы (пытались разобраться с Java, хотя на самом деле им был нужен JavaScript). В итоге автор сделал вывод: такое положение дел может быть связано с "отсутствием общего базового понимания компьютерных и программных структур". Поэтому очевидно, что повсеместное освоение студентами программирования становится важным трендом ближайших лет. В последние годы спрос на курсы программирования продолжает расти. Больше всего в российском сегменте Интернета люди ищут курсы Java, PHP, JavaScript и Python. На данный момент лидируют следующие поисковые запросы по этой теме:
- "курсы программирования с нуля"
- "курсы программирования для школьников"
- "курсы Python"
- "курсы JavaScript"
Еще десять лет назад истории про непрограммистов, которые осваивали азы программирования и своими силами разрабатывали собственные информационные ресурсы, удивляли невероятно. Сегодня же навыки программирования осваивают многие — от дизайнеров и журналистов до экономистов и создателей собственных компаний.
В ходе исследований выяснилось: большинство программистов — самоучки. 73,7% современных разработчиков, попавших в исследование, постигали азы программирования без чьей-либо помощи.
Самая большая доля программистов, которые начали оттачивать свои навыки в написании программного кода в возрасте 5–10 лет, проживает в Великобритании — 10,7%. В список лидеров по этому показателю попала также Россия (7-е место) и Украина (10-е место) — 7% и 5,6% опрошенных программистов соответственно занялись программированием в столь раннем возрасте.
Нашлись и те, кто написал свой первый код довольно "поздно" — после 26 лет. Впрочем, этот факт никак не сказался на их карьере. Треть из них (36%) сейчас занимает позиции старших и ведущих программистов.
Навыки основной активности — программирования — в программной инженерии сложно недооценить. Мы уже говорили о том, что программная инженерия включает в себя много различных видов деятельности, но основной — это именно программирование, и инженер должен стремиться владеть им в совершенстве.
Изучать абстрактное, правильное программирование, не привязанное к конкретным задачам, можно бесконечно. Но главное в любой деятельности — результат, а его можно достичь, только решая конкретные задачи.
Прежде всего, необходимо определиться с целью, ради которой вы решили учиться программировать.
Если говорить о программировании как о дополнительном навыке к основной профессии, то оптимальнее всего начинать с языков программирования высокого уровня с большим сообществом на вашем родном языке. Это такие языки, как Python, JavaScript и т. д. Выбор должен полностью определяться тем, какого рода задачи вам необходимо решать, используя этот язык.
Все перечисленные в этой главе языки достаточно популярны. Они прекрасно документированы, реализованы под все распространенные платформы. Есть шанс, что под многие задачи из различных предметных областей уже реализован необходимый функционал. Нужно ограничиться лишь освоением языка программирования и просто изучить документацию и примеры того, как именно использовать язык для получения конкретного результата. Это позволяет существенно сэкономить время на процессе обучения, но у такого подхода есть опасная особенность — он не делает человека профессиональным программным инженером, хотя и может послужить отправной точкой. Этот подход скрывает от инженера алгоритмический способ реализации той или иной задачи. Если делать это бездумно, не особенно разбираясь в способе решения, можно зайти в тупик и стать заложником уже существующих библиотек, разработанных кем-то и для чего-то.
Именно понимание и умение оперировать основами программирования, умение работать с технологиями станет обязательным навыком для многих нетехнических профессий.
Программным инженерам, кроме знания алгоритмов решения задач, предстоит в ближайшем будущем развиваться и универсализироваться, получая дополнительные навыки, в том числе в сфере коммуникаций, но об этом мы подробнее поговорим в следующей главе.
Если человеку действительно нравится программирование, то самое главное не то, куда он пойдет учиться языку программирования и алгоритмам, а то, готов ли он тратить на это много времени. Отрасль меняется очень быстро, и если программист не будет следить за изменениями, то через несколько лет он окажется на обочине рынка.
Программная инженерия — стремительно развивающаяся область. Ее важность и значимость только набирает обороты. Кроме того, реалии и тренды говорят о том, что в скором будущем требование уметь программировать будет предъявляться еще и ко многим другим специальностям, не связанным сейчас напрямую с программной инженерией и разработкой программных систем.
Что и как делать не рекомендуется
Эта глава получилась достаточно обзорной и наставнической. В ней приведены основные советы о том, что и как нужно делать, чтобы стать успешным и востребованным профессионалом в области программной инженерии. А теперь стоит перечислить рабочие подходы, от которых стоит себя обезопасить.
- Нежелание разбираться в рабочих инструментах. Решать конкретную задачу, не привнося своей инициативы и своего отношения к результату.
- Постоянно совершать одни и те же ошибки. Не пытаться искать причину/источник проблем.
- Осваивать только конкретную технологию, только какой-то один язык программирования и не делать выводов о том, в каком случае и для каких задач требуется использовать тот или иной подход.
Не нужно бояться совершать ошибки, ведь они — показатель развития. Прогресс начнется тогда, когда вы сделаете определенное количество ошибок, приобретете бесценный опыт и научитесь выбирать оптимальное решение в заданных условиях и ограничениях.
Краткие итоги
Итак, в этой главе мы рассказали о том, что необходимо глубоко и основательно осваивать те инструменты, которыми вы пользуетесь в своей ежедневной практике, и стремиться к тому, чтобы постоянно практиковаться, совершать ошибки, анализировать источники этих ошибок и пытаться их больше не совершать.
Так, раз за разом, шаг за шагом, вы будете становиться все профессиональнее.
Ваши ошибки — это ваш капитал, который конвертируется в знания и бесценный опыт.
Вопросы для калибровки и самопроверки
- Нужно ли осваивать горячие клавиши программ, с которыми вы работаете чаще всего?
- Для чего это нужно?
- Будут ли от этого выгоды, и если будут, то какие?
- Если этого не делать, будет ли у вас при работе постоянно возникать чувство неудобства?
- В чем состоит суть работы над ошибками?
- Возможно ли не совершать ошибок в работе?
- Боитесь ли вы делать ошибки, и если боитесь, то почему?
- Пытаетесь ли вы устранить причины ошибок?
- Если вы постоянно делаете одни и те же ошибки, о чем это говорит?
- Можно ли профессионально развиваться, не анализируя причины и последствия сделанных ошибок?
- Нужно ли в наше время учиться программированию?
- Какое место в ваших повседневных делах занимает компьютер?
- Возникали ли у вас на работе ситуации, когда вы понимали, что нужно делать, но не знали, как воспользоваться теми рабочими инструментами, которые есть у вас в наличии?
- Почему понимание компьютерных алгоритмов способствует более четкой и структурной организации мыслительной деятельности?
- Какие из рабочих задач вы сможете оптимизировать с помощью компьютерных программ?