Вы можете быть тем, кто хочет начать учиться программировать, и, возможно, вы спрашиваете себя, есть ли у вас компетентные навыки для создания программного обеспечения. Сегодня очень часто можно увидеть множество онлайн-курсов и колледжей по разработке программного обеспечения. Хотя лишь немногие из них действительно ясно указывают, что на самом деле требуется, чтобы стать разработчиком.

Все навыки, которые я упомяну здесь, вам не обязательно иметь, вы можете развивать навыки по мере обучения, как я сделал в своем колледже. Как только я поступил в колледж, у меня точно не было всех предпосылок для обучения программированию, поэтому я подводил себя, пока не понял, что мне понадобятся эти навыки для изучения программирования. Правильно, какими навыками мы должны обладать?

Решать задачи. Конечно, решать проблемы. Это так очевидно. В конце концов, программное обеспечение — это не что иное, как куча запущенных шагов, созданных программистом. Таким образом каждый программист решает логические задачи, так как он должен разъяснить всю пошаговую инструкцию для машины. И по этой причине нередко можно встретить программистов, любивших решать логические задачи в видеоиграх, ребусы из газет и так далее. Недаром многие разработчики вошли в эту область, потому что у них была страсть к играм. А игра неразрывно связана с решением (логических) задач. Когда мне было 12-13 лет, я любил возиться с системой программирования событий, чтобы создавать (и играть) RPG-игры под названием RPG Maker. Мы с другом, наверное, стали программистами из-за RPG Maker.

Независимый следователь. Когда я был моложе, мне нравилось менять свои HD, перезаписывать PS2 и запускать эмулированные игры. Раньше я пытался делать эти вещи, пока они не заработали или не пришли в очень плохое состояние, пока ничего больше нельзя было сделать. К сожалению (или нет), я не был хорошим независимым исследователем. Обычно я искал людей, которые могли бы мне помочь, вместо того, чтобы заниматься чем-то в одиночку, я пытался найти решения, но также легко сдавался. Только по окончании колледжа я научился самостоятельно выходить за рамки проблем.

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

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

Конструктор. Программисты, которые разрабатывают программное обеспечение, создают программное обеспечение. Вам необходимо определить архитектуру и понять, как будут взаимодействовать программные модули. В некоторых странах разработчиков программного обеспечения также называют инженерами-программистами, потому что каждый разработчик должен архитектурно создавать программное обеспечение. Необходимо его спроектировать.

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

Спасибо увидимся позже.

Кевин Такано, бакалавр компьютерных наук.