Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
894
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
913
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Какие области специализации в программировании вы бы порекомендовали новичку
Я студент, изучающий разработку программного обеспечения,и я чувствую, что программирование, в общем, слишком широкий предмет, чтобы пытаться знать все. Чтобы быть опытным, вы должны решить, в каких областях сосредоточить свое обучение и понимание. Некоторые наборы навыков взаимодействуют друг с другом, например, веб-разработка на основе данных и опыт SQL. Однако весь опыт win32 API в мире может не иметь прямого отношения к разработке linux. Это наводит меня на мысль, что как начинающий программист я должен начать решать, где я хочу специализироваться, после того как у меня будет общее понимание основных принципов разработки программного обеспечения.
Это действительно многосоставный вопрос:
- Каковы общие специализации в области компьютерного программирования и разработки программного обеспечения?
- Какие из этих специализаций имеют более долгосрочную ценность, как основа для других специализаций, так и / или как товарные навыки?
- Какие наборы навыков дополняют друг друга?
- Существуют ли какие-либо области специализации, которые препятствуют вашей способности развивать другие области специализации.
Бен, почти все опытные программисты все еще учатся программированию. Вы никогда не прекращаете учиться чему-либо, когда вы являетесь разработчиком. Но если вы действительно начинаете свою карьеру, то вам следует меньше всего беспокоиться о специализации. Все APIs, рамки и навыки, которые вы ожидаете, что дает вам долгосрочное существование в этой области, не произойдет. Технология, похоже, сильно меняется, и вы должны быть достаточно универсальны и гибки, чтобы научиться чему-нибудь. Знания, которые вы приобретаете на одном platform/api/framework,не умирают. Вы можете применить свои навыки к следующему величайшему platform/api/framework.
Как бы то ни было, вы должны просто перестать беспокоиться о будущем и сосредоточиться на основах. DataStructures, анализ алгоритмов и дизайн, Дизайн компилятора, дизайн операционной системы-это самый минимум того, что вам нужно. И далее, вы должны быть готовы вернуться и читать книги в этой области в любое время в вашей карьере. Вот и все, что требуется. Удачи.
Извините, если я говорю как большой мудак-советник, но это то, что я думаю. :-)
Не хочу прямо отвергать вашу посылку, но я действительно считаю, что быть универсалистом-это хорошая позиция в программировании. Вы, конечно, будете развивать опыт в конкретных областях, но это, скорее всего, будет продукт либо личного интереса, либо рабочей необходимости. Со временем материал, который вы можете передавать через языки и проблемные области, лежит в основе того, что делает хороших программистов.
Я думаю, что самым большим навыком из всех было бы приспособиться со временем, потому что если ваш работодатель видит в вас этот потенциал, то ему было бы разумно крепко держаться.
Тем не менее, я бы посоветовал вам погрузиться в область YOU, которая вам понравится. Обучением движет энтузиазм .
Поскольку в настоящее время я работаю с интернет-провайдером, я считаю, что знание сетей особенно полезно. Но когда-нибудь я хотел бы играть с 3D графикой (не обязательно играми).
Идите так глубоко, как только можете, начиная с одной среды, win32, .net, Java, Objective C... что угодно.
Важно построить глубокое понимание того,как работает X... так что вы можете перевести те же самые понятия на другие языки или platforms/environments,, если пожелаете.
-Есть ли какие-то области специализации, которые мешают вам развивать другие области специализации?- Вроде того, но, по-моему, ничего постоянного.
Поскольку я сам относительно зеленый (менее 4 лет), я исхожу из действительно OOP-го образа мышления. Я редко выпрыгивал из .NET, поэтому мне было трудно на одной работе, когда я вошел в контакт со встроенным кодом. С внедренными программистами, опасающимися создания объектов и потери производительности наследования. Я должен был изучить окружающую среду, серьезно низкую память и медленные часы, из которых они исходили. Это время для роста, у меня было лучшее время для этого, потому что я довольно хорошо понимал свою область.
Я скажу, что если вы выберете что-то, чтобы специализироваться на товарности и деньгах, вы, вероятно, быстро сгорите. Если вы начинаете специализироваться, выберите то, что вам нравится. Я люблю программировать GUI и ненавижу серверные вещи, мой приятель-противоположность, но мы оба любим свою работу. Если ему придется выполнять мою работу, а мне-его, мы оба сойдем с ума от скуки.
Будучи студентом, я бы рекомендовал забыть о том, что вы программируете, и сосредоточиться на самом программном процессе. Поймите, как анализировать проблему и задавать правильные вопросы; изучите каждый шаблон дизайна, который вы можете использовать, и фактически примените их все , чтобы получить реальное понимание и оценку объектно-ориентированного дизайна; напишите тесты, а затем кодируйте только столько, сколько вам нужно, чтобы сделать тесты проходными. Я думаю, что лучший способ действительно научиться - это просто кодировать как можно больше-язык и домен не важны, просматривать sourceforge и freshmeat для любых интересных звучащих проектов и принимать участие. Что важно, так это понимание основ разработки программного обеспечения.
И да, это включает в себя C. Или Ассемблер. Это самый простой способ получить хорошее представление о том, как работает ваш компьютер и что на самом деле делает ваш высокоуровневый код.
Наконец, никогда не прекращайте учиться-сервис-ориентированная архитектура, инверсия контроля, доменные языки, управление бизнес-процессами - все это показывает огромные преимущества, поэтому их важно знать, но к тому времени, когда вы закончите обучение и присоединитесь к рабочей силе, кто знает, что будет следующим большим событием?