Сведения о вопросе

Holish

19:11, 28th August, 2020

Теги

Какие области специализации в программировании вы бы порекомендовали новичку

Просмотров: 386   Ответов: 6

Я студент, изучающий разработку программного обеспечения,и я чувствую, что программирование, в общем, слишком широкий предмет, чтобы пытаться знать все. Чтобы быть опытным, вы должны решить, в каких областях сосредоточить свое обучение и понимание. Некоторые наборы навыков взаимодействуют друг с другом, например, веб-разработка на основе данных и опыт SQL. Однако весь опыт win32 API в мире может не иметь прямого отношения к разработке linux. Это наводит меня на мысль, что как начинающий программист я должен начать решать, где я хочу специализироваться, после того как у меня будет общее понимание основных принципов разработки программного обеспечения.

Это действительно многосоставный вопрос:

  1. Каковы общие специализации в области компьютерного программирования и разработки программного обеспечения?
  2. Какие из этих специализаций имеют более долгосрочную ценность, как основа для других специализаций, так и / или как товарные навыки?
  3. Какие наборы навыков дополняют друг друга?
  4. Существуют ли какие-либо области специализации, которые препятствуют вашей способности развивать другие области специализации.



  Сведения об ответе

DINO

15:00, 6th August, 2020

Бен, почти все опытные программисты все еще учатся программированию. Вы никогда не прекращаете учиться чему-либо, когда вы являетесь разработчиком. Но если вы действительно начинаете свою карьеру, то вам следует меньше всего беспокоиться о специализации. Все APIs, рамки и навыки, которые вы ожидаете, что дает вам долгосрочное существование в этой области, не произойдет. Технология, похоже, сильно меняется, и вы должны быть достаточно универсальны и гибки, чтобы научиться чему-нибудь. Знания, которые вы приобретаете на одном platform/api/framework,не умирают. Вы можете применить свои навыки к следующему величайшему platform/api/framework.

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

Извините, если я говорю как большой мудак-советник, но это то, что я думаю. :-)


  Сведения об ответе

screen

17:35, 19th August, 2020

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


  Сведения об ответе

padenie

23:51, 4th August, 2020

Я думаю, что более важный вопрос заключается в следующем: какие области специализации вас больше всего интересуют?

Как только вы узнаете, начинайте учиться в этой области!


  Сведения об ответе

9090

18:01, 21st August, 2020

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

Тем не менее, я бы посоветовал вам погрузиться в область YOU, которая вам понравится. Обучением движет энтузиазм .

Поскольку в настоящее время я работаю с интернет-провайдером, я считаю, что знание сетей особенно полезно. Но когда-нибудь я хотел бы играть с 3D графикой (не обязательно играми).


  Сведения об ответе

PROGA

05:04, 27th August, 2020

Идите так глубоко, как только можете, начиная с одной среды, win32, .net, Java, Objective C... что угодно.

Важно построить глубокое понимание того,как работает X... так что вы можете перевести те же самые понятия на другие языки или platforms/environments,, если пожелаете.

-Есть ли какие-то области специализации, которые мешают вам развивать другие области специализации?- Вроде того, но, по-моему, ничего постоянного.

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

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


  Сведения об ответе

lesha

06:52, 2nd August, 2020

Будучи студентом, я бы рекомендовал забыть о том, что вы программируете, и сосредоточиться на самом программном процессе. Поймите, как анализировать проблему и задавать правильные вопросы; изучите каждый шаблон дизайна, который вы можете использовать, и фактически примените их все , чтобы получить реальное понимание и оценку объектно-ориентированного дизайна; напишите тесты, а затем кодируйте только столько, сколько вам нужно, чтобы сделать тесты проходными. Я думаю, что лучший способ действительно научиться - это просто кодировать как можно больше-язык и домен не важны, просматривать sourceforge и freshmeat для любых интересных звучащих проектов и принимать участие. Что важно, так это понимание основ разработки программного обеспечения.

И да, это включает в себя C. Или Ассемблер. Это самый простой способ получить хорошее представление о том, как работает ваш компьютер и что на самом деле делает ваш высокоуровневый код.

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться