Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Что нужно знать программисту C#?


Автор: Afrodiziac 24.10.2008, 15:29
Здравствуйте всем,  появились несколько "философских" вопросов, хотелось бы узнать, что думаю по этому поводу форумчане:

1) Знания каких технологий (продуктов) может, в основном понадобиться C# программисту?

 - BizTalk 2006
 - CrystalReports
 - MS SQL
 - Share Point
 - Visual Studio / C#
 - ASP

 ... и т.д.

2) Удается ли в жизни программисту изучить (и достаточно глубоко) данные продукты ? А также хватает ли времени на изучение?

3) Каков срок "службы" программиста? 
Где-то читал, что 35 лет это "потолок" для программиста, как для фото-модели 25 лет. Конец карьеры. Что около 90% (если не ошибаюсь) программистов имеют возраст 20-27 лет.
Если это так, то куда уходят программисты? В какие сферы? А может на пенсию smile?

Заранее Спасибо за ответы

Автор: archeg 24.10.2008, 15:41
Классные у тя вопросы  smile 
1. Со списка непонял что там делает VisualStudio/C#. Логично что программисту C# нужно знать C# ;)
А так то ты сначала реши кем то ты хочешь быть и в какой области работать - программист C# довольно широкое понятие ( а я вообще предпочитаю буржуизм "девелопер". Солиднее smile )
Если хочешь веб - ASP.NET, родная технология для веба.
Из самого важного - учи БД. MS SQL. Практически всегда пригодиться

2. Программист - это тот кто хорошо логически думает, знает много хороших алгоритмов и имеет опыт в работе с конкретными технологиями. Но это не значит что он должен знать все классы, методы и их перегрузки, с описанием и подробностями smile. Опыт в работе с технологиями гарантирует какие-то знания в соотв. областях, а так же знание слабых мест и способов решения частых проблем smile. А найти нужный класс или метод - мсдн в руки.

3. Угу. Ровно в 35 лет на день рождения, все программисты обрастают бородами и идут в администраторы. Поэтому считаеться что на день рождения в 35 лет программисту нужно дарить бубен.

Такие слухи про потолок скорее всего существуют из-за того что 20 лет назад особо программирование не было популярным smile Да и всмпомните сколько программистов посадило себе зрение (или еще какая зараза) с мониторами-трубками.

З.Ы. К 2 вопросу - я считаю что если не считать опыта работы, то программист не привязан ни к каким технологиям. Технологии - ток инструмент smile

Автор: QryStaL 24.10.2008, 16:01
Цитата(Afrodiziac @  24.10.2008,  15:29 Найти цитируемый пост)
 - BizTalk 2006 - CrystalReports - MS SQL - Share Point - Visual Studio / C# - ASP

BizTalk, Share Point - слишком специфичные штуки, можно выучить по необходимости
CrystalReports - может пригодиться, но есть альтернативы
MS SQL - не обязательно, можно Oracle / Postgresql
Visual Studio / C# - это вообще непонятно, смешаны в кучу IDE / язык, а вопрос про технологии
ASP - никакого отношения к C# не имеет

Цитата(Afrodiziac @  24.10.2008,  15:29 Найти цитируемый пост)
может, в основном понадобиться C# программисту

ADO.NET, ADO.NET Entity Framework, Windows Forms, WPF, ASP.NET, Silverlight, WCF, .NET Remoting, LINQ

Цитата(Afrodiziac @  24.10.2008,  15:29 Найти цитируемый пост)
Удается ли в жизни программисту изучить (и достаточно глубоко) данные продукты

Все от человека зависит. От его целей, интересов и мотивации.

Цитата(Afrodiziac @  24.10.2008,  15:29 Найти цитируемый пост)
Каков срок "службы" программиста? 

Пока не решит сменить специализацию. По сути, бесконечно долго...

Автор: likegift 24.10.2008, 17:59
Цитата(Afrodiziac @ 24.10.2008,  15:29)
3) Каков срок "службы" программиста? 
Где-то читал, что 35 лет это "потолок" для программиста, как для фото-модели 25 лет. Конец карьеры. Что около 90% (если не ошибаюсь) программистов имеют возраст 20-27 лет.
Если это так, то куда уходят программисты? В какие сферы? А может на пенсию smile?

Заранее Спасибо за ответы

дам знакомому дяде Коле прочитать. ему скоро 60 стукнет.
он на С драйвера для контроллеров строчит. пусть почитает и удавится smile 

Автор: Partizan 24.10.2008, 20:36
Цитата

Если это так, то куда уходят программисты? В какие сферы? 


На самом деле толковые переходят на более высокие позиции  типа Team Lead, SW Architect, Customer Project Manager / Project Manager и т.д.

Автор: nikitao 24.10.2008, 21:03
Цитата(Partizan @  24.10.2008,  21:36 Найти цитируемый пост)
На самом деле толковые переходят на более высокие позиции  типа Team Lead, SW Architect, Customer Project Manager / Project Manager и т.д.

Ну вот это на самом деле на любителя smile  Все таки программист ( именно программист ) - это творец , а вот проджект менеджер - это менеджер smile 

Автор: Partizan 24.10.2008, 21:12
nikitao, это уже смотря как подойти...лично мне вполне интересна работа на позициях SW Architect и Project Manager...

Автор: likegift 25.10.2008, 06:57
Цитата(nikitao @ 25.10.2008,  00:03)
Ну вот это на самом деле на любителя smile  Все таки программист ( именно программист ) - это творец , а вот проджект менеджер - это менеджер smile

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

Автор: MasterOfCode 25.10.2008, 09:31
Цитата(likegift @  25.10.2008,  09:57 Найти цитируемый пост)
руководство командой и участие в цикле создания ПО вплоть до обсуждения спорных моментов в оптимизации алгоритма или интерфейса

Можно, но все таки, каждый должен заниматься своими делами. Руководитель-руководить, рабочий - работать. Программирование - это не спорт и модельный бизнес, тут все зависит от желания. Я вот пока не представляю себя на руководящей должности, мне это не интересно, я хочу ще пока заниматься своим любимым делом, а вот лет через 5 можно попробовать себя в другой роли. smile

Автор: Goganchic 25.10.2008, 09:40
Дело в том, что программист может рости в разные, так сказать, стороны, это можен быть с одной стороны управляющая сторона, т.е. программист -> тимлид -> менеджер а может быть и техническая сторона, т.е. программист -> senior developer и т.п.
Каждый выбирает для себя свой путь.

Автор: Afrodiziac 25.10.2008, 10:45
Цитата(archeg @  24.10.2008,  15:41 Найти цитируемый пост)
2. Программист - это тот кто хорошо логически думает, знает много хороших алгоритмов и имеет опыт в работе с конкретными технологиями. Но это не значит что он должен знать все классы, методы и их перегрузки, с описанием и подробностями smile. Опыт в работе с технологиями гарантирует какие-то знания в соотв. областях, а так же знание слабых мест и способов решения частых проблем smile. А найти нужный класс или метод - мсдн в руки.


Цитата(archeg @  24.10.2008,  15:41 Найти цитируемый пост)
З.Ы. К 2 вопросу - я считаю что если не считать опыта работы, то программист не привязан ни к каким технологиям. Технологии - ток инструмент smile


И все таки, в нынешнее время каким должен быть программист?

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

b) Человеком, который подбирает себе работу по принципу того, что он знает в данное время. Например, я знаю C#, значит буду искать работу C# Developer и т.п.

Автор: Partizan 25.10.2008, 10:46
Goganchic, не знаю как у вас...у нас чтоба дорасти до тимлида как правило люди проходят через Sr. Developer...

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

Ничто не мешает будучи тимлидом заниматься и менеджментом, и кодингом...И какое это тогда направление...техническое или менеджерское? Тот же вопрос могу задать насчёт позиции SW Architect/Principal SW Architect.... То есть сначала человек проходит ступени карьеры как кодер...потом начинает совмещать это с менеджментом на переходных стадиях, а затем полностью переходит в менеджмент...

Ну а кто-то достигнув потолка либо превращается в дауншифтера, либо открывает собственную контору...

Добавлено через 6 минут и 3 секунды
Afrodiziac, пункты а и б должны быть совмещены...

одно дело знать технологии (я имею ввиду знание например синтаксиса C# и умение работать в VS),
другое дело уметь программировать в целом.

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

Согласитесь, с точки зрения работодателя, если есть позиция C# Developer и есть выбор между человеком, который знает C# и человеком который знает только Pascal, а студию ни разу в жизни не видел, но при этом оба в общем и целом одинково справляются с поставленными алгоритмическими задачами, то очевидно, что работодатель выберет первого.

Добавлено через 8 минут и 32 секунды
В то же время, если человек, знающий синтаксис языка C#  совершенно не умеет программировать ака применить его рационально в реальных ситуациях, а человек, знающий Pascal вполне справляется с алгоритмическими задачами, то выбор безусловно падёт на второго, ибо для работодателя это в итоге окажется дешевле.

Автор: QryStaL 25.10.2008, 11:30
Цитата(Afrodiziac @  25.10.2008,  10:45 Найти цитируемый пост)
И конечно же при выборе работы, он не смотрит, на каком языке программирования пишут в этой фирме.

1. Как же он тогда будет справляться со своими обязанностями? Если работодателю нужен опыт работы к примеру 2 года использования конкретной платформы, зачем ему брать человека, который ее в жизни не видел? Совершенствоваться лучше в чем-то одном.
2. И какой смысл распыляться на кучу однородных языков? Которые к тому же обычно взаимозаменяемы.

Автор: Afrodiziac 25.10.2008, 13:51
Ну так вот и получается, что по сути, на практике нужно

Цитата(QryStaL @  25.10.2008,  11:30 Найти цитируемый пост)
Совершенствоваться лучше в чем-то одном


 а в теории мы должны быть

Цитата(archeg @  24.10.2008,  15:41 Найти цитируемый пост)
 не привязан ни к каким технологиям. Технологии - ток инструмент


Например, я не умею писать веб сервисы на яве или также не писал там распределённые системы, получается что, по теории я не специалист? И когда я буду считаться им? Когда буду "видеть"(хотя бы приблизительно) каким должен быть код, решающий эту же задачу, но на другом языке?
В книгах пишут (упрощенно), что не профессионально использовать язык к которому ты привык(долго на нем писал, или не знаешь другого), потому как на другом языке реализация может быть проще, или быстрее...
Это что получается надо знать все? Или это идеал...? Недостижимая цель объять необъятное?

Добавлено через 3 минуты и 51 секунду
Или вот к примеру, в некторой фирме используют, к примеру Visual Studio (J#). Но спустя какое то время, по завершении проектов, решили что "дешевле" будет перейти на Eclipse (Java) или вообще на какой нить функциональный язык Haskell.
И что делать программисту? Или фирма избавляется от ненужных теперь сотрудников? Т.к.

Цитата(QryStaL @  25.10.2008,  11:30 Найти цитируемый пост)
Как же он тогда будет справляться со своими обязанностями? Если работодателю нужен опыт работы к примеру 2 года использования конкретной платформы, зачем ему брать человека, который ее в жизни не видел? Совершенствоваться лучше в чем-то одном.


Автор: Experimenter 29.10.2008, 18:17
Цитата(Afrodiziac @ 24.10.2008,  18:29)
3) Каков срок "службы" программиста? 
Где-то читал, что 35 лет это "потолок" для программиста, как для фото-модели 25 лет. Конец карьеры. Что около 90% (если не ошибаюсь) программистов имеют возраст 20-27 лет.
Если это так, то куда уходят программисты? В какие сферы? А может на пенсию smile?

Что делать, если я в 30 только начал программированием заниматься? А скоро 37 будет? Что значит "конец карьеры"? Не буду свои труды оценивать, но по моему мнению программист (настоящий) - это творец, а в творческих профессиях, как известно, не бывает пенсионного возраста. Нет пенсии у писателя, актера и т.д. Чем больше я узнаЮ, тем больше стимула продвигаться дальше в своих познаниях. Мир меняется, меняются тенденции, технологии, появляются новые задачи, о которых 10 лет назад никто и не думал. Какой тимлид? Какой менеджмент? Зачем? Да будь ты суперпрограммером, если не умеешь командой руководить, никакого толку на новой ступеньке от тебя не будет, только конфликты внешние и внутренние. Вот тут про твои прошлые заслуги уже никто не вспомнит. Занимайся тем, что тебе действительно интересно, будь собой на своем месте, и никто тебе не скажет никогда, что ты стал ненужным человеком. Ушла фирма на другие технологии: надо тебе это? интересно? Догоняй, изучай, иначе выбрось это из головы и выбрось эту фирму из своей жизни. Это не только к программистам относится кстати. Цени сам себя и будешь для других ценен.

Автор: Bogdan1024 29.10.2008, 19:19
Главное чтобы программить интересно было.

Автор: archeg 30.10.2008, 02:54
Цитата(Afrodiziac @ 25.10.2008,  10:45)
Цитата(archeg @  24.10.2008,  15:41 Найти цитируемый пост)
2. Программист - это тот кто хорошо логически думает, знает много хороших алгоритмов и имеет опыт в работе с конкретными технологиями. Но это не значит что он должен знать все классы, методы и их перегрузки, с описанием и подробностями smile. Опыт в работе с технологиями гарантирует какие-то знания в соотв. областях, а так же знание слабых мест и способов решения частых проблем smile. А найти нужный класс или метод - мсдн в руки.


Цитата(archeg @  24.10.2008,  15:41 Найти цитируемый пост)
З.Ы. К 2 вопросу - я считаю что если не считать опыта работы, то программист не привязан ни к каким технологиям. Технологии - ток инструмент smile


И все таки, в нынешнее время каким должен быть программист?

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

b) Человеком, который подбирает себе работу по принципу того, что он знает в данное время. Например, я знаю C#, значит буду искать работу C# Developer и т.п.

И то и то. Первое - идеал. Второе - реальность. Про-девелопер всегда будет стремиться к идеалу, но оставаться в реальности smile

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

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

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)