Что должен знать C# junior для того что бы его взяли работать программистом?

💡 Усі статті, обговорення, новини для початківців — в одному місці. Приєднуйтесь до Junior спільноти!

Хочется услышать мнение тех людей, которые принимают на работу. Соответственно и литературу посоветовать, может быть еще дополнительные источники информации, что почитать? А самое главное, не поздновато начинать в 26 лет? Заранее спасибо.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Надо знать всё ! Феерически всё, смотришь в вакансию там бывает написано типа : проект на WPF вот по этой теме надо знать всё, а если на ASP.NET то вот по АСП драть и будут ! А это всё говорит о том что сам язык C# ты должен знать писец как круто, а не просто if,while,for, спросят обязательно разницу вызова обычного метода и виртуального, а редкостные умники заставят изменить перименную в запакованной структуре не распаковывая её итп ... Троелсен+Рихтер вот что тебе поможет устроится ну ещё пол года времени если ты не дeбил !!!

Надо знать всё ! Феерически всё
Не согласен.
Для джуниора превосходные знания не ожидаются. Нужно иметь достаточный охват и знать где посмотреть.
Для джуниора превосходные знания не ожидаются.

2013 год, прошел 3 собеседования на Jun C# Dev. занимало по времени от 2-х до 3,5 часов за это время меня успевали спросить от и до проходились по всем технологиям с которыми можно работать в среде .NET в плоть до того : «почему в стеке под поток выделяется всё равно 1мб даже если мы используем параметр maxStackSize ?» Отвечаешь что из-за архитектуры х86, и сразу следующий вопрос: «а на какой архитктуре можно выделить больше мегабайта ?» - та откуда я бл*ть знаю, оно нафиг не надо ! Я ещё могуть понять вопросы типа : «Что собой представляет реализация атрибута на физическом уровне» или «Как получить все возвращаемые значения при вызове цепочки делегатов?» — это ещё ладно и возможно надо знать, но такое как : «... что произошло в этом сегменте памяти при эксепшене в статическом конструкторе» — это извените бред ! А вы мне говорите что от джуна многого не ожидается — «ЩЯС» так бы и подумал если бы не ходил на собесы ... Особенно любят по ASP.NET и WPF пройтись там много где оступится можно ! Короче не знаю как у вас там с Java это всё проходит но по «Шарпу» дерут хорошо и не всякую фигню типа чем отличается абстрактный класс от интерфейса !

Такое ощущение, что берут на работу техлида/архитектора. Судя по продолжительности, интенсивности и сложности вопросов.

Я вообще был в шоке и долго бился в истерике после такого. Выходные провожу на СтекОверФлоу и с книгами по архитектурам и технологиям .NET что бы хоть как-то ответить на подобные вопросы !

занимало по времени от 2-х до 3,5 часов за это время меня успевали спросить от и до проходились по всем технологиям с которыми можно работать в среде .NET в плоть до того
Видимо им скучно на работе, вот они и стараются затягивать собеседования. И делать им нечего — либо просто не понимают, для чего необходимо собеседование и что на нем стоит обсуждать (а что не стоит).
В итоге на собеседование списано куча рабочих часов.
Видимо им скучно на работе, вот они и стараются затягивать собеседования
Может быть, но эта их развлекаловка жутко бьет по моему самолюбию и доказывает мне что я нихрена не знаю !!!

dou.ua/...ic/8819/#404310
меньше эмоций и все будет ок
никто не знает все — а в реальной работе на проекте реально необходима меньшая часть

Вы совершенно правы !

Для вас важнее нанять кандидата или посостязаться с ним?)))
Когда как :)

Это жесть жестяная ! Этож надо же ...

Знаю реальные примеры, когда принимали на работу на основе личных предпочтений ... и не кого-то одного.

Афигеть, даже в мыслях не было что такое возможно !

Это признак того, что человек не слишком компетентен — и в компании не все ок.

У них уже просто есть кандидат, которого возьмут без вопросов, а вас нужно было попытаться «слить».

Другого объяснения таким глупым придиркам я не вижу. Как на физическом уровне обрабатывается память при exception-е никакого значения не имеет.

Пытаюсь придумать что такого можно писать на C#, чтобы

на физическом уровне обрабатывается память при exception
и регулировать размер стека ...
Пока никаких идей нет. Вот интересно, если у них джуны такое пишут, то что тогда делают мидлы, сеньоры и лиды? А архитектор небось сразу бинарным кодом гадит? — многоплатформенно ...

Архитектор на Win XP не глядя собирает и тут же патчит KDE2 под FreeBSD.

Это не Архитектор а Президент )))

CEO -> Board Chairman (тот же президент)

Адский ад!
Впечатление, что синьера на написание самого ASP.NET в MS собеседуют.

Это особо доставило:

«а на какой архитктуре можно выделить больше мегабайта ?»
У меня ответ тут только один в голове крутится: «гребаный .net живет только на гребаном виндузе который живет только на х86, так что идите в ж!».
«гребаный .net живет только на гребаном виндузе который живет только на х86, так что идите в ж!».

Мне нравится ваш ответ, но когда я ответил: «а нах*й оно мне надо знать», меня попросили поддерживать субординацию !

меня попросили поддерживать субординацию !
Тоже прелестно!
Откуда они знают — может Вы с военки и майор запаса а собеседующий и до сержанта не дослужился? ;)

Короче — не берите в голову. Похоже что у этих слишком большая честь работать для нормального человека.

Ну вообщем да, люди разные незнаешь на кого нарвешся по жизни !

меня попросили поддерживать субординацию !
"вам шашечки или ехать?" — им похоже важны шашечки
«гребаный .net живет только на гребаном виндузе который живет только на х86, так что идите в ж!».
Mono

С тем же набором внутренних MS тараканов, про которые спрашивали?

Но и стек у него необязательно 1Мб (по первому же примеру вроде как два по умолчанию).
Строго говоря — mono это другая технология (на других исходниках, чем MS), мимикрирующая .net для портирования и прочих утех.
И вангую что набор багов и фич у нее тоже отличается.

А что имели ввиду собеседующие — вопрос так же непонятный. )

первый пример 64битный
в большинстве случаев стек лучше не трогать
собеседующие не знали чем заняться — ну не могу с ходу придумать каким образом джун дотнетчик будет размер стека в продуктовом коде менять ...

не могу с ходу придумать каким образом джун дотнетчик будет размер стека в продуктовом коде менять ...
:D — Это точно !

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

Ограниченность не в размере стека, а в остуствии рабочей реализации хвостовой рекурсии в компиляторе.

Если мне не изменяет память, при сборке под платформу x64 C# умудрялся запилить хвостовую рекурсию (надо только пошаманить в настройках проекта и включить все оптимизации).

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

You must not take dependencies on this behavior. Use this information for your own personal entertainment only.

работало — это слегонца преувеличено.
И сути мало меняет, в С# до сих пор нету стабильно работающего компилятора для того что бы полагаться на хвостовую оптимизацию.

насколько мне известно, в шарпе нет хвостовой рекурсии.. и даже на стек оверфлоу не нашла, как ее включить.. все ответы были: ну нет в шарпе хвостовой, не нравится — пишите на f#

вывсеврети

        public static void Hello(int input) {
            if (input % 1000 == 0) {
                Console.WriteLine(input);
            }
            Hello(input + 1);
        }

Visual Studio 2013

Target Framework: 2.0

Platform target: x64

Language version: 3.0

Запуск в режиме Release, по содержимому консоли очевидно, что работает хвостовая рекурсия.

IL:

.method public hidebysig static 
	void Hello (
		int32 input
	) cil managed 
{
	// Method begins at RVA 0x2074
	// Code size 24 (0x18)
	.maxstack 8

	IL_0000: ldarg.0
	IL_0001: ldc.i4 1000
	IL_0006: rem
	IL_0007: brtrue.s IL_000f

	IL_0009: ldarg.0
	IL_000a: call void [mscorlib]System.Console::WriteLine(int32)

	IL_000f: ldarg.0
	IL_0010: ldc.i4.1
	IL_0011: add
	IL_0012: call void Tail.Program::Hello(int32)
	IL_0017: ret
} // end of method Program::Hello

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

да я в курсе, собственно, половину лаб сделала на плюсах по этой причине... как другие справлялись без понятия

Можно же увеличить размер стека

Фига себе. Я прошёл примерно 20 собеседований, но такого никогда не было.

От экологии C# девелоперы быстро мигрируют и в итоге спрос превышает предложение на рынке Днепропетровска, поэтому отбирают лучших из лучших и от джунов требуют уже senior-ских знаний.

Вы просто читаете мои мысли, в следующем году планировал свалить !

Удачи и успехов в новом году)

Спасибо, вам так же всего лучшего в 2014-м и с Наступающим ...

Ну і як успіхи? Сподіваюся, за 3 роки вдалося пробитися через терни в дотнет? :)

У меня как-то спросили принцип работы Entity Framework под капотом и рекурсивные скл запросы, как применяются, в каких случаях и в чем приимущества. Тоже на джуна...а потом собеседующийся сам признался, что вопросы не на джуна

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

Английский надо знать хорошо, школьную программу математики, уметь общаться, уметь писать тексты хоть немного.

Доброго времени всем ! Не хотелось создавать новую тему по этому решил поднять старую ! Люди сам учу С# после С++ который учил в универе хочу добиться уровня Junior ! Читал здесь подобную ветку только по Java и там было не мало конкретных ответов, например :

«Что должен знать Junior Java Dev что бы пройти собеседование ?»

Ответ «Oksana Chuiko» :

1) Core Java
2) JSP, Servlet, JSTL
3) JDBC, SQL
4) TomCat
6) HTML, JavaScript, XML
7) Maven, ANT
8) Subversion, Git
9) Eclipse
10) Patterns

И таких не мало конкретных ответов !

Хотелось бы подобное услышать по .NET специализации ! Тем более что сейчас как я понял в основном нужны Java-разработчики и много вакансий Java Jr. Dev, а на позицию C# меньше людей требуется и по этому требования возможно выше и вакансий junior C# очень мало, тоесть хочется конкретно знать в каких технологиях необходимо разбираться кроме алгоритмов и структур данных данного языка ! Может я что-то упустил в этой ветке форума но всё же ей более 3-х лет ! Буду рад вашим ответам и дружескому общению ! Спасибо.

Вот список вопросов для junior C#, там же есть разные тестовые задания.

Огромное спасибо очень признателен за помощь, сам искал но даже подобного не нашел !!!

ASP.NET по любому учить прийдеться ...

Напомни когда буду дома я тебе кое-что дам по .net

9) Eclipse
 — в ад, на проектах больше 100к строк Eclipse-а просто умирает и конечно «Building workspace....» по 3 часа. Нафиг надо?
IntelliJ IDEA — forever

P.S. знаю одну продуктовую организацию, где одним из главных требований является превосходное знание IDE Eclipse. Почему не Spring, Maven, шаблонов или Javascript спросите вы? Да потому что проект клонируется между разработчиками путем копирования папок из Eclipse в Eclipse со всей тучей спец. файликов и плагинов, билды на CI делаются раз в месяц и неделя уходит на то, чтобы он таки сбилдился.
Вообще если чувак будет компилить из командной строки для себя и заливать в репозиторий исходники, то вообще можно без IDE обойтись (в теории разумеется).

Мой совет — увидите в вакансии или услышите на собесе привязку или хотя бы намек на привязку к IDE — убегайте оттуда как от чумы. Иначе деградируете как разработчик.

По остальным пунктам возражений нет, все по делу.

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

А как твой заказчик узнает на чем ты кодишь?
Ты же подливаешь только исходный код (я надеюсь) в репозиторий?
Или он следит через вебку за тобой?

та палятся иногда через тимвьюер.
или расслабленный джун лажанёт чегонть, ему-ж не хватает времени код вылизать- то всестороннее развитие, то партеечек 9 в теннис (чтоб не засидеться), ну и обед полтора часика (дел-то много). А на мороз джунов сейчас не выгоняют, целуют в жoпу аж пока не вырастет или не сбежит сеньёром куданть.

а эклипсой я умею но не могу- там надо руки держать в положении словно они из того места куда джунов целуют.

Это да, я когда-то даже выделил Eclipse-е 16 гб рамы и 10 гб JVM, все равно с*ка тормозит. IDEA на 4 гб + JVM 6 гб все летает.
Java — такой язык, сколько бы оперативной памяти у тебя было, она сожрет ВСЁ.

выделил Eclipse-е 16 гб рамы и 10 гб JVM
мсье суров))
мсье суров))
пытался заставить эту скотину работать, но было бесполезно. «Building workspace.....» был ее ответ.
по остаткам: 2 гб зажрала винда, 1 — хлам и 3 гб — браузер. Итого 32 гб под завязку.

Сейчас по потребление памяти редко превышает 16-17 гб.

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

2Anonymous: Google, Microsoft обычно на стартовые позиции, когда у людей нет других козырей за спиной гоняют как раз на сообразительность и логику
на синьерские обычно уже приглашают с domain exp или засветившихся в чем-то другом.

2plochish думаю все это слабовато для их требований:)

Може вже закриємо цю тему? Це вже N-ний пост де автор шукає якоїй «магічної підказки»...
Знати треба найважливіше — доведеться багато «вкалувати», розбиратись по ходу, а халява (як це часто бувало раніше) вже не пройде.

Всю решту інформацію можна спокійнісінько дізнатись з сайтів по працевлаштуванню.

Осталось узнать, в каких компаниях вообще нужно и если нужно (!), то джуниорам (!) дают это на реализацию. LOL. Я конечно понимаю, что такие задания помогают проверить смекалку человека, но в работе от него потом требуется совсем другое.

Да, помнится в 8-ом классе на школьной олимпиаде «длинное» деление реализовать нужно было...

to vidok

я бы на твоем месте срочно бы отправил в Майкрософт резюмэ

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

Т.е. я не могу понять это шутка или джуниор это такой мизер знаний?

Как говорится — «Когда-то надо начинать», пускай будет багфикс и маленькая зарплата. Для меня, допустим, другого варианта набраться опыта нет. Кстати буду рад выполнить какое-то задание, если дадите оценку качеству кода и уровню знаний.

Надо говорить не только о знаниях в области языка.
Сейчас junior — это ресурс, на котором пытаются экономить.
Поэтому зарплата должна поражать работодателя своей скромностью,
Тогда шансы поступить на работу велики.
после полугода работы надо просить «выровнять» зарплату.

Но это для отчаявшихся. Мне искренне жаль начинающих в наше время.

А потом посадят юный талант за обычный багфикс...

Например:
1. Перемножить 2 длинных числа, которые не помещаются в лонг.

2. Инвертировать строку.

написать программу, которая выводит на экран сумму в долларах прописью.
Пример:
Ввод — 1.00
Вывод — one dollar
Ввод — 1234567.89
Вывод — one million two hundred and thirty four thousand five hundred and sixty seven dollars eighty nine cents
Оценивается: скорость написания, качество кода, правильный вывод для всех чисел.

Такое задание было на Cargowise (к сожалению, он закрыл офис в Киеве)

А не у кого нет примера тестового задания для junior?

Отпуск + Командировки + Работа ~ 2, 5 мес.

>> sergfam

А что ж вы 3 месяца делали?: -)

Спасибо! Буду пытаться перейти!

to sergfam

С учетом уровня отечественной индустрии — смело переходите.

Хотелось бы узнать ваше мнение?!

Если смысл в 35 лет переходить с системного администрирования в программирование на C#?

>> litrjohn

Якщо ви хочете знайти роботу, то спочатку треба самонавчитись хоча б до такого рівня, щоб вас взяли на курси. Завжди цікавило скільки ви б готові заплатити за місяць за курси 2 рази в тиждень по 2 години?

>> Петро

Ви.NET — чик? Якщо ні то не пхайте сюди свої структури ітд. В дотНеті як раз знання технологій більш важлива ніж розуміння як воно працює, от такий парадокс=)

Хто тут зі Львова, порадьте плз, чи є у Львові якісь курси по С# крім тренінг-центрів IT-фірм?

Для людини рівня trainee.

Вон у Лебедева всегда одно и тоже тестовое задание «Придумать себе задание и реализовать его».

Это как-то мелко. Можно давать задание по лучше.Например «Придумать способ заработать для нашей фирмы много денег и реализовать его».

Знания лишними не бывают. И лучше один раз увидеть, чем 20 раз прочитать)

Не розумію, для чого джуніору знати все те, що перелічено вище. Невже всі програмісти починали програмувати тільки після того, як прочитали Ріхтера чи Седжвіка? В основному все навпаки — людина приходить і починати ЩОСЬ ЯКОСь писати, і лише з часом до неї приходить розуміння необхідності читання книг (і то не завжди). Для чого людині знати WinAPI, якщо вона йде працювати C# програмістом і лише невелике коло задач потребує знання COM і WinAPI?. Аби було?

P.S. На співбесіді з однією відомою фірмою я почув фразу після того, як вони переглянули резюме: «ти на всьому цьому писав? А навіщо? ». Інший приклад — шукаємо талановитого PHP гуру зі знанням Java та ASP.NET!!!

Особисто мене на співбесіді мова цікавить незначно. Мене цікавить вміння вирішити задачу. Ти можеш прочитати 10 книжок по C#, але без практики ти не вартий нічого.
1. Рівень 1... Знання мови, технології на рівні теорії, синтаксису — з таким співбесіда навіть не почнеться.
2. Рівень 2. Розуміння і знання алгоритмів, складності. Вміння запрограмувати, чи адаптувати знайдений з відкритих джерел.
3. Паралельно з попереднім. Якщо ти не embedder, то ООП, шаблони проектування, вміти реалізувати і розуміння для чого вони.
Ось приблизно після 2-гого рівня з людиною можна говорити.
Але враховуючи теперішні часи цього буде замало і хочеться побачити в людини якісь особливі навики, це не обовязково щось повинне бути ектраординарне, але я хочу бачити що в людини є ширший за одну-дві технології кругозір і вона здатна вийти за межі і не застопориться, коли за 2−3 роки відбудеться зміна технологій.

Особливий плюс при вмінні працювати з голим Win32 API, COM (для теперішніх Junior-ів це зараз буває архіскладна математика, хоча толковій людині досить раз прочитати Ріхтера), розуміння як працює компілятор (Dragon Book), в що буде трансльований код, організація памяті, стек (останні два це взагалі-то must-have, хоча для користувачів VM це тьомний лєс).

То есть по Вашему прежде чем где-нибудь устроиться джуниором, нужно сначала поработать менеджером проекта и тимлидом, а так же менеджером по анализу рынка ПО, и если это получится то можно и в джуниоры пытаться?

Вон у Лебедева всегда одно и тоже тестовое задание «Придумать себе задание и реализовать его». Если мозгов не хватает придумать себе задание, может стоит пойти на стройку или в таксисты?...

Если есть опыт разработки ПО (Делфи, ВБ, с/с++) то я бы посоветовал начинать с сертификации мелкософта. Там много полезной инфы для начинающего. Если опыта разработки нет — тогда надо начинать с начала... Алгоритмы, структуры данных, многопоточность, как построенна современная ОС, базы данных, сети. В общем это скорее набор для человека без ВО в ИТ... Я думаю если у человека есть диплом программиста, то он полюбому что-то должен был писать (лабы, курсовые, диплом) и можно сразу переходить к сертификации, Рихтеру. Если человек с ВО в ИТ, но никогда не писал лабы, курсовые, и вообще не программировал — ему стоит забыть про программирование и идти лучше в тестеры или системные администраторы — там тоже достаточновакансий и неплохо платят.

Мне кажется главное не проект, а программисты, которые над ним работают. Для юниора основное это получение опыта от более опытных коллег. Если в команде одни олени — это повод поменять работу. Насчет стремления согласен — без желания ничего не получится, поэтому книги по программированию должны стать основным чтивом во всех возможных местах:)

Maxwellang,
1. На собеседовании не стоит задавать глупых вопросов, задавть только то что действительно интересует
2. Нужно доказать, почему компании лучше взять к себе именно тебя, а не твоих конкурентов
3. Нужно усиленно готовиться, повышая технический уровень, что-то постоянно читать, делать, експерементировать, анализировать, создавать себе же кучу вопросов, находить на них ответы.
4. Если C# разработчик, то в первую очередь нужна книга исклютительно «Г. Шилдт — Полный справочник по C#» — и только она ИМХО наилучшая для новичка, когда дойдеш до среднего уровня читай Рихтера
C# и.NET в общем легко даеться изучению
Я впервые взялся за это одной весной изучив основы и создав первый проект, летом уволясь с работы продолжал усиленно изучать.NET, осенью пошел на новую работу, там сразу на средний уровень и на соответственную зарплату. Правда до этого я программировал на Delphi.
Новичку скажу так: если имеються навыки в простом структурном программировании, то за год можно подняться до среднего уровня в C#.NET, если конечно повезет с работой.

И еще очень важный совет из личного опыта: искать нужно НЕ супер-модную фирму чтобы там устроиться, а интересный проект чтобы в нем взять участие, если интересног опроекта нет — уходи с той работы на другую

2 Sergey_P: Я начинал именно с Троэлсена, сложные темы можно пропускать и потом к ним вернуться (или в другой книге вычитать).

2 Sergey_P
Книга — Шилдт Г. Полный справочник по C#
Хочешь изучать C# и.NET, но не знаешь с чего начать? — msug.vn.ua/...2/26/c-net.aspx

Еще посмотри здесь — books.msug.vn.ua/CategoryView category, C.aspx

Я не имею ввиду что Эндрю Троэлсен — С# 2005 тяжелый в чтении, я просто спрашиваю, что читать с буквально нулевыми знаниями C#

2 Sergey_P, Почитайте Рихтера CLR via C#, тогда вы поменяете мнение, что читать Троэлсена тяжело.

Посоветуйте, какую литературу можна почитать по С#, что бы все было написано начиная с елементарных основ (синтаксис, циклы, массивы).Потому что сходу читать Эндрю Троэлсен — С# 2005, тяжеловато для начала. И второй момент, есть ли Standard ECMA-334 C# Language Specification на русском?

Надо хорошо знать core — фундаментальные основы языка, основы алгоритмов, хорошо работать с коллекциями и генериками, понимать многопоточность. Если все это будет — то остальному научишься. Кстати, попробуй посмотреть это — Тесты C#, — там приближенные к практике вопросы

Endji, а вот чем принципиально отличается делание чего-то мелкого за деньги онсайт от делания небольших работ на аутсорсе? Разве что тем, что он-сайт их делать на порядок легче и продуктивнее? Про OpenSource мы просто помолчим, так как делать законченное приложение или вменяемое дополнение всегда сложнее, чем работать на подхвате.
По вашей логике, при любом переходе с повышанием квалификации вам должны отказать, так как у вас нет опыта. Типа: вы хотите работать в Google? А почему у вашей конторы нет такой капиталлизации? Что вам мешает её достичь? Вы плохой, негодный программист, так как в ваши годы Сергей Брин...

junior — это первый кандидат на выполнение работ, которые никто больше не хочет делать, а надо. А такие работы есть практически всегда.

junior это состояние духа — я мало что сделал, но очень хочу научиться. Даже если опыта практически нет, то любой здравомыслящий человек спросит -, а почему ты его нигде не получил. Есть open-source, есть куча сайтов где предлагают сделать что-то мелкое, но нужное, причем за деньги, причем ты сможешь написать в резюме — делал то-то, заказчик остался доволен. Проблема не в том что это невозможно, а в том что только одним желанием ничего не получить.Есть ОЧЕНЬ много возможностей получить заветную строчку в резюме...

lisander
Мыслим логически. Ты хотел устроиться работать даже бесплатно, чтобы получить опыт. eugene_n тебе постом выше дал работу, за нее тебе никто не заплатит, ты получишь опыт. Что тебя смущает?
1. Что не дали полное техзадание? Бывает нужно импровизировать.
2. Что не сможешь подтвердить опыт трудовой книжкой? Если устроиться куда-то и уныло просидеть там несколько месяцев и все равно не иметь знаний, но иметь трудовую — это будет не лучше.

И вообще инициатива нравится всем


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

может стоит пойти туда где вам кажеться лучше?

+100

такое ощущение, что человеку весь мир обязан)

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

может стоит пойти туда где вам кажеться лучше?

2 eugene_n

То есть по Вашему прежде чем где-нибудь устроиться джуниором, нужно сначала поработать менеджером проекта и тимлидом, а так же менеджером по анализу рынка ПО, и если это получится то можно и в джуниоры пытаться?

lisander!
Мне кажется, чтобы выйти из этого замкнутого круга, вам надо создать работу для себя.
Вместо того, чтоб оббивать пороги сядьте и напишите какую-нибудь шароварную программку.
Грамотные рекрутеры ищут спецов именно через сайты фривара/шаровара — там можно посмотреть на реальные скиллы.

А, как я понимаю, времени и упорства вам не занимать.

to liferay.openvisa.net
«готовьтесь тщательнее к собеседованию.»
На собеседование сначала нужно попасть, для этого в резюме должна быть запись: «опыт- n лет».

Готовиться к собеседованию тоже особо не трудно, нужно только правильно ответить на вопрос: «В каких коммерческих проектах учавствовал и что там делал? »

Могу сказать со своей колокольни, что опыт — это действительно самое главное на что смотрят сейчас. И наверное это правильно. Вот если бы сейчас не было такого количества «псевдо» программистов, научившихся на курсах основам языка (даже не технологии) и пользующихся во всех ситуациях всевозможными конструкторами (.net ими благо богат), то было бы справедливо брать человека исключительно по багажу его знаний, а не по опыту.
Второе, что хотела сказать, часто сейчас в мелких городах опыт у людей не такой уж и опыт с официальной точки зрения (никаких записей в трудовой и «белого» дохода), поэтому гипотетически можно написать в резюме себе все что угодно. Вот у меня например, полгода опыта в ASP.NET, который я не смогу доказать иначе чем своими знаниями, но тем не менее предложения есть. Так что двойственная ситуация получается.

Что могу посоветовать точно — так это пишите для себя и готовьтесь тщательнее к собеседованию. Удачи!

2lisander про «комменрческий опыт» тоже самое ^_^

на одной харьковской фирме так и сказали «поработайте пол года в коммерческом проекте и мы будем рады с вами сотрудничать»)

Сегодня пытался подарить свои деньги кадровому агентству. Когда прозвучал вопрос, где я работал программистом до этого. Я ответил, что программистом не работал. Удивились: как это кто-то нигде не работал программистом и при этом надеется устроиться программистом? Отказались со мной работать.

А Вы спрашиваете, что нужно знать! Не знать нужно, а иметь опыт и стаж (если это не одно и тоже).


Я не верю в спеца, который играючи переходит от баз данных к кэшированию диска, а от него к веб-интерфейсу. Он слишком смахивает на ламера.
Не буду приводить пример Кнута — он определенно не из нашей галактики:)
Linus Torvalds вполне неплохо совмещает разработку ядра ОС и системы контроля версий. Попутно как-то присылал патчи в проект Gnome, причем если я правильно помню — связанные с GUI.
Tom Lane хорошо чувствует себя и как один из основных разработчиков ПО для стандарта JPEG, и как член PostgreSQL core team.
Прошу прощения за пафосные примеры, но просто других специалистов, которых знаю я, наверное не знаете вы, и наоборот.Я знаю одного разработчика, говорящего на 4 языках, свободно ориентирующегося в C, Perl, Javascript, HTML и SQL, который к тому же является инструктором карате, но это слегка офтопик:)

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

Главное, что нужно в первую очередь — уметь попасть на собеседование. Если можете это делать чаще чем я, а у меня это получается раз в 1.5−2 года, то можно развиваться дальше, и начинать учиться проходить собеседования. А языки и технологии можно учить на работе, когда устроитесь.

Знаю 4 людей, які признавались що не прочитавши жодної книжки стали програмістами, для проходження співбесід прочитали вступні розділи, або з вікіпедії про ООП. Тому хз... як то їх відбирали=))

Это что-то из области фантастики. Может они пошутили?)

Знаю 4 людей, які признавались що не прочитавши жодної книжки стали програмістами, для проходження співбесід прочитали вступні розділи, або з вікіпедії про ООП. Тому хз... як то їх відбирали=))

А почему Гради Буча никто не советует? ^_^

Что-то мне кажется, что в данный момент времени мало будет прочитать все выше указанные книги. Книги — уровень trainee. Без опыта человека не рассматривают как junior’a. Это все ИМХО. Если я не прав, пусть люди, которые принимают решения о принятии человека на работу, меня поправят.

А чому саме Junior C#, а не Junior Java наприклад?)) (щось багато тем на цю тему за місяць зявилось) Просто цікава ситуація, наприклад в моєму місті був такий момент що 3 компанії одночасно готували групи по.NET, досить того що в кінці появляються такі генії які умудряються писати в резюме, відмінно знаю:.NET, Java, C++, Delphi та потім всі починають казати що між тими мовами фактично немає різниці, бо знають як створити там і там обєкти образно кажучи. Жаль що так бо насправді мені здається треба трошки «хворіти» своєю мовою, технологією чи ти наприклад запеклий Лінуксоїд чи.NET -ик щоб стати профі, і наспаравді професіоналізм на мій погляд оприділяється знанням технологій для певної «платформи», а не самої мови.
На моїй канторі впринципі найбільше позвільняли.NET-чиків, тому на стадії джуніора я б не радив так строго вибирати хліб.
А щоб стати джуніором.NET треба як мінімум знати С# (.NET 2.0), WinForms чи ASP.NET 2.0 та ADO.NET і бажано SQL, а тоді можна щось думати. Хоча на С-шарпі можна програмувати взагалі не знаючи його, бо «він саме покаже де кому поставити»...))
А поповоду знань типу чи потрібно вчити Кнута ітд, то всьо залежить від твоїх схильностей і бажань. Знаю таких людей які захоплюються «низькорівневим» програмуванням на С-шці, знав одного який взагалі казав що Ассемблер це легко, а.NET йому дається важко бо треба знати які методи є в готових бібліотеках ітд. Ще можу добавити що знання матиматики є звісно хорошим, але в програмуванні під.NET для деяких аплікацій воно взагалі не потрібно, тут часто скоріше треба швидко читати і ловити на льоту бо все впринципі готове -написане, просто треба використати певні методи чужого класу=). А от в задачах на С-шці скорше мабуть прийдеться більше думати башкою, хоча це ще не означає що з нього буде хороший С-шарпіст, або наприклад вїхати в бізнес логіку інколи може бути не так легко, що є не залежним від твого рівня програмування і воно може бути найважливішим.

Плюс не раджу сильно перечитуватись книжками чи получати другу освіту, бо воно нафіг вам скоріш за все вам знадобиться! Придумай собі проект і роби його, або ще краще знайди собі якісь курси.

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

Junior це Junior, а Middle це Middle. Щоб стати Middle треба спочатку стати Junior.

Я думаю если в наше сложное время Junior хочет найти работу, но нужно быть готовым к собеседованию на уровне Middle.
В плане технологий вы можете посмотреть вопросы на экзамены сертификации МСа на.NET если сможете отвечать (без читов)

на 50−60% то для собеседования нормально... можно выбрать какой-то по среде, БД и ахитектуре, когда я сдавал это были 229, 300, 316, 316, 320

Я думаю, що 26 років зовсім навіть не пізно.
Книги:
1. Вірт — по алгоритмам;

2. Крістіан Гросс C#2008 самовчитель;

1. Вища технічна освіта.
2. Вміння думати.
3. Знання синтаксису.
В принципі все.
З класичних питань на співбесіді:
чим відрізняеться тип-посилання від типу примітиву;
чим відрізняється масив від списку;
які знаєте методи сортування та пошуку;

чим відрізняється об"єкт від класу;

так какие все-таки требования к джуниору?

я не имел ввиду что во всем, что в ряде дисциплин... и кстати тот народ что ядро Гугля пишет в памяти толк знает;) ведь где по вашему хвариться поисковый индекс, а он отнють не гиг весит

2 junior_dev

очень много есть практикующих програмеров с 3 м и «выше» по ряду пунктов, это они пишут поиск Гугль,

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

ядро Юникс или Винды,

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

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

То Женя-Н: очень много есть практикующих програмеров с 3 м и «выше» по ряду пунктов, это они пишут поиск Гугль, ядро Юникс или Винды, компияторы Жавы и С итд
к примеру таже задача распределения памяти в операционной системе, может быть рассотрена как НП задача о складах (или как линейная о назначениях в зависимости от модели) итд...

задачи проектирования микросхем это тоже НП задачи, а их пишут практикующие люди, они же пишут компиляторы итд...

эту матрицу притянул на дев.юа я;)
По поводу уровней.
Там определено что означает каждый уровень в каком то наборе знаний.
Не по всем наборам знаний у тебя будет 3 уровень.
Да и не нужно.
Но всегда можно определится что можно подтянуть.
Понятно что можно придумать и 4, 5, 6 уровни для большинства «наборов знаний».
Но мое мнение что не должно быть разрывов больше чем 1−2 уровня если у тебя в одно 0, а в другом 3 то ты не гармонично развит;)
Вот так вот.;) А гармоничность развития позволяет быстрее двигаться в смежных областях.
Извините за сумбур. Мало времени.

Для юниора 0−2.

Кстати насчет этой самой Таблицы Компетентности. Мне кажется что после уровня 2, надо не изучать еще 2 фунциональных языка и выдумывать новые структуры данных, а сосредоточится на доскональном знании своей предметной области — сетевой маршрутизации, финансовом анализе или там шумоподавлении на видеопотоках. Мне кажется что описанный в таблице уровень 3, это скорее не практикующий программист, а университетский балабол.

To Сергей, не знаю, что там значит 3й левел, но многие иногда только с него начинают свой путь в компании и впереди еще не паханое поле.

Извините если не в тему или грубо етс, просто вспомнилось такое.

У меня насчет Кнута тоже двоякое мнение. Не уверен, что джуниору он нужен, без него вполне можно обойтись.

Фаулер однозначно пишет зачотные книги. Категорически советую прочитать книжки Фаулера по рефакторингу и Архитектуре (чтобы не писать индусский код), правда они рассчитаны на Java, но примеры прозрачные и легко применимые к.NET.

Многие, но не все, думаю большинство _начинают_ работать в компаниях с 0−1 левела,

ясно что совершенству предела нет (и программисты с 10+ лет стажем бывают:)).

Ну Кнут это пожалуй слишком жестоко. Честно говоря не уверен даже, что всем подряд нужно. Я б наверное посоветовал по алгоритмам почитать Вирта или Ахо, а Кнута юзать как справочник. БЧ и Фаулера еще бы добавил.

To Сергей, не знаю, что там значит 3й левел, но многие иногда только с него начинают свой путь в компании и впереди еще не паханое поле.
Так что та таблица наверное отображет только отдельно взятый случай, к примеру в НП проблемами, есть люди которые их не только класифицируют, ,
но и решают, а у них тогда какой уровень? тоже самое со структурами даных? когда человек определяет системы координат и продюсирует новые структуры, а не знает сушествующие?
итд... с компиляторами и ядром тоже самое, когда человек знает обходы ядра и тонкости, а не компоненты, когда человек писал свои компиляторы, я не просто разбираеться в линковке

и скрип-настройках... мне кажеться та таблица далеко не полна

Ну если для того, что-бы взяли работать _программистом_, то наверное точно то же, что и любому другому жуниору: СИКП, Кнута, Норвига...

Также есть книга по вопросам на интервью, называется «.NET interview Questions Third Edition» автор «Shivprasad Koirala», правда я ее не читал и ничего сказать по поводу полезности не могу:)

Литература по C#:
1. Эндрю Троэлсен — С# 2005 и платформа.NET 2.0 (можно и 3.5 найти, но только на английском)
2. Мак-Дональд, Шпушта — Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов (аналогично можно найти 3.5)
3. Рихтер — CLR via C#. Программирование на платформе Microsoft.NET Framework 2.0 на языке C#

Этого должно быть достаточно чтобы начать работу. Все остальное можно научиться в процессе работы от более опытных коллег (или прочитав еще пару десятков книг). Также советую почитать что-либо о SQL Server, например мне очень понравилась книга Пола Нильсена — «Sql Server 2005. Библия пользователя»

а что с возрастом не так? вполне себе нормальный возраст.Правда времени расслабится уже не осталось: -) Первое что надо сделать — не читать форумы, а найти примеры вопросов на собеседовании по C#. Сначала вопросы по зыку (и технологиям), потом рассмотреть и попробывать решить пару десятков вопросов «на подумать». Еще можно найти десяток предложений работы и посмотреть что там хотят — по крайней мере поймете куда рваться. Источник информации — google.com — все что надо для начала и не только.

Вот когда-то ссылка проскакивала, может пригодится:

Programmer Competency Matrix

Хотелось бы услышать общие критерии (без привязки к технологии) потому как меня интересует тот же вопрос, но Junior Python.

26 лет? ты уже опппоздал, твой поезд экспресс на Киев уже ушел...только дворником или таксистом...какой C#

А что вы уже умеете? Расскажите про себя подробнее — тогда мона дискутироватью

Підписатись на коментарі