Partner, выше Габиль уже отписа́лся насчет этого.
Интересно и Ваше мнение.
Насчет чего?
Насчет того, почему мой вывод неверен.
below
Абстрактное знание какого либо языка естественно необходимо, но это еще не все. Знание предметной области/архитектуры OS имеет огромное значение.
Хорошо знающий предметную область специалист без особого труда переключится на другой язык.
У меня, например, есть свобода выбора конкретного языка для конкретной задачи.
Если надо по быстрому накидать desktop програмку для QA я выберу .NET WinForm или Delphi. Нарисовать UI в них проще всего.
Если нужно написать System Service app - фаворит С++ и т.д.
Программист решает конкретные задачи, а не просто пишет “на языке”.
Ну вот вам пример обычной позиции в обычно амер. корпорации:
The primary role of a Software Engineer is to develop software for the company’s products, and in particular to develop toolkits (SDKs) that are primarily written in C++. Day-to-day activities performed throughout the software development lifecycle include analysis, design, implementation, testing, documentation, build and release. A strong work ethic and the ability to work on a fast-moving project are essential. This position is located in Hopkinton, Massachusetts.
Responsibilities
Work co-operatively and constructively in a small development team of 5-8 software engineers directed by a Team Leader.
Develop software for the company’s products and applications in accordance with the company’s software development policies and procedures.
Acquire and maintain expert working knowledge of the C++ programming language and related C++ technologies.
Design software to meet product requirements.
Code and unit test software.
Build and release software at regular intervals.
Ensure that practical and useable documentation is established and maintained for all developed software (including source code comments).
Investigate and analyze problems discovered during testing and liaise with other software engineers to resolve issues.
Respond to defect reports in an efficient, effective and timely manner.
Maintain working knowledge of the company’s software development policies and procedures plus current software development methodologies.
Acquire and maintain a working knowledge of security related technologies, security vulnerabilities, and secure programming techniques
Skills
Required programming languages: C++ and C
Knowledge of Java is a plus
Required OS: Windows and Linux
Experience with other OS are a plus, such as Solaris, HP-UX, AIX, Mac OS, etc.
Solid knowledge of current software development methodologies
Good understanding of the software change management process
Responsive to change in a fast-moving, high-technology product development environment
Ability to operate confidently and constructively with peers and technical management
Proactive self-starter, delivery focused, results orientated, team player, high professional standards and work ethic, strong-willed but flexible, and capable of making independent decisions
Excellent written and verbal communication skills
Education / Experience
Degree in computer science or related discipline
Years of experience in software development: 0-3 years
Т.е. как минимум C/C++ under Windows & Linux. Degree in computer science or related discipline
Пока ехал домой, думал о людях, мучающихся в поисках, чего бы такого написать для обучения, и возможно не без пользы. Симулятор иммиграции в США. В начале игры, выбираете какая у вас виза (или какую хотите получить) и вперед. По ходу игры возникают ситуации, которые встречаются в реальной жизни в США (типа, родственник заявляет, что прописать вас не может - что делать? Варианты: 1. послать…). Для начала можно все сделать в простейшей текстовой форме. Лучше всего, наверно, в виде сайта. Затем, усложнять. Дальше, предусмотреть возможность редактирования сценариев надежными гражданами этого форума. Типа краудсорсинг. Если что то подобное уже есть, то я не знал. Если нет, идею дарю.
ага, Quest такой своеобразный, прикольно:lol:
Если говорить о минимальных наборах, то обязательно стоит упомянуть Revision control software и Bug tracking system.
В идеале выбрать какую-нить популярную версию и поиграться с ней. Посмотреть как выкладываются версии, как появляются ответвления, как добавляются баги и запросы и как меняется их статус в процессе жизненого цикла ПО (SDLC).
Если ты новичок и устраиваешься на первую работу, для работодателя будет большим плюсом, если им не придется тебя обучать азам работы с этими инструментами. Хотя бы понимание того, как это работает, уже будет положительно сказываться на впечатление о вас.
Помнится, когда искал свою первую IT работу (знаний не так уж много было), перед походом на интревью, через LinkedIn узнал какие инструменты используют в компании (напрямую спросил у сотрудника, рассказав, что хочу к ним устроиться и т.п.).
На интервью я уже был подкован и конечно же сообщил, что знаком с такими-то и такими-то системами.
Когда берут джуниоров, по большей части оценивают не то, насколько профессионально вы владеете тем или иным языком, а на то, насколько вы адекватны и как умеете адаптироваться, насколько хорошо понимаете весь цикл разработки.
Изучается это всё в очень короткие сроки, информации в сети море, бесплатные или ознакомительные версии инструментов найти не проблема.
Я, как .NET разработчик с более чем 8-ми летним опытом работы не рекомендую сейчас изучать .NET, Майкрософт уже всех достал с переменой технологий каждые два года. Бизнес не хочет постоянно переписывать приложения в которые были вложены миллионы. Перспективы у .NET весьма печальны, если Майкрософт не возьмется за голову в ближайшее время. Чтобы в будущем не остаться у разбитого корыта, я, в свободное от работы время, изучаю Java EE, чего и другим советую.
Я бы не советовал сейчас изучать .NET. Да, если вы высококлассный специалист, то на хлеб с маслом и красной икрой вы конечно себе заработаете, а вот новичку будет тяжело. Не знаю как за рубежом, а у нас, многие компании прекратили набирать .NET разработчиков и стартовать новые проекты на платформе .NET. Майкрософт уже достал бизнес своими сменами технологий каждые два года. Компании вкладывают миллионы в разработку ПО, и постоянно переписывать софт, который еще не отбил вложения, без особой на той причины уже очень многим надоело. Не говоря еще о стоимости продуктов от MS. Если Майкрософт продолжит двигаться в том же направлении, разработчиков на платформе .NET ждет печальное будущее. Лично я, к примеру, в свободное от работы время, изучаю Java EE, чего и вам советую. Там тоже не все гладко, но если вас интересует разработка серьезных проектов, то выбирать сейчас особо не из чего.
Еще могу посоветовать изучать веб-технологии, на них спрос будет всегда. Но сразу хочу предупредить, что со временем, вас начнет тошнить от верстки под разные типы и версии браузеров.
[DoopeRS]Если говорить о минимальных наборах, то обязательно стоит упомянуть Revision control software и Bug tracking system.[/DoopeRS]
С этим поиграться, конечно, надо. Но в резюме писать, наверно, все-таки не стоит. Ну не солидно.
С Revision control software и Bug tracking system поиграться, конечно, надо. Но в резюме писать, наверно, все-таки не стоит. Не солидно.
Зависит от многих факторов. Если речь о РФ и первой работе, то я бы написал о навыках работы с RCS и BTS. Первое резюме в любом случае не будет солидным. Это потом уже, по мере накопления навыков, такие банальности не пишут в резюме.
Лучше изучать HTML5. Будущее за ним.
Даже ваши 8 лет не дают вам никакого морального права рассуждать в таком глобальном масштабе о том что есть хорошо, а что нет для будущего технологий Microsoft. Я например, склонен думать, что начало - конца Java уже наступил т.к. многих ключевых разработчиков переманил Google, после продажи Sun Microsystems. Большинства языков уже интегрировали свои компиляторы под CIL платформы .NET
Я не говорю, что Java плохо, ибо хороший программист всегда будет работать.
P.S. Удивляюсь, как это получается, что .net программист с 8 летним стажем изучает Java?
программеру с 8 летним стажем на плечах 5 дней достаточно, чтобы чисто привыкнуть к некоторым моментам Java, ибо разница между C# насколько крохотные, что нет необходимости усидчиво изучать.
Габиль, по вашим ранним постам я сделал выводы, что вы являетесь разработчиком ПО, но сейчас начинаю сомневаться, поправьте, если я ошибаюсь. Просто не знать, что синтаксис и возможности языка программирования сами по себе на рынке ничего не стоят, может себе позволить только человек далекий от разработки. Для работодателя важен ваш опыт работы с различными фреймворками, СУБД, ORM и т.д. И ваши слова, что различия между Java и C# крохотные у меня вызывают улыбку. Я не буду устраивать сравнение технологий .NET и Java, т.к. не вижу в этом смысла, я думаю вы уже и так поняли, какую глупость сморозили. Моя цель предостеречь человека от неправильного выбора, т.к. он реально может последовать вашему совету и только потеряет время.
Единственное, что является общим для практически всех языков программирования это паттерны и алгоритмы, но начинающему разработчику я бы не рекоммендовал сильно налегать на их изучение, т.к. без глубокого понимания технологии у него врядли получится их применять правильно и к месту.
Касательно морального права я вам могу сказать следующее. Я не вижу вокруг новых проектов на .NET, редкое исключение составляет веб-разработка и безуспешные попытки втюхать Windows Azure решения. Плюс использование связки WPF для front-end и JEE для back-end. Зато на Java проекты стартуют с завидной регулярностью. Самое смешное, что я знаю компании(Microsoft Gold Partners) которые раньше заявляли, что мы разрабатываем только на .NET, но даже они уже стали переходить на Java.
По поводу вашего удивления, я просто сейчас не имею особого выбора. Мы видимо с вами живем в разных мирах, я программированием зарабатываю на жизнь, а вы видите в нем какое-то хобби. Я бы с удовольствием посмотрел, как вы после 5-ти дней изучения Java найдете работу в качестве Java разработчика, но вы конечно мне такой подарок не сделаете. Я могу потратить свое время, чтобы изучить разработку под квадратно-гнездовой экс-Metro-UI(Modern UI), но я считаю его берспективным для бизнес-проектов. Остальные вещи в 4.5 framework практически не изменились и уже давно изучены, что кстати отлично подтверждает прогнозы одной, достаточно известной компании, по поводу использования технологий майкрософт в ближайшем будущем и информацию о том, какие технологии майкрософт забросит в ближайшее время. По этому, я предпочитаю изучать другую платформу, чем тратить свое время на изучение технологии, найти новые проекты на которой практически нереально.
Я был бы очень рад ошибиться, т. к. .NET платформа мне нравится, но я предпочитаю быть защищенным от возможных проблем. Поэтому и рекомендую начинающему разработчику выбрать Java или, к примеру, разработку под мобильные системы, это сильно облегчит жизнь в будущем.
Вы путаете тёплое с мягким. .NET и Java это бэк-енд, а HTML(5) - фронт-енд.
Видно такие слова как ASP .NET и Java Server Pages (JSP) вам не знакомы.
Но это не страшно. Это же так интересно - узнавать что-то новое.
У вас есть право на сомнение и личное мнение, но это никак не идет в разрез с реальностью относительно моего опыта и профессионализм в той области в которой я тружусь и зарабатываю себе на жизнь.
Я вам ровным счетом это и пытался сказать, что рынку по “Иглесиасу”, каким инструментом вы пользуетесь. Мне не ясна причина перехода на Java после 8 лет успешного (надеюсь) опыта в .NET, потому как и C# и Java от одного и того же родителя, внимательно прочтите мой “ПыСы”. Насколько я понял, вы пытаетесь сказать, что рынок будет адаптирован полностью под Java и чтобы как-то обезопасить свое востребованность вы радикально решили пересмотреть свои профессиональные позиции в пользу Java. Да, знать несколько языков хорошо, но и рынок .NET открыт для профессионалов и не только.
Работодатель - работодателю рознь и это очень даже видно по классификации вакансий на сайтах. Работодатель четко указывает, какого уровня программиста и со знанием каких инструментариев он желает видеть у себя в команде. ТС сам решит какой путь выбрать, для этого я приложил маленькое усилие и показал на реальном примере, как легко и просто писать на C#.
Долгое время люди видя гром думали, что пришел пророк Илья.
То, что ока у вас закрыта изучением Java и ничего не видите кругом, это вовсе не означает, что мир стоит не месте. Я не понаслышке знаю, что многие Российские финансовые институты и не только работают в среде .NET. Опять же я могу отвечать только за свое окружение с чем собственно сталкиваюсь повсеместно. Мой однокурсник, lead девелопер в крупном российском банке (не буду говорить в каком), поделился инфой, что все их банкоматы и банкоматы партнеров лет 5 как автоматизировались под .NET, вот вам и редкостное исключение.