Список требований к C++ junior developer

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

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

Спасибо за внимание.

👍ПодобаєтьсяСподобалось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

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

С++ developer-ом работаю с 1999. Первую программу на C написал лет на 7 раньше.

Junior C++ разработчиков сейчас практически нет, потому как с ВУЗ-овской подготовкой что-то случилось.

Потому лично я, взял бы на Junior C++ developer-а человека, которого

1. Собственно, серьёзно интересует программирование (постоянно что-то пишет на C++ хотя бы Just for fun) и ему не безразлично, как это всё устроено на системном уровне (потому как задачи С/C++ ближе к системе, но это не обязательно. Но мне кажется хороший C++ программист не может не интересоваться системой)
2. У него есть способности (на основе собеседования) и достаточно собранности. Последнее нужно, чтобы ориентироваться в большом объёме кода (может попастся софт, написанный давно и его за то время уже стало много, а C++ может подбрасывать неожиданности)

3. Его Страуструп всегда под рукой, его программы улучшаются день ото дня. Потому как, естественно, Junior нам нужен как будущий Senior

P.S. Ну, знание того, что такое виртуальное наследование не обязательно, если человек способен изобрести самостоятельно произвольное количество (и может быть, не менее заумных :) абстракций и потом их реализовать с использованием языка.

я junior программист учился сам, знаю с\с++ о моей подготовки мне себя оценить трудно, но думаю она достаточная для работы, очень хотел бы работать по этой профессии, но меня не берут, из за отсутствия всяких компьютерных дипломов и опыта работы, если Вы можете меня взять, я с удовольствием пройду испытательный срок, даже без оплаты, Вы не разочаруетесь в моих способностях, мой номер 0631711138 звоните в любое время!

Вот вакансия (открыта практически постоянно) www.fulcrumweb.com.ua/archives/425.
Вот описание требований. www.fulcrumweb.com.ua/...nterview_stages.

На сайте много материалов для подготовки. Милости просим.

Апну тему, ибо интересна она мне, ну и нагуглилась...

Вкратце, вдумчиво прочтен Керниган и Ритчи — их С, частично Страуструп, спецификация СТЛ и опенГЛ, ну и куча просто документации — по разным возникшим вопросам .

Опробованы силы с использованием ооп, стл, кютэ, опенгл, но все по меловам.

Наверное примусь за что-то более серьезное, ибо опыт не купишь..

место действия Харьков, цель устроится на работу на должность джуниор цпп девелопер.

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

Любимые вопросы и темы рассуждения — мне так попалось:

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

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

Но, пилю дальше, и да.. мне нравятся плюсы, по разным причинам, не буду уточнять.

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

Y.P.

> ООП — это правильный шаг в развитии функционального программирования

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

Вывод — чтобы найти хорошую работу на С++ мало знать С++. Еще нужно быть гуру в некой области применения С++. Так что хэллоуворлдщикам там делать нечего. Но если все необходимые знания уже есть, и удалось найти адекватного работодателя (а это тоже непросто, особенно в нашей стране), то такой программист может рассчитывать на з/п в несколько раз выше, чем специалисты в более «широких» областях.

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

При чем тут виртуальное наследование, мы же про виртуальный деструктор говорим, а не про наследование. Вот спросил бы ты их про деструктор — они точно засыпались бы:)


Кстати, про виртуальные деструкторы — это действительно вопрос для джуниоров?
В Волгоградской области ни один программист со стажем (от 0 до 14 лет) не ответил мне на вопрос, что такое виртуальное наследование и для чего нужны виртуальные деструкторы...

Станно, когда мы, в Днепре, набирали людей на С++ жуниора то 3 из 6 человек рассказали про виртуальное наследование и смогли привести примеры его использования.

Значит это вопрос на все возроста:)
Хороший джун должен знать. Я знал ещё в студенческие годы, то есть до того как стал джуном.

Возможно програмисты в Волгоградской области имеют малый опыт прохождения собеседований... Кстати, а что это был за програмисты то? Точно С++ ники?

Кстати, про виртуальные деструкторы — это действительно вопрос для джуниоров?

В Волгоградской области ни один программист со стажем (от 0 до 14 лет) не ответил мне на вопрос, что такое виртуальное наследование и для чего нужны виртуальные деструкторы...

Конечно, как ООП реализован в С++, это далеко от идеала, но будем надеятся в новом стандарте добавят каки то интересные фичи, те же интерфейсы (как языковые элементы) к примеру...

Смысл? СРР это компромисс между низкоуровнемыми возможностями С и строгой объектностью более высокоуровневых языков. В этом вся его ценность. А то развели всяких Александреску — и язык становится непригодным для доступа к битам, и риск потерять контроль над памятью остаеться.

2 ScorpZ Вы всё замечательно изложили, только

ф-циональные требования к программе

меняются каждые полчаса, вот основная сложность современного программирования, отсюда и все «интересные фичи»

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

Конечно, как ООП реализован в С++, это далеко от идеала, но будем надеятся в новом стандарте добавят каки то интересные фичи, те же интерфейсы (как языковые элементы) к примеру...

Где же дао?
Антимотиваторы не спят.

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

ООП — это правильный шаг в развитии функционального программирования.

Скорее процедурного, функциональным там и не пахнет.

В принципе, простые формы кодогенерации/метапрограммирования (до этапа компиляции), можно реализовать и при помощи нынешних макросов, в сочетании с тэмплитами.

Язык шаблонов слишком ограничен и замудрен, так что ключевое слово простые.

Для более сложных вещей, хорошо бы иметь возможность передавать строку, в качестве параметра тэмплита (это, вроде, обещается в новом стандарте C++). Но это, конечно, изврат — к тому же, тормознутый и тяжёлый для отладки. В общем, нужен рефлекшен -, а его пока не обещают.: (

Конечно нужен. И если есть развертывание макросов в реальном времени, отладка становится простой. Вообще идеал метапрограммирования — это коммон лисп, когда код и данные суть одно и тоже. Но в языках с синтаксисом такого не добиться.

Впрочем, немерле очень и очень неплох в этом плане.

В этом смысле, дженерик (обобщённое?) -программирование, это действительно, нечто другое.

Это просто одна из слабых форм метапрограммирования.

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

А у Глобала 300 открытых вакансий и они по 100 закрывают в месяц (если я все правильно помню).

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

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

C++ снижает производительность, по сравнению с C.

Ню-ню. Закон Паркинсона.
Ворд и ексель сгнижает прозвтльность, а нотепад и калькулятор повышает.
ООП можно и на ассембля сбацать.

Дао

ООП же придуман, для другого

Нус, в студию дао

2 мдауж

Метапрограммирование — изменение кода (и главное типов) в процессе исполнения программы, очередная новомодная фича для создания полиморфизма, которого нет в исходном языке, ничего сложного там нет, но напроказить (и отладить) практически невозможно.

2crypto5 вот и я о чем! Новичкам, таким как я, пользы от таких высказываний мало.

> Но СТЛ тем не менее задизайнено используя ООП; -)
Возможно, под «мистификацией C++ сного ООП» он имел в виду, что оно реализовано, фактически, средствами C.

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

Александр Степанов, в одном из своих интервью, указывал на то, что ООП «методологически неправильно» и что «... ООП практически такая же мистификация как и искусственный интеллект...»

Но СТЛ тем не менее задизайнено используя ООП; -)

> отец-основатель STL

Да, уже посмотрел. Чё-то я забыл о нём...

Хто такой, ентот Александер Степанов?

отец-основатель STL

Какие макросы? С его бредовым синтаксисом? Не задолбаетесь?:)

> Александр Степанов, в одном из своих интервью, указывал на то, что ООП «методологически неправильно»
Хто такой, ентот Александер Степанов? Страуструпа знаю, никакого Степанова — не знаю.
ООП — это правильный шаг в развитии функционального программирования. Но следом должно прийти метапрограммирование, как некое «надпрограммирование» -, а вот с ним в «плюсах», как-то, пока не сложилось...

P.S. Ок, Степанова уже знаю.:)

Александр Степанов, в одном из своих интервью, указывал на то, что ООП «методологически неправильно» и что «... ООП практически такая же мистификация как и искусственный интеллект...»

Тема топика звучит так:
Список требований к C++ junior developer,
а не:

Чего бы я хотел от ЦПП

> Страустрапыч конкретно пишет, как дедушка Ленин — для повышения производительности
Кстати, сомневаюсь, что Страустрапыч такое мог написать. Т.к. C++ снижает производительность, по сравнению с C.

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

> Будь в С++ макросы аля Немерле, цены б ему не было.
В принципе, простые формы кодогенерации/метапрограммирования (до этапа компиляции), можно реализовать и при помощи нынешних макросов, в сочетании с тэмплитами. Например, глянь сюда:
www.codeproject.com/...p/crc_meta.aspx

Для более сложных вещей, хорошо бы иметь возможность передавать строку, в качестве параметра тэмплита (это, вроде, обещается в новом стандарте C++). Но это, конечно, изврат — к тому же, тормознутый и тяжёлый для отладки. В общем, нужен рефлекшен -, а его пока не обещают.: (

> ООП, например, позволяет упростить то, что иначе делалось бы SQL запросами с приятными неожиданностями по объемам памяти и быстродействию. ООП позволяет, заранее описав структуру данных, упростить запись данных и их выборку из базы данных.
Не, насчёт ООП дао (не путать с DAO) ты не постиг.:)
То, что ты пытаешься выдать за ООП — не самом деле, многоуровневая разработка ПО и O/R-мэппинг. Они, в принципе, могут делаться и без всякого ООП.

ООП же придуман, для другого...

Будь в С++ макросы аля Немерле, цены б ему не было.


Из моёго опыта, скажу: 90% программистов не понимают, зачем ООП нужно, хотя Страустрапыч конкретно пишет, как дедушка Ленин — для повышения производительности

это понятно. продолжаю заниматься с++ =)

Из моёго опыта, скажу: 90% программистов не понимают, зачем ООП нужно, хотя Страустрапыч конкретно пишет, как дедушка Ленин — для повышения производительности труда. Если это понятно, можно продолжить заниматься С++. Джава то же ООП, но джаву Оракл купил и начал рынок джавы разваливать (погугли). ООП, например, позволяет упростить то, что иначе делалось бы SQL запросами с приятными неожиданностями по объемам памяти и быстродействию. ООП позволяет, заранее описав структуру данных, упростить запись данных и их выборку из базы данных. Не идеализируя плюсики, свою живучесть они доказали давно. Это как тригонометрия, всем нужно её порйти в школе, и использовать на протяжении всей жизни.

Первый пост был написан рано утром и к делу это не относится (тем более после рабочей ночи). Два иностранных языка сейчас совершенствуются. Грамотно писать не проблема, я Вас не проверить ошибки просил.
2 hellip
Я еще студент 4 курса (заочная форма). Год работаю в АЙТИ сфере, но то, чего ожидал, не увидел. Сижу, учу все сам. Вот только по этому я задал Вам вопрос о возрасте. Для Вас звучит смешно возможно, а для меня сейчас все важно. Писаниной задач сейчас никого не удивишь, а с таким ростом технологий вообще никогда не успеешь. Еще не бакалавр лишь потому, что пришлось служить. Зарплата у меня тоже не высокая, для себя мало остается.

Просто хотел сказать, что самому тяжеловато. Да и знаний моих мало для участия хоть где-нибудь.

2 мдауж

Учи — учи английский, может уедешь

Не надо бояться маленьких зарплат, у меня первые два месяца вообще 450 грн было (зима 2005), потом больше и больше, студентом было

Может быть, Мдауж не студент?:)

anonymous

Думаю, тебе стоит отложить С++ на время в сторонку и выучить русский...

Это бессмысленный флейм, к делу не относится. Вот выучить английский действительно полезно, а по-русски у нас большинство пишет малограмотно и никто от этого ещё не умер.

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

Не надо бояться маленьких зарплат, у меня первые два месяца вообще 450 грн было (зима 2005), потом больше и больше, студентом было неплохо:)

Я просто не пойму где взять 3 года опыта?

Это не только для ЦПП. Мо скоро «кризис» закончится (а судя по активности ХР он уже заканчивается) и будут брать снова всех.

2 мдауж

Думаю, тебе стоит отложить С++ на время в сторонку и выучить русский...

товарищи! какой возраст является нормальным для C++ junior developer? мне 21, недавно изучаю с++ (можно сказать решение мат задач) Я просто не пойму где взять 3 года опыта? Если на освоение языка до определенного уровня нужно хотя бы год, а потом еще куча всего.Неужели люди начинают программировать уже сразу в студиях с разработки программного обеспечения, если можно так назвать? Я это к тому, что с таким успехом я лет через 5 смогу смело кидать резюме на вакансию с++ джуниора (

Soft,

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

Я встречал людей, которые пишут ПО под Oracle и не понимают 3-ю нормальную форму. Но это же не говорит о всех Ораклоидах?

Спокойно, Софт, мы знакомы лучше чем ты себе можешь представить, я с Делфимастера; -)

2 Soft

отрывать за

А кто же тогда программы писать будет?

Автоочистка памяти и реалтайм несовместимы.


Практик 32 мин. назад
2 Soft
как только все ссылки обнулены объект моментально прибивается и вызывается деструктор, причем фича работает даже в мультипотоковой среде)

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

Яйца отрывать за такие деструкторы.

2 Soft

как только все ссылки обнулены объект моментально прибивается и вызывается деструктор, причем фича работает даже в мультипотоковой среде)

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

2 Антон

Звиняйте за очепятку, в оригинале

Полиморфизм упростит программу, если в цикле надо обойти все ветки всех деревьев, ,

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

про это hellip и цитирует стаустрапыча во втором издании

Указатели на функции помогают реализовать полиморфические подпрограммы, т.е. такие подпрограммы,

которые можно применять к объектам различных типов

,
дык это проблем не решает, программа «не знает», что чемоданы в моём массиве содержат разное наполнение, у кого бельишко, у кого баксы, программа «таможенник» дюже полиморфная должна быть.

Ну что, так понятно?

2 Практик
Это что за бред?
> Он упростить программу если в цикле надо обойти все ветки всех деревьев,

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

@ maxdz

Я же написал:

итеративное приближение

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

Если все же налицо органическая непереносимость Страуструпа, то я могу порекомендовать Thinking in C++ или Священные знания (но это дело вкуса).

Вот, вот, я и говорю, все эти фичи типа лямбда оттого и всплыли, что в С++ полиморфизм не катит

во втором издании Б.С. про полиморфизм сказано лишь только:

Указатели на функции помогают реализовать полиморфические подпрограммы, т.е. такие подпрограммы,

которые можно применять к объектам различных типов

и дальше квик-сортировка, так что, строго говоря, это утверждение не до конца верно:)

> лучше самое новое 4-е издание, там уже есть итеративное приближение к стандарту С0х
Незачем джуниорам забивать себе голову С0х. Пускай, хотя бы, с текущим стандартом освоятся — там, для джуниора работать и работать.

С0х появится, может, через 3−5 лет, когда примут стандарт, а потом производители ещё и доделают инструментарий. К тому же, в нём не так уж много новизны — рефлекшeн, вроде, пока выкинули...


Анонимус 5 час. назад
>> — знание всяких объектных фич (наследование, инкапсуляция) и умение применять на практике.
А полиморфизм?:)

Впрочем, встречал делфистов, которые его и вовсе не понимали: -)

Я встречал людей, которые пишут ПО под Oracle и не понимают 3-ю нормальную форму. Но это же не говорит о всех Ораклоидах?


Практик 3 час. назад
2 hellip Вот, вот, я и говорю, все эти фичи типа лямбда оттого и всплыли, что в С++ полиморфизм не катит. Ну, а с С0x так долго телятся, потому что ничего хорошего в этих фичах. народ не схавает. Уж лучше подождать компилятор ruby
FreePascal?
Довольно шустрый компилятор который делает быстрый код (тестировали с MS-совким, получаются тесты одной скорости), язык полностью соответствующий ООП, reflections нет, но есть RTTI, фичи типа автоматического контроля памяти через интерфейсные объекты (не сработает в случае циклических зависимостей, но в отличие от GC работает как стековые объекты С++, как только все ссылки обнулены объект моментально прибивается и вызывается деструктор, причем фича работает даже в мультипотоковой среде), виртуальные конструкторы, возможность вызова published методов и свойств по имени и прочие вкусности.

Ну и многоплатформенность честная.

2 hellip Вот, вот, я и говорю, все эти фичи типа лямбда оттого и всплыли, что в С++ полиморфизм не катит. Ну, а с С0x так долго телятся, потому что ничего хорошего в этих фичах. народ не схавает. Уж лучше подождать компилятор ruby

Страуструп хорош, но лучше самое новое 4-е издание, там уже есть итеративное приближение к стандарту С0х

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

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

Полагаю, от джуниора (как человека, обученного теории, но имеющего малую практику — скажем, в объёме ВУЗовских лабораторок), справедливо ожидать знания теории на уровне классической книжки Страуструпа:
www.amazon.com/...ntt_at_ep_dpi_1

Собственно, по книжке можно и изучать язык, чтобы подготовиться к соисканию C++ сной вакансии.

— знание всяких объектных фич (наследование, инкапсуляция) и умение применять на практике.

А полиморфизм?:)

Впрочем, встречал делфистов, которые его и вовсе не понимали: -)

Ну если говорить о требованиях по знанию самого языка то это — — основы языка (базовые типы, операции наж ними) — умение работать с памятью и указателями. — знание всяких объектных фич (наследование, инкапсуляция) и умение применять на практике. — хотябы базовое знание stl и понимание что и почему там
Это основные требования, плюс еще — Использование механизма шаблонов — Умение работать со специфическими либами (если это сетевое приложение то умение работать с ф-циями типа socket, connect, listern etc, если win32 то там свое...) Вообщем знания используемых в проекте либ/платформ, от жуниора желательно, но не обязательно.

Сам 6 лет пигу на С++ их них 5 лет под линух.

Сколько примерно времени уйдет с нуля до джуна добраться (4-5 часов кодинга и занятий)?

с нуля до

«с нуля» это откуда? это «знаю программирование не знаю си++» или «не знаю ни чего но умею читать и пользоваться компом?»

... я сирёзно ))

если с нуля «знаю программирование» и голова хороша поставлена для осознания концепции указателей и переменных (что «это другое») то зависит от скорости осознания и реалистично до 2-х дней на прочтение документации (первичной) чтобы начать что-то писать запускать etc.

(4-5 часов кодинга и занятий)

здесь предполагается упрощённый некий путь с тулами которые должны бы «просто поставиться» и не представлять проблем чтобы создать пустой проект и запустить его

... но по скольку «джун» скорее всего предполагает знание тулов как минимум а также «окружающей инфраструктуры и процесса» то на само это уйдёт имхо от 2 дней до 2 недель зависит так же от объёма «поставить вижуал си++ и оно сразу стало и заработало и прочесть как создать проект на си++ и запустить» или там gcc всякие в базовом понимании процесса и к ним я не знаю даже что под общим названием «проект сборки»

сам язык на уровне джуна и 4-5 часов занятий и ровных рук и головы имхо реалистично за 2 дня до 2 недели снова

... я начинал который без шаблонов я купил книжку (2 книжки на деле) по си++ и не смог понять ни чего )) тупо «китайская грамота» ... но потом так же ж случайно я купил книжку по си и с него оказалось всё просто и точно так же ж уже зная синтаксис дальше си++ просто «залилось» за пару вечеров к.м.к.

... но я не точно уверен знал ли я на тот момент уже общую концепцию ооп потому что к.м.к. я мог её знать уже с турбо паскаля но это не точно потому что могло быть на оборот сперва си++ «с классами» потом «турбо паскаль по аналогии»

кратче говоря имея опыт и поставленой головой и руками разбираться с концепциями и тулами то имхо от 2 дней до 2 недель вполне реалистично именно до джуна как то «понимать общий концепт и писать свой код который запускать и дебажить»

>> вот если показать такое резюме paradox.lissyara.su то его наверное возьмет почти любой
>> работодатель...или я ошибаюсь?
даже если возьмет, идти нет желания
>
> M$
> screen shoot
> writed for
> скріншоти сорсів з фара
> власна імплементація стрінгів в плюсовому коді
> неініціалізовані локальні змінні
>
> це так, на око.
если бы вы внимательно смотрели то увидели что скриншоты с фара — стоят под code styles

что не является показателем того что сделано, а является кратким обзором стиля программирования

Дедка, записывайте свой маразм в блокнотик, а не парьте его всем подряд. Всего доброго.

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

Тихенько записывай когда с тобой старшие дяди говорят и не выпендривайся.


Восновном оффтоп везде «кто из нас круче», полезной инфы не так много, поэтому хотелось бы услышать еще мнений. Ты против?
Подумай головой. Войди в положение работодателя, например, в геймдев конторе.
Кандидат 1:
Ну мне тут Васька из соседнего парадного за пивасиком сказал что програмеры чисто палтарытыщибаксафф палучают, вот я тут и почитал книжку по Ц и еще по крестам и разрешаю вам брать меня и учить всему!
Кандидат 2:
Вот мои демки, а вот моя игрушка написанная на Огре, а еще я в алгоритмах разбираюсь...
Если вариант 1 прокатывал до кризиса по причине того, что кандидатов 2 хватало от силы на 10% мест, то теперь все не так просто.

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

rabota.ua, например.

Можно попробовать еще jooble.com.ua

Так тебе тут, да и на РСДН тоже, уже ВСЁ что могли рассказать рассказали

Восновном оффтоп везде «кто из нас круче», полезной инфы не так много, поэтому хотелось бы услышать еще мнений. Ты против?

Дык кто ж тебе сказал что их мало?

rabota.ua, например.

2 Ambianx
Чего тема скисла? Так тебе тут, да и на РСДН тоже, уже ВСЁ что могли рассказать рассказали, осталось только флеймить кто кто круче Джава, руби или Сишарп.

Почему вакансий в Украине «так мало»? Дык кто ж тебе сказал что их мало? меньше чем в Росии? Так Украина вообще меньше чем Росия, и рынок айтишный там побольше и поразвитее будет.

Это не случайно, потому что каждый специалист берется под свою задачу. Поэтому и возникает проблема списка требований.

Требования от вакансии к вакансии часто очень отличаются, не вырисовывается общей картинки.

Так это может неслучайно? Может и нет ничего общего у всех С++ вакансий кроме знания С++?

Сергей Волошин,

По теме топика мне все-таки непонятно чего хочет автор — я бы на его месте подписался на несколько RSS фидов вакансий С++ разработчиков и читал что там указано в требованиях

Требования от вакансии к вакансии часто очень отличаются, не вырисовывается общей картинки.

Отож. У языков разное применение и возможно не стоить менять шило на мыло и сравнивать теплое с мягким.
По зарплатам разница тоже небольшая кстати:
www.developers.org.ua/...verages/skills flocation=%D0%9A%D0%B8%D0%B5%D0%B2& flevel=junior& fcountry=%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D0%B0
По теме топика мне все-таки непонятно чего хочет автор — я бы на его месте подписался на несколько RSS фидов вакансий С++ разработчиков и читал что там указано в требованиях, попутно можно пробовать ходить на собеседования если зовут.

Есть еще вариант ныть на форумах что все плохо или все плохо у нас, но при таком подходе можно повторить судьбу lisander-а.

Кстати проверил на джоб.укр.нет — действительно количество вакансий одинаковое =) 108 дотнет и 109 на плюсы...

2Антон Мартыненко:
Если судить по нашему сайту то:
Джуниоры дотнетчики сейчас тоже похоже ищут работу:
www.developers.org.ua/forum/forum/15
А вакансий примерно одинаково:
www.developers.org.ua/jobboard skill=C%23%2F.NET

www.developers.org.ua/jobboard skill=C%2B%2B

2Ambianx
Может я конечно не в тему, но советую глянуть в сторону C# — язык попроще для обучения по сравнению с плюсами. Ну и джава тоже ничего. Вакансий — куча. Сейчас конечно прийдут «папы» и скажут что это не «тру», и что на дотнете и джаве пишут быдлоформоклепы, но тем не менее я сам раньше писал на винапи, и знаю о чем говорю.

В общем на вашем этапе стоит обратить внимание на альтернативные языки...

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

eugene_n
> И судя по здешнему форуму все довольны, пипл хавает.

ты тоже?

почему так мало вакансий по C++ в Украине? В России несравненно больше.

Потому что в России худо-бедно занимаются собственными разработками — 1C, ABBYY, всякие Касперские с Даниловыми, какие-то SCADA системы, VoIP и прочее DSP... Как вы думаете, на чем все это пишется?

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

Для каких проэктов отдается предпочтение С++? +главный вопрос темы остается актуальным.

Вот тут еще немного обсуждали:

www.developers.org.ua/...p-and-embedded

Что-то тема скисла. Может кто-то скажет, почему так мало вакансий по C++ в Украине? В России несравненно больше. Для каких проэктов отдается предпочтение С++? +главный вопрос темы остается актуальным.

> Дждуниору? Прочитать стандарт? смеётесь?
Нет, не смеюсь. Сам прочитал, правда читал долго.
Будучи джуном не читал, но если бы прочитал, то было бы значительно легче. Человеческий мозг — это штука контекстная, глядишь и вспылет чего в памяти в процессе работы. А боятся читать всякую «нудятину» — быть вечным джуном, это диагноз.
Ну это смотря какие лабы в каком универе. И универ в данном вопросе — это старт, если в универе не пошло, то и мучать окружающих не стОит.
eugene_n
Моя вас не понимать:)
> Наниматели (ТЛ и ПМ,
как написанное связано с тем что откоментированно (кроме аббревиатуры HR)? Или это вы для красного словца?
> Лычки все-таки нужны работникам — чтобы поднимать чувство собственной значимости

моя не понимать еще больше:) КАК работник будет поднимать чувство собственной значимости, если у нас ТЛ и ПМ такие прозорливые (следуя логике выше)? Или это это аргумент такой «Я Сеньйор, это Я вам говорю! Платите мне стотыщмильйонов» в конкурентной борьбе за место под солнцем?

2ZaQ> 1. Крепкое знание С++: базовые конструкции, ООП, очень желательно знакомство с шаблонами,. Желательно прочитать стандарт.
Дждуниору? Прочитать стандарт? смеётесь? Вы сами то его прочитали?
ISO/IEC 14882: 2003 (E) содержит 786 стринц текста.
драфт N2798=08−0308, последний из тех что лежит на моей машине 1352 и это должен прочитать джуниор?
Я сам использую этот документ исключительно в контексте хитроумных головоломок и холиваров.
> 3. Опыт программирования, достаточно самому делать лабы в универе (если образование профильное).
Лабы в универе? ну не знаю. ИМХО маловато будет. Мне во всяком случае когда я был джуниором казалось маловато. И я бы этот пункт поставил первым и самым важным.

Всё вышеописанное моё ИМХО.

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

Лычки все-таки нужны работникам — чтобы поднимать чувство собственной значимости и аргументировать запрошенные суммы.

Наниматели (ТЛ и ПМ, а аж никак не ХР) прекрасно могут сложить мнение о способностях специалиста по резюме и интервью (а если не могут — грош им цена).

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

Правильнее сказать, минимальную сумму знаний для получения оплачиваемой работы. Вот тут согласен с вышесказанным — хорошо запомненые учебники по языку, основам ОС, алгоритмам и структурам данных. Базовые навыки пользования ИДЕ, умения самостоятельно находить источники ошибок и ворнингов. Другими словами человек который нуждается в обучении тонкостям, но никак не RTFM.

> Бизнесу важно умение решать задачи в заданные сроки и бюджеты. Другое дело, что на сплошных goto в общем случае это получается плохо.
«Другое дело» — это дело бизнеса, от того как будет решена та или иная задача зависит успех бизнеса в долговременной перспективе.

А лычки бизнесу действительно не важны, они нужны HRам, которым нужно отбирать подходящих спецов из сотен резюме. Но мы все же лычки обсуждаем, точнее лычку джуниора и что нужно знать, чтобы ее получить.

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

Человек может на протяжении 5 лет решать «масштабные» задачи используя goto, мидлом он от этого не станет.

Извините, но бизнесу не важны все эти лычки «сеньор/не-сеньор», это все побрякушки для не в меру амбициозного молодняка, который написав первую прогу без ошибок себе сложить цены не может. Бизнесу важно умение решать задачи в заданные сроки и бюджеты. Другое дело, что на сплошных goto в общем случае это получается плохо.

Устроим холивар:)
Если человек решает поставленную задачу качественно и в срок, то он всего лишь делает свою работу, как и подобает профессионалу. Данная фраза ничего не говорит о его профессиональном уровне в контексте «Senior/Mid/Junior».
Мы не обсуждае какие-либо абстрактые умения «написал 3д шутер», чудо-примеры с Брином и т.д. Мы конктретно обсуждаем знания по пунктам, приведенным выше.

Более того, опыт без знаний не говорит ни о чем. Человек может на протяжении 5 лет решать «масштабные» задачи используя goto, мидлом он от этого не станет.

я думаю синьеры и манагеры которые сталкивались с этим, согласяться что если человек решает качествено и в сроки не важно знает ли он паттерны GoF/Anti итд или последнюю версию framework/sdk итд...

главное маштаб и качество решаемых задач

вообще-то кажеться в первую очередь мидл-синьер-манашер-СЕО итд... отличаються маштабом решаемых задач самостоятельно, ,
а какие у них при этом знания уже мало интересно, для оценки таких вещей можно использовать либо орыт хорошо решеных задач, я думаю Брина, в Яндекс возьмут без проблем, не требуя от него знания boost
либо когда опыта нет то опираться на знания так как это может показать:
гибкость человека — степень обучаемости и самое главное сдепень качественой оценки человека, если он зная алгорит пузырька горорит что он Гуру в алгоритмах сортировки, можно себе предаставить код, который по его мнению будет идеальным
и вероятность успешного решения проблемы — предпологаеться больших набор знаний способствует лучшему решению проблем.
Поэтому наверное сперва стоит понять, а если чем похватать интересным перед работодателем из прошлого, даже если это лабораторка,
если человек на лабораторке написал свой 3д шутер с текстурами, АИ и вменяемым разрешением и ФПС, то я думаю не критично что человек не знает что такое MFC, ATL, WTL.

Ибо знание аля МСДН еще не доказывает что ты на что-то способен:)

anonymous, мне жаль людей, считающих себя мидлами и синьйорами с такими знаниями. А так же жаль работодателей, нанимающих таких людей как мидлов и синьйоров.


Крепкое знание С++: базовые конструкции, ООП, очень желательно знакомство с шаблонами,. Желательно прочитать стандарт.
Здравствуйте, гость с другой планеты!

На Земле, в славном городе Киеве, описаный Вами человек — это что-то среднее между синьйором и мидлом:)

Мое видение джуниора С++ (отсортировано по степени важности), общепрограмистские навыки и умения опущены, без них не стоит даже пытаться — себя замордуете и другим проблем создадите:
1. Крепкое знание С++: базовые конструкции, ООП, очень желательно знакомство с шаблонами,. Желательно прочитать стандарт.
2. базовое знакомство и использование STL
3. Опыт программирования, достаточно самому делать лабы в универе (если образование профильное).

4. Понимаение того, что ничего еще толком не знаешь, желание узнать новое.

Катюша отчаянный юзер интернета, не боится спама вообще!!!

Привет всем! За советы большое спасибо!!!
Поиски работы продолжаются, и не страшны нам ни кризис, ни дождь за окном. Пугают только сессия и препод, который утверждает, что через 20 лет все будут делать только компы и что искусственный интеллект уже существует. Еще он считает, что программисты — главные люди будущего!: -)

Для связи моя почта [email protected]

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

2 lisander
А может не стоит головой об стенку биться? Может стоит оглянуться и поискать дверь, ну или окно на крайняк?
2 Katushka

Действительно давайте координаты, мб что-н и заиграет.

To Katushka: можете сказать как с вами связаться, может получиться что-то придумать

To lisander:
не удивлен был услышать такой ответ от вас:)
на самом деле если вы считаете что вы что-то умеете и быстро учитесь то как раз на фрилансерстве можно обойти вами не любимую волокиту с HR и показать кто есть кто,
у меня успешно получалось фрилансить еще на 1 м курсе, хотя отнють не синьером я был тогда (для студента задо удобно, заказчики спят пока пары идут, а если что-то срочное — то СМС)
потом оставил ввиду постояной работы... для фрилансертства достаточно будет всего того что вы описали что у вас есть если это действительно так — заодно и себя проверите,
пока за биды по сражаетесь с конкурентами... когда будет опыт, даль фрилансерство лучше оставить, так как развитие пойдет однобокое..., но для старта когда совсем ничего нет — то вполне нормальный вариант,

еще вариант пойти к какому-то синьеру на шаровый проект, типа личного стартапа, много кто работая на серьезных позиция и много кто есть тут задумываеться о нем, и вы можете для себя ради опыта, для него ради экономии предложить такой вариант... аля кодинг 4 фуд (опыт):)

2Katushka
Я с таким подходом 9 лет головой об стенку бился, бесполезно. Уже обламался. Теперь ищу любую работу, хоть грузчиком, но прикол, что сейчас даже на вакансию грузчика требуется опыт.
Всем кто рекомендует фрилас.

Для фриланса нужно быть хотябы сеньором. Джуниор по определению подмастерье. А делать самостоятельно готовые проекты — до этого нужно расти не один год.

Спасибо тебе огромное за опыт, ГУРУ.

Я устраивался джуниором, правда было это несколько лет назад.
Написал резюме во все фирмы которые нашёл на сайтах о работе.
Пригласили на собеседование в 7 фирм:
Первым был incom. Вопросов практически никаких не задавали, больше рассказывали.
Показали что нужно будет сделать в течении полугода.
Это был проект связанный с протоколом обмена между устройствами. Часть программы писалась для мироконтроллеров.
Дали диск с документацией поизучать и сказали, что если меня это заинтересует, то чтобы связался с ними.
Оставили приятное впечатление.
Второе собеседование проходил в unitrade systems.
Мужчина лет 40 — 50 дал задачку о лифте.
Как более эффективно использовать работу лифта в офисном здании.
Суть сводилась к тому, что утром лифт должен стоят внизу, чтобы люди его не ждали, а вечером посередине, чтобы быстрее добираться до нужного этажа.
Задачка была устная для проверки сообразительности наверное:). Я с ней справился. По программированию на C++ не спросил ничего.
Какой можно было сделать вывод из одной задачки на сообразительность не знаю.
Сказал, что я в принципе подхожу, работа связана с кассовыми аппаратами, пишут программы на gcc, правда денег много не платят и если я через полгода уйду в какую-то иностранную компанию, чтобы предупредил заранее:)
В итоге мне никто так и не перезвонил. Тогда я позвонил сам. Мне сказали, что девушка из отдела кадров заболела и что они мне
обязательно перезвонят и пропали. Больше я звонить не стал.
Третим был flextronics.
Дали тест по английскому. Он состоял из 3-х частей.
1) надо было перевести на русский кусочек msdn. Описание какой-то функции. Вроде WaitForSingleObject, но точно не помню. Это было совсем не сложно.
2) Перевести текст на английский. Английские слова я знаю не плохо, но правильно соединять их в предложение не умел:)
3) Прочитать текст на английском, а потом рассказать своими словами (на английском) о чём там речь. Это я сделать вообще
не смог о чём сразу сознался.
Потом дали тест по программированию.
Вроде тест состоял из трёх частей.
Часть вопросов была по C++ другая часть по win32 api (объекты синхронизации и тд...).
Вопросов было много. Я ответил на большинство. Тест забрали и посадили меня в отдельную комнату.
Через пару минут зашли двое парней и стали задавать разные вопросы. По переносимости типов, как выглядит структура данных дерево,
что такое виртуальный конструктор. Ну я им объяснил, что в C++ виртуального конструктора не существует и это фантастика. Уже потом я понял
что они имели в в виду паттерн проектирования:), но этот паттерн в разных книжках называется по разному. Показалось, что хотят засыпать.
Рассказали, что пишут какой-то проект типа Skype для Укртелекома с использованием WTL.
Что пишут быстро (это вызвало у меня улыбку, не смог сдержаться), но правда есть некоторые проблемы со шрифтами.
WTL я не знал (да и сейчас знаю только в общих чертах, так как не использовал ниразу).
В итоге меня не взяли, но вроде сообщили об этом.
Четвёртой компанией была smartcard. Пишут ПО для банкоматов на C.
На собеседовании попросили перевернуть строку. Я перевернул в цикле, первый элемент меняем с последним, потом второй с предпоследним и тд...
Правда цикл у меня был полный, в итоге перевернул строку 2 раза и она стала исходной:). Тяжело писать работающию программу
на листочке с первого раза. На компьютере такая ошибка сразу видна при запуске и её легко исправить.
Дали задачку по информатике, она больше была похожа на задачку по математике. Треугольники куда-то там вписаны и тд...
Я поглядел пару секунд и сказал что не знаю как делать. Мне стали помогать, но безуспешно.
Потом спросили как бы я устроил пересылку данных между банкоматом и центром. Я не знаком с банкоматостроением
поэтому говорю, что можно так, а можно так, а можно ещё вот так, но как правильно не могу сказать.
В smardcard я не прошёл.
На собеседование в компанию ПАРУС я не явился. Забыл адрес и потерял их телефон.
В общем глупо получилось и это моя вина.
Пятой Innovative Marketing Ukraine.
HR очень хорошо формулировали требования, ничего лишнего, всё чётко и грамотно.
Правда из сайта компании было совсем непонятно чем они собственно занимаются.
Пришёл на собеседование. Дали тест. В него входил C++, win32 api, MFC.
MFC я не знал, тоесть я начал её изучать, но это вызвало у меня шок. Мне показалось, что проще использовать win32 api.
Поэтому в вопросах о MFC я просто ставил прочерк.
Зашли 2 парня, даже не помню, смотрели ли они мои ответы, начали задавать вопросы.
В основном по потокам, процессам, по тому о чём пишет Рихтер. К своему стыду я тогда Рихтера не читал, но на вопросы отвечал.
Потом начались вопросы о calling conversion, знаю ли формат PE.
Я ответил что знаю и даже шифровал когда-то секцию с данными, чтобы спрятать строки от постороннего взгляда.
Это оживило парней. Как я шифровал? Отвечаю xor’ом. О, а секцию кода ты шифровал? Говорю, неа. Там проблемы с релоками да и
смысла нет, строки там не хранятся обычно.
Мне в тот же день сказали, что я прошёл собеседование и через неделю я вышел на работу.
Вначале въезжал что и как, потом какое-то время (наверное как и большинство, кто попадал в IMU) возмущался и пытался что-то исправить, ,
а потом привык и сам стал писать код в imu-style (как попало, лишь бы отвязались).
Ещё должно было быть собеседование в System Storage Software на которое я не пошёл (так как устроился в IMU) о чём вежливо им сообщил.
Так как IMU канул в лету, ищу работу C++ разработчика:)

Если кого-то заинтересует пишите на [email protected]

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

то стоит перенести этот опыт на поиски штатной работы

товарищи, почему никто не ответил?
кого как спрашивали на собеседовании по С++, важно ли покаазть свои сделанные программы? кто какие делал?

(не давно видел вакансию по web там написано было чтобы надо показать свои сделннаые программы штук 20 и там 20 000грн з/п, там требовался опытнй программер, может исключение...)

Вот я бы сейчас без проблем пошла работать за копейки или без копеек, лишь бы опыт получить. Ведь везде он нужен. Но куда же пойти, если без опыта не берут!: -) Получается замкнутый круг.

To Katushka, такое возможно, но себе такое позволяют лишь не многие компании типа Google, Ms у которых на собеседывании оцениваеться твоя сообразительность.
В большинстве случаев это очень сложно оценить человека и нужно иметь подход, и главное что бы кандидаты к нему были готовы, в Украине думаю 6ти часовые собеседования с полной загрузкой мозгов, не прошли бы, так как в такую компанию никто не пошел, ведь на веб-дев или аутсорсе столько же платят -, а голову не трогают, более мягкая система была у CQG где они голову мучают около часа, но и то у них нет большого штата, поэтому большинство компаний смотрит прошлый опыт знаний и успехов и апроксимирует в будущее.

Больше пободного в Украине не встречал, всякие «гиганты» смотрят на опыт и бумажки, остальные вообще у кого на что выйдет.

И я хочу быть C++ junior developer!!! Но опыта нету. Книгу по С++ читала, ИИ для компьютерных игр интересуюсь.
Вакансии видела либо с опытом 2+, либо знаний и умений работать на 2 страницы.

Все равно под любую работу и любое начальство нужно переучиваться! Так почему не взять неопытного и не очень умеющего, но очень настойчивого человечка и не обучить его всему чему нужно?: -)

C++ — это только одно название, настроящий ++ вот: search.cpan.org/....23/PlusPlus.pm


Ambianx 39 мин. назад

Сюда еще точно осталось сиськи запостить.

Сиське++
Use C++, not pascal

www.youtube.com/watch v=YJZqq8UdtqE

Сюда еще точно осталось сиськи запостить.

а что вы там хотите увидеть, голую женщину чтоли?:)

> вот если показать такое резюме paradox.lissyara.su то его наверное возьмет почти любой работодатель...или я ошибаюсь?
M$
screen shoot
writed for
скріншоти сорсів з фара
власна імплементація стрінгів в плюсовому коді
неініціалізовані локальні змінні

це так, на око.

-> в таком случае там явно не идёт речь о junior без опыта:)
->
в послднее время я видел только 2 вакансии в Киеве с junior, на него скорее всего пойдут те кого не взяли sinior С++:)
-> Какое количество? Одну. Решающую относительно практическую задачу с приемлемым какчеством.
->
мне на пхп давно еще сказали когда я искал, что нужно сделать несколько программ, а не одну, минимум две! зачем нужен человек если не понятно как он справиться? нужны реальные проекты!
-> Ни по себе, ни по вакансиям я этого не чувствую. Требования к джуниорам возможно поднимутся назад к адекватному уровню.
->
в Киеве везде в универа на ИТ преподают С/С++, скорее всего кандидатов достаточно, а вот на сколько мне рассказывали. то Java, C#, etc не преподают... возможно С++ не так восстребован...
короче, а могут взять не на junior, а туда где требуется среднестатичекий программер без опыта (но с опытом на другом языке) или там где не высокая з/п (есть такие вакансии и часто), если показать свои программы? то какие надо написать? или кто какие писал?
===

вот если показать такое резюме paradox.lissyara.su то его наверное возьмет почти любой работодатель...или я ошибаюсь?

Посмотри вот этот тест www.gamedev.ru/...es/rsdn_que_anw
Если на все ответишь почти без подсказок, то можешь считать себя C++ Junior’ом:)
Но обычно на себеседованиях спрашивают ещё о технологиях,
например если ты идёшь на visual c++ пограммиста то нужно уметь работать с Visual Studio

знать хоть немного win32 api + ATL

Просьба не проходить мимо темы.

2anonymous
> я только что зашел на job.ukr.net и нигде не увидел чтобы требовался программист только qt или только мобильных устройств
Ну как тебе сказать. «Только програмисть мобильных устройств» это что-то вроде С/С++, WinCE, WInApi, MFC, ATL + возможно Symbian или BREW+ XML/XSLT/XPATH + перца и соли по вкусу
> как правило там требуется чтобы сразу всё С++./Си и на разных платформах... и с разными технологиями
в таком случае там явно не идёт речь о junior без опыта:) Джуниору без опыта надо как минимум то что описанно где-то в начале этого топика + возможно базу чего-то специфичного для предметной области. Остальное — добирается в зависимости от того чем именно будеш заниматся. знать ВСЁ да ещё и хорошо в принципе не возможно.
> вот Жаба с ASP заметно что вытесняет С++ в некоторых отраслях
да, я слышал об этом. Последний раз меня это волновало лет 8 назад когда только раздумывал «а что бы всё такии учить С++ или что поновей». Кроме того в некоторых областях С++ в помине не было
> и требование подымаются сильно к С++?
Ни по себе, ни по вакансиям я этого не чувствую. Требования к джуниорам возможно поднимутся назад к адекватному уровню.
> что главнее:
Серебряной пули не существует. Из перечисленного важнее всего опыт, но всё таки самое главное «найти себя» — найти вакансию на которой и от тебя будет польза работодателю и тебе работа пойдёт на пользу.
КПИ — не КПИ... вобщем для человека без опыта может иметь определённое значение, но это далеко не самое важное.
> может первый пункт (показать программы) исключить все остальные?
Ну... если работодатель вообще захочет на них смотреть.:)
> если, да, то перечислите какие программы можно написать и их количество чтобы было достаточно?
Какое количество? Одну. Решающую относительно практическую задачу с приемлемым какчеством.

Какие? HTTP1.0 сервер, Jaber клиент. Менеджер загрузок. Библиотеку реализующую какой-нибудь Криптологический алгоритм. Собственный архиваттор, реализуёте алгоритм сжатия битмапа... Упростите задачу настолько насколько необходимо что б она стала для вас решаемой. Не надо ГУЯ (если конечно оно вам не интересно) не надо превосходить широкораспространённые агалоги. Даже если на потннциального работодателя оно не произведёт впечатления оно добавит Тебе какого-никакого практического опыта.

я только что зашел на job.ukr.net и нигде не увидел чтобы требовался программист только qt или только мобильных устройств, было иногда только системное программирование... как правило там требуется чтобы сразу всё С++./Си и на разных платформах...

це лише свідчення непрофесійного складання вимог... Qt (доречі 3-и вакансії проскакувало за остнні міяці саме тільки на цей напрямок) C++ та С++ для вбудованних систем без ОС (просто як приклад) — звязані лише синтаксисом C++ — та мають зовсім різну філософію. Одна людина може займатися і тим і тим при великому бажанні, та це все буде вже на грані аматорства в поганому розумінні цього слова...

Та це що, ви подивіться на вакансії электронщиків — VHDL/Verilog, C/C++, asm (який?!), драйвера для Windows+Linux (не жартую) P-cad (хто не розуміє — це плати розводти — труд абсолютно з іншої опери), вміти проводити радіовимірювання і т.д. і за це все в кращому разі 800$:)... Тобто людина має бути універсалом що сам може розробити материнську плату + процессор до неї, і при цьому прийти на роботу до якогось недоумка за сумнівні бонуси... Їх (об’яви) звичайно висміюють та хєрять з відомих форумів — та на сайтах по пошуку роботи — це норма... Тобто просто не зважайте, слухайте краще тих хто щось знає, а не катає такі об’яви...

> 2 sinior_pomidor 22 час. назад
> 3. Серьёзная и интересная предметная область. Выберете то что вам наравится. Сетевое програмирование? Графика? Мкльтимедиа? Встроенные системы?
> Мобильные устройства? Разработка с нуля как правило интереснее саппорта, хотя и саппорт саппорту рознь.
я только что зашел на job.ukr.net и нигде не увидел чтобы требовался программист только qt или только мобильных устройств, было иногда только системное программирование... как правило там требуется чтобы сразу всё С++./Си и на разных платформах... и с разными технологиями
вот Жаба с ASP заметно что вытесняет С++ в некоторых отраслях
и требование подымаются сильно к С++?
что главнее:
1) показать работодателю свои программы
2) опыт работы
3) ВО (КПИ)
4) опыт работы с другими языками
может первый пункт исключить все остальные? (у меня не КПИ, ИТ было слабое)
если, да, то перечислите какие программы можно написать и их количество чтобы было достаточно?

и кто сколько времени потратил?

Ах да, в этой помеси из Mach и BSD завалялся I/OKit, написаный на ограниченом подмножестве крестов, это просто ужасное упущение с моей стороны, посыпаю голову пеплом, заворачиваюсь в простыню и ползу на кладбище...

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

Вы все-таки перегибаете. Посмотрите на mach, или L4 — чистые микроядра. NT — совсем не микроядро:) Скорее гибридное.

Внезапно в системном программировании рулит и педалит чистый Ц. Сколько ядер на крестах? Завонявшийся БеОС и стремительно начинающий пованивать Симбиан? Ничего не забыл?
IOKit из Mac OS поищите

Формально не является, но предоставляет основные преимущества микроядра. Так же как Oracle формально уже не реляционная СУБД это нечто «вещь в себе».
OMFG какие преимущества? Когда я последний раз видел венду несколько лет назад, то мой комп требовалось перезагрузить минимум 3 раза при установке дров: для материнки, для видеоварты и для звука. Подозреваю, что за последние пару лет там ничего не изменилось в этом плане. А Вы мне про какие-то «инициативы» МС...

Отсюда делаю вывод, что это написано под веществами:

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

anonymous 4 мин. назад
Тоесть разве что отбросив интегрированный менеджер кеша, графической подсистемы и безопасности, то все остальное в NT соответствует микроядру.
А если у бабушки был бы...

Вот когда отбросят, тогда и будет микроядерное. Пока что оно таким не является. Что Вам не понятно?

Формально не является, но предоставляет основные преимущества микроядра. Так же как Oracle формально уже не реляционная СУБД это нечто «вещь в себе».


Тоесть разве что отбросив интегрированный менеджер кеша, графической подсистемы и безопасности, то все остальное в NT соответствует микроядру.
А если у бабушки был бы...

Вот когда отбросят, тогда и будет микроядерное. Пока что оно таким не является. Что Вам не понятно?


anonymous 1 час назад

Я не собираюсь объяснять по 10 раз очевидные вещи. Прочитайте хотя бы на википедии что такое микроядро. Система не может быть «немножко микроядерной», как и женщина «чуть-чуть беременой».

Берем википедию:
Основное достоинство микроядерной архитектуры — высокая степень модульности ядра операционной системы. Это существенно упрощает добавление в него новых компонентов. В микроядерной операционной системе можно, не прерывая ее работы, загружать и выгружать новые драйверы, файловые системы и т. д.
Все это доступно и в Windows, просто драйверы работают в защищённом режиме, но загружаются и выгружаются динамически. Нигде не сказано что для микроядра «сервисам» /драйверам запрещено работать в защищённом режиме.
И в том же микроядре:
Классические микроядра предоставляют лишь очень небольшой набор низкоуровневых примитивов, или системных вызовов
* управление адресным пространством оперативной памяти.
* управление адресным пространством виртуальной памяти.
* управление процессами и тредами (нитями, потоками).
* средства межпроцессной коммуникации.

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

To Ambianx:

так и не нужно что бы вакансий в интересующем вам месте было миллион, главное что бы больше 0:) и тогда есть смысл за это место побороться, а ходить куда ветер дует или течение идет — так можно и до конца дней разнорабочим в Software development остаться.

Я не собираюсь объяснять по 10 раз очевидные вещи. Прочитайте хотя бы на википедии что такое микроядро. Система не может быть «немножко микроядерной», как и женщина «чуть-чуть беременой».


anonymous 15 мин. назад

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

Ну почему монолит? Графическая система (и то только обычный 2D GUI без 3D), менеджер памяти/кеша (именно там они там объединены и кеширование и управление памятью), io-менеджер, менеджер безопасности, планировщик — это все что монолитно и неотделимо от системы.
Все остальное вплоть до драйвера мышки, шины USB, PCI (хотя шинные контролеры тоже очень сложно заменить на свои, но теоретически возможно), драйверов ФС и IDE подключается динамически во время загрузки и может быть отключено/перезагружено во время выполнения системы.

Хотя из-за идиотской или наоборот продуманной MS фичи при возникновении любой необработанной ошибки в режиме ядра (например, деления на 0) система автоматически останавливается. Для этого даже специальная функция есть KeBugCheck:) Удобно это тем, что во время отладки внешним отладчиком (через VMWare с виртуальные com-портом или через реальный IEEE1394) можно сразу оттрассировать место возникновения бага.


Я тогда не совсем точно понял задачу. Дейсвительно факториал на define вычислить нельзя, так как там невозможна рукурсия. Но я бы в данном случае вместо template все таки использовал define с константой данного факториала, так как код становится более контролируемым (и в исходник включаются только испольуемые значения, а не вся развёртка рекурсивного template), например при записи константы сразу видно требуемая разрядная сетка для ёё хранения, а вот в случае в template возможны «удивления».

Факториал это всего лишь игрушечный пример. Смотреть буст и думать как такое сделать define’ами.

Не заметил пост, поэтому отвечу сейчас. Во первых С++ я использую довольно редко только в том случае когда требуются, как и Java, как и PHP. Основной мой язык Delphi.

Гремучая смесь:)

Да нет. Намного удобнее объект устройства обернуть в объект С++ в nonpaged pool памяти и работать по человечески. Если думать не как извратится на чистом С++, а как извлечь преимущества от использования С++ то довольно удобно. Комбинация объектного и процедурного удобнее чем просто процедурное программирование.

ООП нужно там, где нужен полиморфизм. В Вашем примере такой ООП по факту это просто имплиситный this вместо явной передачи указателя на структуру. Фанатов, балдеющих от самого процесса написания слов «class», «private» и тд просьба не кипятиться...

Скорее всего там даже не С++, а «C with class».

C with classes — был значительно более вменяемым языком, чем современные кресты. Хотя тяжелое наследие Ц и слабенькое ООП никуда не деваются...

NT- и раньше была близка к микроядерности (точнее архитектуру NT-драйверов можно назвать плагинной, где драйвер плагин IO-менеджера) Просто раньше драйвера могли работать только в kernel-mode, а сейчас прикрутили нативный шлюз (коммерческие были и до этого WinDriver и пр...) в user-mode для некоторых драйверов.

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


Хз чем «лучше», но К.О намекает, что define — это простая текстовая подстановка, а шаблоны — тьюринг-полный метаязык. Поэтому мне и стало интересно, как товарисч собрался на нем в компайл-тайм факториалы вычислять, а то может я чего-то про define не знаю.
Я тогда не совсем точно понял задачу. Дейсвительно факториал на define вычислить нельзя, так как там невозможна рукурсия. Но я бы в данном случае вместо template все таки использовал define с константой данного факториала, так как код становится более контролируемым (и в исходник включаются только испольуемые значения, а не вся развёртка рекурсивного template), например при записи константы сразу видно требуемая разрядная сетка для ёё хранения, а вот в случае в template возможны «удивления».

Не заметил пост, поэтому отвечу сейчас. Во первых С++ я использую довольно редко только в том случае когда требуются, как и Java, как и PHP. Основной мой язык Delphi.

Даже боюсь спросить, что Вы там в этом драйвере такого пишете. Кодогенераторы на boost: spirit?

Да нет. Намного удобнее объект устройства обернуть в объект С++ в nonpaged pool памяти и работать по человечески. Если думать не как извратится на чистом С++, а как извлечь преимущества от использования С++ то довольно удобно. Комбинация объектного и процедурного удобнее чем просто процедурное программирование. Скорее всего там даже не С++, а «C with class».

В 21 веке в недрах Редмонда изобрели микроядерность? Я плакалЪ.
Может Вам лучше просветиться хоть одной нормальной книгой об ОС?
А то еще пару сообщений и Вы оконачтельно развеете остатки «коньячного» аромата псевдоэлитизма вокруг опытных (я так понял Вы себя как такового позиционируете?) плюсатнеков.

NT- и раньше была близка к микроядерности (точнее архитектуру NT-драйверов можно назвать плагинной, где драйвер плагин IO-менеджера) Просто раньше драйвера могли работать только в kernel-mode, а сейчас прикрутили нативный шлюз (коммерческие были и до этого WinDriver и пр...) в user-mode для некоторых драйверов.


Таки интересно чем #define лучше темплейтов в С++? Действительно интересно, а не дабы породить никому не нужный флейм.

Хз чем «лучше», но К.О намекает, что define — это простая текстовая подстановка, а шаблоны — тьюринг-полный метаязык. Поэтому мне и стало интересно, как товарисч собрался на нем в компайл-тайм факториалы вычислять, а то может я чего-то про define не знаю.

Если действительно интересно, то можно и в ПМ спросить;)


Если вы про этот изврат
peter.infosreda.com/...plate_recursion

То за такое я бы сразу увольнял с печатью в паспорт «Бу-га-га-кодер». Вот такой С++ явно никому не нужен.

Таки интересно чем #define лучше темплейтов в С++? Действительно интересно, а не дабы породить никому не нужный флейм.

junior_dev, если определиться с областью, то количество вакансий по выбранному направлению, скорей всего, можно будет пересчитать на пальцах. Поэтому придется идти туда, куда возьмут и для этого нужен общий список требований. Если бы меня интересовало какое-то одно направление и по нему было бы 1 млн. + 1 предложение, то я составил бы такой список по этому направлению без особого труда. Сложность состоит в составлении универсального резюме для junior C++.

2junior_dev
+1
2Dimon
> Расскажите, в чем заключается интересная и развивающая?
Ну скажу такое
1. Для человека без опыта любой опыт будет плюсом
2. Тем не мение большую роль играет профессиональное окружение. Не раз я слышал про джуниор дивелоперов, которых угораздило оказатся единственным с++ником в команде, ну скажем джавистов, без всяких там супервайзеров. Конечно в любой ситуации можно развиваться по книгам, форумам и другим открытым источникам информации, но всё-таки намного проще это делать имея сильное профессиональное окружение
3. Серьёзная и интересная предметная область. Выберете то что вам наравится. Сетевое програмирование? Графика? Мкльтимедиа? Встроенные системы? Мобильные устройства? Разработка с нуля как правило интереснее саппорта, хотя и саппорт саппорту рознь.

4. Вменяемый менеджмент тот который понмает кто такой джуниор и с чем его едят завершит идилическую картину:)

можно я отвечу, я не автор топика...
я хотел использовать: qt, не много системные программы, Си на Unix, расширения для perl
программировал на php, perl. На perl написал несколько программ, но не много (не успел еще) (не много писал на GTK2)
легко ли перейти с perl на C++? (может кто-то знает)
читаю книгу «как программировать на С++», я бы не сказал что этот язык самый сложнй в ООП, вы делаете то, что Stroustrup делал 20−30 лет назад, а некоторых в других языках ссылка становится объектом, и вы усложняете ООП модель как хотите... еще больше чем С++, и добавляете много чего... (run-time philosophy)
у С++ синтаксиз сложный, просто...
-> 1) денег;
нет, всю жизнь бесплатно
-> 2) хакерски-интересных проектов;
нет
-> 3) признания как Великого Программиста;
хз
-> 4) просто нравится философия С++.

пока не очень

1. Сперва стоит определить цель ради которой вы планирируте пойти этим путем: фан, опыт, деньги, слава итд...
2. Далее определиться с потенциальным местом где мы можете достичь свою цель (если это NASA, это не значит что нужно посылать свое резюме сразу туда или свое дело, не стоит бежать регистрировать ООО или ЧП)
3. далее поискать в нете (миллионы лемингов уже написали тоны трудов да и поисковые системы не плохо работают) что нужно и как можно попать к целевому работодателю,
4. после чего можно сотавить карьерный план (не факт что он будет статичен, но все равно нужно иметь представление, кто вы и куда идете и что прошли)...

5. ну, а далее, смотреть для своей текущей ступеньки куда вы можете попасть и что для этого нужно... и с вот этим более детализированым вопросом тут вам и помогут:), а спрогнозировать что же вы можете хотеть и что вам для этого нужно — очень сложно.

Народ, человек же спросил просто про список требований, а не про best practices in C++,
каждый для себя и своего проекта волен определить что нужнее и правильнее, перед каждым же стоят разные задачи и условия.

в тему про требования запрос «junior C++ requirements» дает более 100к результатов, я думаю сперва стоит определиться с областью и целевым работадателем.


anonymous 2 час. назад
Если вы про константы вычисляемые во время компиляции то там используются #define с параметрами, а не template (тоесть не шаблоны, а макроподстановки).

Внезапно. А почему Вы решили, что для этого нельзя использовать темплейты? Вообще лучше Вы приведите пример вашего #define факториала, а то мне кажется, что мы друг друга недопонимаем:)

Если вы про этот изврат
peter.infosreda.com/...plate_recursion

То за такое я бы сразу увольнял с печатью в паспорт «Бу-га-га-кодер». Вот такой С++ явно никому не нужен.

Люди, мне вас жалко, честное слово. Попросил же не оффтопить.


Если вы про константы вычисляемые во время компиляции то там используются #define с параметрами, а не template (тоесть не шаблоны, а макроподстановки).

Внезапно. А почему Вы решили, что для этого нельзя использовать темплейты? Вообще лучше Вы приведите пример вашего #define факториала, а то мне кажется, что мы друг друга недопонимаем:)


anonymous 2 мин. назад
ну не вижу причин чем template лучше обычной инлайновой функции?
Вы таки хотите подпортить репутацию крестовикам:)

Подумайте на досуге что значит «компайл-тайм» в моем предыдущем посте и когда будет выполнятся «инлайновая» функция.

Если вы про константы вычисляемые во время компиляции то там используются #define с параметрами, а не template (тоесть не шаблоны, а макроподстановки). Или что именно вы хотите сказать? Можете привести пример?


ну не вижу причин чем template лучше обычной инлайновой функции?
Вы таки хотите подпортить репутацию крестовикам:)

Подумайте на досуге что значит «компайл-тайм» в моем предыдущем посте и когда будет выполнятся «инлайновая» функция.


anonymous 26 мин. назад
Бакалавр IT. Прочитано: одна толстая и не плохая книга по C, книга по С++, книга по WinAPI. Практики мало. Достаточно для junior?

Важно только то, что «выучено», а не что «прочитано». Нагугли какой-то фак по крестам, обычно вопросы задают из него (вроде «зачем нужны виртуальные деструкторы? »). Как максимум разберись как делать всякие там компайл-тайм факториалы на темлейтах, такие «вредные» вещи почему-то являются объектом поклонения и признаком немеряной крутизны у некоторых пристарелых крестодрочеров.

Чего вы прицепились к темплейтам. Очень удобная вещь если использовать из многолетне протестированных библиотек или использовать в своём коде с частотой использования goto. С++ удобнее не темплейтами, а тем что можно, например переопределить менеджер памяти для определённого объекта на свой через переопределение операторов new delete. А факториал... ну не вижу причин чем template лучше обычной инлайновой функции?

2sinior_pomidor

Расскажите, в чем заключается интересная и развивающая? город Киев


Бакалавр IT. Прочитано: одна толстая и не плохая книга по C, книга по С++, книга по WinAPI. Практики мало. Достаточно для junior?

Важно только то, что «выучено», а не что «прочитано». Нагугли какой-то фак по крестам, обычно вопросы задают из него (вроде «зачем нужны виртуальные деструкторы? »). Как максимум разберись как делать всякие там компайл-тайм факториалы на темлейтах, такие «вредные» вещи почему-то являются объектом поклонения и признаком немеряной крутизны у некоторых пристарелых крестодрочеров.

2Dimon
Очень индивидуально. зависить от
1. Города
2. Человека
3. Компании

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


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

Раз не знаете, то зачем бросаетесь громкими фразами о системном программировании? Что-бы Вас «ПХПшинки-ПТУшинки» в лужу посадили?

Но драйвера с использованием С++ вместо С выглядят намного аккуратнее.

Даже боюсь спросить, что Вы там в этом драйвере такого пишете. Кодогенераторы на boost: spirit?

Почитайте новую инициативу Microsoft которая наконец-то решила использовать С++ и объектный подход для написания драйверов KMDF и UMDF (здесь драйвер работает на пользовательском уровне (на уровне ядра прокси-драйвер) так что возможно его написание даже на C#, хоть и не рекомендуется).
В 21 веке в недрах Редмонда изобрели микроядерность? Я плакалЪ.
Может Вам лучше просветиться хоть одной нормальной книгой об ОС?

А то еще пару сообщений и Вы оконачтельно развеете остатки «коньячного» аромата псевдоэлитизма вокруг опытных (я так понял Вы себя как такового позиционируете?) плюсатнеков.

anonymous 15 час. назад

На счёт ядер системы не знаю, там может быть и оправдано применение чистого С, так как в ядро лезут только профи уровня сеньёра. Но драйвера с использованием С++ вместо С выглядят намного аккуратнее. Почитайте новую инициативу Microsoft которая наконец-то решила использовать С++ и объектный подход для написания драйверов KMDF и UMDF (здесь драйвер работает на пользовательском уровне (на уровне ядра прокси-драйвер) так что возможно его написание даже на C#, хоть и не рекомендуется).
По поводу MFC соглашусь с вами — MFC дрянь. Но MFC это не С++, а одна из библиотек, на мой взгляд, неудачная (спорить не буду, но QT и WxWidgets намного удобнее и конфигурабельнее).
По поводу саппорта, насколько я знаю, белые негры как раз саппортят идусский говнокод на Java и C#, а вот с C++ или разработка с нуля или очень глобальные доделки, так как самый тупой буржуй сейчас формачки пишет (и понимает что выгоднее их переписать) на С#, а вот библиотеки на С++.
ЗЫ

Хотя по поводу Delphi вы правы, оно до сих пор довольно широко используется, не смотря на все старания Borland и Codegear добить свой продукт.

2Ambianx
если книга по WinAPI — это Рихтер то вероятно да.

собственно необходимый минимум.

И какую зарплату можна просить junior, что бы это было реально?

Бакалавр IT. Прочитано: одна толстая и не плохая книга по C, книга по С++, книга по WinAPI. Практики мало. Достаточно для junior?

Когда моя компания последний раз занималась поисками C++ джуниора основными требованиями были сложноформализируемые «умение решать поставленные задачи», «умение и желание учится», «умение копать», «толковость», «общий бекграунд».
Если по формальным параметрам:
Сильное знание C. Алгоритмы и структуры данных.
Базовое (именно базовое, без всяких понтов) знание C++. Понимание принципов ООП и того как они реализованы в языке.
Многопоточноть.
Остальное зависит от конкретной фирмы-вакансии, где-то захотят понятие о том как пишется ГУЙ, где-то SQL, где-то ещё что-то и знания этого тебе будут только в плюс, но имхо с перечисленным багажом можно начинать поиск.
О востребованности Джуниоров на рынке: да пришли тяжолые времена, да всех подряд как год назад на работу не берут, а в С++ ещё и порог вхождения высокий, НО джуниоры были всегда и во все времена. Всегда были люди которые искали и находили свою первую работу. Единственное настраивайся что первый год-два (год-два, а не 5!) ты работаеш не за зарплату, и не за карьерные возможности, а в первую очередь за опыт.

С++ програмист. 5 лет опыта. (кстати об опыте: за 5 лет я суппорта в глаза не видел, только девелопмент с нуля)


Раз обобщить в целом нельзя, то просьба обобщить требования для каждой индустрии. В вашем случае это эмбед и геймдев.
Ну в эмбеде такого уровня, где кресты, наверное RTOS, POSIX, networks, threads. По самим крестам будут спрашивать мало и больше на элементарном уровне. В гейм-деве: алгоритмы, OGL/DX, линейка, более продвинутые знания плюсов.

Дальше идет жесткий оффтоп:

Аналога плюсам в высоконагруженном программировании (критичном к ресурсам) или системном программировании пока нет.
Внезапно в системном программировании рулит и педалит чистый Ц. Сколько ядер на крестах? Завонявшийся БеОС и стремительно начинающий пованивать Симбиан? Ничего не забыл?

А что вы вообще понимаете под «высоконагруженым»? В вебе высоконагруженые системы часто например на Жаве пишут. В других областях высоконагруженые/высоконадежные/требующие высокой производительности системы пишут на Ерланге/Фортране/Аде и фиг знает чем еще вплоть до нескольких довольно успешных игр написаных вообще на Делфи.

Для сайтегов/формочек, действительно, использовать С++ — идиотизм, оно там не к месту, там и PHP/.ПТУ сойдёт.
Ну конечно, все доктора наук только и делают, что разгребают вереницу темплейтов написаных детьми начитавшимися Александреску, куда уж там ПТУшникам...

Использование крестов в 21 веке вообще признак необразованости. Много научных статей или хороших CS книг знаете с примерами на крестах? Представляете какие эти PhD балбесы — готовы писать на Питоне, Схеме, Хаскеле, МЛ, а вот плюсы не асилили. Куда уж им до суровых украинских багфиксеров, которые поддерживают в полуживом состоянии комотозные западные проги, написаные в 80х и скинутые в Украину белым неграм в конце 90х.


anonymous 2 час. назад
Таких вакансий, как «C++ junior» сейчас мало, потому что на крестах, слава Патрику, пишут все меньше и меньше софта общего назначения. Так что это будет либо джуниор в гейм-дев, либо в эмбеде, либо в чем-то таком.
Аналога плюсам в высоконагруженном программировании (критичном к ресурсам) или системном программировании пока нет.
Для сайтегов/формочек, действительно, использовать С++ — идиотизм, оно там не к месту, там и PHP/.ПТУ сойдёт. C++ хорош тем что у программиста на нём, как у элитного коньяка, с годами только количество звёздочек добавляется.
PS
Вопрос к автору [0]: Что вы хотите получить от C++?:
1) денег;
2) хакерски-интересных проектов;
3) признания как Великого Программиста;

4) просто нравится философия С++.


Ambianx 3 час. назад
Просьба к знающим людям сформулировать примерный список требований для C++ junior. Просьба предварительно указывать свой реальный опыт работы в IT, чтобы было понятно, от кого исходит совет.
Для джониора в C++ — 3 года опыта написания программ на с++ или год в С++ и 5 лет в другом языке.

У С++ -ника никогда нет проблем с работой (и оплатой) даже во время кризиса, но это один из самых сложных стартов.

на плюсах не пишется ничего, только саппортится.

Раз обобщить в целом нельзя, то просьба обобщить требования для каждой индустрии. В вашем случае это эмбед и геймдев. Пусть остальные выскажуться в таком же формате — что по ихнему мнению сейчас пишется на плюсах (желательно, Киев) и что для этого нужно знать для C++ junior.

Также просьба всем не ввязываться в дискуссию, «что пишут, а что не пишут на C++», так как тема утонет в оффтопике.

Таких вакансий, как «C++ junior» сейчас мало, потому что на крестах, слава Патрику, пишут все меньше и меньше софта общего назначения. Так что это будет либо джуниор в гейм-дев, либо в эмбеде, либо в чем-то таком. Список требований в этих отраслях различается довольно сильно. В любом случае просто C++ junior’ом идти не стоит, потому что с вероятностью 99% будеш багфиксить/саппортить какую-то МФЦшную быдлоформочку, написаную еще до твоего рождения.

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

Скоро будет 3 года.

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