2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: Как найти стажировку по С++
Сообщение27.11.2020, 23:11 
Экс-модератор
Аватара пользователя


23/12/05
12063
gogoshik в сообщении #1494180 писал(а):
Как думаете, есть ли смысл пробовать в НИИ, учитывая, что мне необходимо продвижение в С++? Кажется, что-то не то.

Программирование на коммерческих проектах разительно отличается от программирования в НИИ. Вы можете 20 лет писать что-то в НИИ на С++, оно будет работать, работать без ошибок и, возможно, давать ожидаемые результаты, а потом прийти с этим 20-летним стажем в контору, которая занимается разработкой софта для пользователей, и вас, если возьмут, то за "НИИшные" познания, а не за опыт в С++. В чём отличие? Как и в учебных задачках, которые вы решали, осваивая азы, в НИИ программы пишутся "для себя". Обычно, лишь несколько посвящённых (а то и вовсе один человек) в курсе, где за что надо в коде подёргать, чтобы что-то перенастроить под некие новые требования. Читать такой код стороннему человеку очень сложно. bus factor очень низкий и, зачастую, уход одного сотрудника может похоронить многолетнюю работу, потому что другие поддерживать продукт не могут - проще переписать с нуля. К счастью, люди работающие в НИИ, обычно, довольно привязаны к одному месту работы, и разработки устаревают быстрее, чем меняются сотрудники. В коммерческом программировании, такая зависимость от отдельных людей недопустима, а текучка сотрудников выше, при этом код поддерживается и развивается по много лет. Вполне может быть, что в команде из 10+ человек нет никого, кто стоял у истоков того или иного проекта, но он должен поддерживаться и развиваться. Для этого важна работа в команде: с одной стороны, код должен писаться и документироваться так, чтобы в нем можно было разобраться без непосредственных вопросов к перво-разработчику; код должен быть хорошо структурирован, чтобы можно было не зная предугадать, где что в нем может быть уже реализовано до вас - проекты создаваемые большой командой на протяжении многих лет по своему объему несопостовимы с кодом соло-разработчика из НИИ, который может помнить суть каждой переменной, даже если она называется, скажем, "a" и каждой функции, название которой строннему человеку ни о чем не говорит (например какая-то аббревиатура, которую придумал автор кода), с другой стороны, нужно уметь разбираться в чужом объемном, пусть даже и хорошо (а иногда и не очень хорошо) написанном, коде.

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


И да, если вам говорят, что писать можно на чём угодно, то скорее всего Matlab, Python или что-то подобное будут более эффективным решением для НИИшных задач - очень многие вещи, характерные для них, в этих языках реализуются вызовом одной-нескольких команд, а на плюсах либо потребуют написания объёмного, порой нетривиального кода, либо подключения и освоения готовых чужих библиотек - неразумная трата сил и времени для, возможно, однократного вычисления чего-то.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 01:24 


11/12/16
403
сБп
photon в сообщении #1494346 писал(а):
Но, если вы хотите научиться С++ и считаете, что это место, где вы сможете попрактиковаться, то эти мысли ошибочны.
Спасибо Вам и другим за полезные замечания. Мне просто кажется, что получив первоначальный стаж 1-2 года в НИИ, может быть будет проще (появится больше шансов и какие то другие факторы) найти работу программистом С++ в софтерной компании. Хотя бы джуном. Лучше конечно мидлом. Или опять ошибаюсь?

Cмотрю, что в вакансиях в основном нужен опыт от 1 года, минимум. Надо же этот опыт где то набирать. Тогда где?

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 01:31 
Экс-модератор
Аватара пользователя


23/12/05
12063
Если бы я искал интерна/джуна, то скорее предпочел бы студента 3-4 курса из какого-то вуза, засветившегося в области компьютерных наук, а не самоучку, проработавшего 1-2 в года в НИИ, если только его научное направление мне не важно. Исключения, конечно, возможны, но маловероятны.

-- Sat Nov 28, 2020 00:48:59 --

gogoshik в сообщении #1494365 писал(а):
Cмотрю, что в вакансиях в основном нужен опыт от 1 года, минимум

это лишь первичный отсев, потом всё равно будет собеседование, на котором выяснится, что
gogoshik в сообщении #1494180 писал(а):
работать мне еще рано, так как, минимум, не смогу искать и исправлять ошибки в написанных другими людьми программах

Хотя, имея в резюме этот опыт, вы хотя бы, возможно, станете попадать на бОльшее число собеседований.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 01:49 


11/12/16
403
сБп
photon в сообщении #1494366 писал(а):
студента 3-4 курса из какого-то вуза, засветившегося в области компьютерных наук, а не самоучку, проработавшего 1-2 в года
А если не засветился? В общем. То есть хотите сказать, что студент последних курсов бакалавриата технического ВУЗа по подходящей специальности (программная инженерия, технологии программирования, вычислительная техника, какие-то там еще чисто и около компьютерные направления) имеет весомое преимущество перед дипломированным выпускником физмат факультетов или прикладной математики и информатики, который просто самостоятельно изучал язык и еще где-то получал практику?

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 02:20 
Экс-модератор
Аватара пользователя


23/12/05
12063
gogoshik в сообщении #1494368 писал(а):
А если не засветился?
То собеседование покажет.


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

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

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 05:18 
Аватара пользователя


16/03/17
475
gogoshik в сообщении #1494365 писал(а):
Мне просто кажется, что получив первоначальный стаж 1-2 года в НИИ, может быть будет проще (появится больше шансов и какие то другие факторы) найти работу программистом С++ в софтерной компании. Хотя бы джуном. Лучше конечно мидлом. Или опять ошибаюсь?

Мидлом точно шансов не будет, но мне кажется и для джуна это не очень поможет. Проблема в том, что формальный опыт не играет существенной роли в оффере, аналогично как и формальное образование. Они могут повлиять на приглашение на интервью, но тоже не как главный фактор. Важнее будут перечисленные вами в резюме проекты и конкретные скилы (чем конкретнее и подробнее, тем лучше). А решающим будет то, что на интервью вам будут задавать практические вопросы, на которые без опыта работы будет ответить сложно. Варианты успешного прохождения интервью для вас будут примерно такими:
- или самому наработать эти скилы в личных проектах,
- или поработать в проектах где это использовалось (так называемый "commercial experience") попав на них вне стандартных критериев интервью (знакомства или прочий "unfair advantage"),
- или очень круто проявить себя каким-то другим образом (крутой вуз, публикации, очень солидные рекомендации и т.д.), что может сподвигнуть работодателя поверить в вас даже без необходимого опыта и практических знаний.

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

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 08:09 


11/12/16
403
сБп
Интересно. Спасибо!

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

Такие варианты получения опыта будут гораздо лучше работы инженером-программистом (вакансия в НИИ), так?

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение28.11.2020, 09:03 
Аватара пользователя


16/03/17
475
gogoshik в сообщении #1494377 писал(а):
Тогда, если правильно понял, нужно самому написать какое-то приложение, одно или парочку. Например, сделать игру на С++ или приложение по обработке цифровых изображений (знакомый расказывал, что это может быть востребовано в компьютерной томографии, когда программа по снимку определяет дифференциацию органов человека).

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

gogoshik в сообщении #1494377 писал(а):
Другой вариант, через семейное знакомство (друг семьи работает топ-менеджером в коммерческом банке), написать какое-нибудь приложение или веб-сервис на С++ для этой компании. Однако, я спрашивал, у них программистов на С++ нет в штате.

Неважно есть они "в штатном расписании" или нет. У вас же цель не получать у них зарплату, а набраться опыта + дополнительной галочки в резюме. Пусть вас оформят в виде бесплатного стажера/интерна или чего-то в этом роде. Может вы в самом деле сделаете что-то полезное для них. Они ничем не рискуют, а вам польза. Главное только не пишите неправду в резюме.

gogoshik в сообщении #1494377 писал(а):
Такие варианты получения опыта будут гораздо лучше работы инженером-программистом (вакансия в НИИ), так?

Я не берусь делать абсолютных утверждений типа "A гораздо лучше, чем Б, поэтому Б не нужно вообще". Хотя бы потому, что это будет сильно зависеть от уровня ваших личных проектов и прокаченности скилов, которые вы при этом заработаете.

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

В общем, получается куча вариантов, условий и оговорок, но так всегда в жизни... В сухом остатке:
1. Старайтесь делать самостоятельные проекты. Это не только подтвердит ваши хард скилы, но также будет иллюстрацией ваших софт скилов типа проактивности и самостоятельности, которые не менее важны.
2. Особенно ищите варианты трудоустройства на которых вы получите то, что называется commercial experience.
3. Если таких не найдете, берите что дают. Лучше мелкие раки по 3 рубля, чем большие по 5, если 5 рублей нет.
4. Если получится п.3, но это не был по-настоящему commercial experience с подтвержденными проектами, то п.1 все равно может быть полезен.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение29.11.2020, 13:26 
Аватара пользователя


29/05/17
806
gogoshik
вас местная публика излишне застращала: прежде чем научиться плавать в воде, поупражняйся с годик на берегу.
Ищите стажировку в Open Sourse, проектов на C++ там очень много.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение29.11.2020, 19:46 
Экс-модератор
Аватара пользователя


23/12/05
12063

(Mental)

Mental в сообщении #1494559 писал(а):
Ищите стажировку в Open Sourse
Может, все-таки Open Source?

gogoshik в сообщении #1494377 писал(а):
Другой вариант, через семейное знакомство (друг семьи работает топ-менеджером в коммерческом банке), написать какое-нибудь приложение или веб-сервис на С++ для этой компании.
Я почему-то сильно сомневаюсь, что они смогут найти вам подходящую задачу на С++, но спросить, конечно, можете.

gogoshik в сообщении #1494377 писал(а):
сделать игру на С++
Может быть.

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

Я тут подумал, неважно, за какую конкретно задачу вы возьметесь, важнее то, как вы ее сделаете. Выкладывайте на github свои наработки: во-первых, гораздо проще дать (или просто вставить в резюме с кратким описанием) потенциальному работодателю ссылку, чем уговорить его посмотреть на что-то, что вы ему пришлёте или принесёте; во-вторых, это возможность потенциальному работодателю оценить качество кода и то, как вы его документируете до личной встречи - работодатель скорее выделит время на посмотреть код соискателя вакансии, чем на личное общение; в-третьих, это покажет, что у вас есть какие-то скиллы по работе с github-ом, хотя бы начальные (а это, поверьте, практически must have для коммерческого программирования независимо от ЯП), да и вообще какую-то зрелость в подходах; в-четвёртых, это возможность поделиться кодом с другими(например форумчанами), чтобы спросить совета/оценки и, как следствие, получение опыта других, как будто вы не сами работали, а в команде.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение02.12.2020, 03:45 


10/03/16
4444
Aeroport
Mental в сообщении #1494559 писал(а):
вас местная публика излишне застращала: прежде чем научиться плавать в воде, поупражняйся с годик на берегу.


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

gogoshik в сообщении #1494377 писал(а):
Например, сделать игру на С++


Сразу будем ААА пилить или начнём с клона Тетриса?

gogoshik в сообщении #1494377 писал(а):
или приложение по обработке цифровых изображений


Если вы уже попробовали посчитать число человечков на улице или машинок на парковке с помощью openCV, и у вас получилось, то можете смело браться опенсорс в этой области

P.S. на всякий пожарный: сайт игроделов -- gamedev.ru. Там вас наставят на путь ))

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение12.02.2021, 18:56 
Аватара пользователя


07/02/12
1433
Питер
ozheredov в сообщении #1493890 писал(а):
С++ это очень "взрослый" язык с огромным порогом вхождения. На нем тоже можно написать хеллоуворлд, но около-учебные кейсы (которые на С++) бизнес не интересуют

ozheredov в сообщении #1493950 писал(а):
ИМХО, надо попробовать работу в языках попроще, например формошлёпство на пыхе и т.п., и соорудить портфолио. Вы скорее всего не сможете пока написать проект на С++ уровня хотя бы мидла, а проекты на С++, которые имеет возможность написать джун, не интересны

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

gogoshik в сообщении #1494180 писал(а):
Как думаете, есть ли смысл пробовать в НИИ, учитывая, что мне необходимо продвижение в С++? Кажется, что-то не то.

Не имеет. Завязните в неприкладной сфере :D

gogoshik в сообщении #1494377 писал(а):
Тогда, если правильно понял, нужно самому написать какое-то приложение, одно или парочку

Это вообще отличный вариант (лучше только - поступить на второе высшее на программиста), есть свобода в самообучении через практику. Не забывайте только о фидбеке, через форумы, github какой-нить. А в конторах, начав со всяких там тестеров и юниоров на JS, можно быстро неправильную зону комфорта найти и остаться там навсегда.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение12.02.2021, 19:47 
Заслуженный участник
Аватара пользователя


03/06/08
2319
МО

(Оффтоп)

Цитата:
Ищем программиста C++ со знанием 3D-анимации и китайского языка, медицинским образованием и опытом работы на гильотине

Просто вспомнилось :mrgreen:

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение12.02.2021, 23:51 


13/05/14
476
Вам уже посоветовали попробовать применить свои физико-математические познания.
photon в сообщении #1494369 писал(а):
Ваше преимущество может быть в наукоёмких проектах, с упором на физ-мат составляющую, где написание кода вторично, а первично понимание, скажем, физики того, что этот код описывает. И, я думаю, имея хороший физ-мат бэкграунд у вас есть шансы стать успешным программистом, но лёгкого старта не будет - ищите контору, которая выпускает коммерческий продукт, но заинтересована в, сначала, физике-математике, а уже потом - программисте, туда вы, возможно пробьетесь, а потом с опытом коммерческого программирования откроются и другие двери.

А попробуйте поискать работу в коллективах, разрабатывающих программы для квантово-химических расчетов или для молекулярного моделирования. Вот где можно или свихнуться, или получить что-то интересное.
(Пишу на своем собственном опыте: я недавно проводил квантово-химические расчеты на Firefly. Вот это я скажу головоломка. Или какая-нибудь программа типа Gabedit, или Chemcraft. Они вроде неплохо работают, но там есть (как и в любой программе) чего исправлять и усовершенствовать. Коды многих таких программ открыты.
Так что есть поле для деятельности... Можно и с разработчиками связаться и узнать в чем их интерес.

 Профиль  
                  
 
 Re: Как найти стажировку по С++
Сообщение13.02.2021, 01:03 
Аватара пользователя


07/02/12
1433
Питер
sqribner48 в сообщении #1504899 писал(а):
А попробуйте поискать работу в коллективах, разрабатывающих программы для квантово-химических расчетов или для молекулярного моделирования

Не найти там себя в C++. Из общих соображений, он там едва ли нужен. Там достаточно C. В широком глубоком смысле этого слова.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group