Комментарии 106
- Задача про утку и лису в пруду
Выкладывать в общий доступ свой код можно, но он, зачастую, никому не нужен.
А вот в опенсорсе, мне кажется там больше люд пиаряться чем дело делают, но думаю тоже попробую как нибудь.
Помимо самоорганизации — не забывайте что с клиентом разговариваете вы а не менеджер, решения по архитектуре принимаете вы а не архитектор, и много много другого.
Вот прямо сейчас у меня в реализации — клиенту нужна диспетчерская. Тикеты могут вести разные исполнители. Каждый исполнитель должен видеть содержимое тикета. Так вот, тот факт что при просмотре тикета должна быть проверка и показываться это все должно только тем исполнителям которые в нем участвуют — это должен понять и озвучить фрилансер, клиент просто об этом не думает, как и о том что там вообще должна присутствовать авторизация. Не потому что он тупой, а потому что он больше думает о конечном результате чем о деталях реализации.
В большом заказе может быть часть, котору просто не надо писать самому — проще отдать другому специалисту, а самому писать по профилю. Такие ситуации надо уметь распознавать и уметь решать — то ли озвучить это клиенту и пусть сам решает, то ли порешать самому и нести в дальнейшем ответственность. Кому отдать?
Клиент может хотеть реализацию на определенном стеке — прав ли он? Если не прав — переубедить? Отказаться от заказа? Согласится с клиентом и скрипеть зубами? Это все решения уровня тимлида как минимум.
>За года заработал около 1,5к долларов(на руки),
Только не обижайтесь — это не фриланс а баловство. Мне в месяц надо затягивать сопоставимо что бы семью прокормить.
>Единственное я стараюсь занять нишу и брать однотипные заказы.
Нет у Вас самоорганизации, извините меня еще раз. Стухнет тот стек, на котором Вы пилите — будете начинать с нуля. Самоорганизация — это в том числе заставить себя делать периодически обзор рынка, выделять перспективные направления и осваивать смежные технологии. Мне mysql вообще не сдался, постгреса вполне себе хватает. Тем не менее почитал, поиграл, взял несложный заказ — сделал. Ок, я увеличил свои шансы на выживание. Ангуляр тоже особо не возбуждает, реакта хватает. Ничего, сижу, читаю, не так уж и плох. )
Денег пока приносит мало, но есть план и его надо выполнять, если не получится то пойду искать работу.
Новые технологии изучаю, но мониторить рынок каждый (день/неделю/месяц) это лишняя трата времени.
В любом случае я только в начале пути и только появляются постоянные клиенты на почасовой оплате.
Ну или делать патчи для ядра Linux :)
Для того что бы понять какие проекты вы используете (для совсем юниоров) — придумайте себе стартап. С понимаем того что он скорее всего не будет доведен до ума. Это неважно. Что то, что имеет отношение к реальности. Не слишком большое по объему работы. Начнете писать — начнете осваивать ИНФРАСТРУКТУРУ того языка, на котором пишете. Для меня это был сервис индексации, парсинга сайтов. На его основе я мог бы в дальнейшем как сделать специализированный поисковик так и сеошный сервис (индексация сайтов, рейтинги и прочее) К тому моменту как он заработал — я уже понимал что такое ПРОМЫШЛЕННОЕ программирование (а не академическое).
Вполне можно для начала поделать какое-то количество проектов для себя для примерного представления о сроках. " без опыта вы с очень большой вероятностью не сможете назвать адекватные сумму и сроки" — у большинства фрилансеров и с опытом это не выходит. Возможно вы ведете речь об Upwork? Я-то о российских площадках с фикспрайсом.
Фриланс идеален для работы после хотя бы года работы в коллективе, когда ты смотришь на правильный код и тебе объясняют ошибки. Когда ты просто пишешь чтобы работало и без надзора никакого особого роста не происходит. Только стаж для галочки работодателю.
С хорошими основами напротив, стимулирует собранность и повышает ответственность, поскольку в следующий раз с этим кодом обратятся к тебе же.
Точно так же для этих целей (но без оплаты) подойдет небольшой оперсорс проект. С ядром линукс, например, лучше и не пробоваться, даже если ты гений.
Можно получить и опыт и ревью и строку в резюме.
Та же самая проблема с "не могу продать себя "- вроде и админ 10+ лет от мелких контор на 5 машин до офисной инфраструктуры мобильного оператора в 500 станций, сколько ни пытался подаваться на фрилансы/апворки даже админом — 0 отзывов :(
Справедливости ради следует отметить, что для такого подхода нужно жить в более-менее крупном городе и заниматься нетворкингом — построением социальных связей.
Ну вот, ищу, но сайты с вакансиями одна печаль, линкедин тоже, а искать в оффлайне — это в современном мире то как?:) на службе занятости, чтоли?:)
У меня товарищи, когда искали первую практику много лет назад, просто заходили подряд (ну как это продавцы убер-пылесосов делают) в каждый магазинчик и офис, и предлагали посильную помощь, за деньги, услуги или даже еду… Со временем, клиенты будут рекомендовать другим клиентам. Админство нынче очень часто уезжает на удаленный аутсорс, ну вот, вы аутсорс в своем единственном лице — считайте, вы сможете продать те же услуги за вдвое меньшую цену — вам не нужно кормить директора, бухгалтера, офис-менеджера, кадровика, продажника, офис всем этим ребятам и собственно удаленщикам-админам…
Скажем так — из полудюжины программ, сделанных на заказ, абсолютно все заказы пришли из оффлайна. С индусами или голодными студентами на отечественных биржах конкурировать вообще не вариант.
А первую работу можно сделать себе самому: начните OpenSource-проект или поучаствуйте в существующем, попробуйте себя в GSoC во время обучения, попытайтесь решить какую-то задачу в той области, которая вам интересна, а потом автоматизировать это решение — так вы и знания свои углубите и расширите, и сообществу поможете.
Сообщество, кстати, это очень важно, старайтесь не программировать «в стол», а писать статьи, общаться на тематических форумах и в списках рассылки, отвечать на вопросы новичков там же и на SO, в общем, не замыкайтесь в себе в надежде через N месяцев выдать на гора идеальный продукт, решающий все проблемы.
Не переживайте всё время о том, что вас выгонят сразу после испытательного срока. По моему опыту, испытательный срок — это символическая вещь, подстраховка для работодателя, чтобы можно было легко уволить накосячившего новичка.
Не переживайте, потому что в ТК нет такого понятия :)
В случае с молодыми специалистами там есть примечание
Испытание при приеме на работу не устанавливается для:
лиц, получивших среднее профессиональное образование или высшее образование по имеющим государственную аккредитацию образовательным программам и впервые поступающих на работу по полученной специальности в течение одного года со дня получения профессионального образования соответствующего уровня;
10%? 20%?
После университета у меня был обратный случай — устроился в один ФГУП как «молодой специалист». Ибо никуда не брали. После первых ЗП в 13 000 рублей (работал на телевышке, до которой еще ехать надо было на машине и тратить в месяц на бензин 4 000 рублей) понял, что надо искать себе другое место.
Нашел, 3 месяца еще не прошло. Договорился, думаю — сейчас уволят без проблем. А вот и нет, молодой специалист — 2 недели отработай. И ведь работы особо не было — просто было желание мне подгадить.
И да, прописывают. :)
За лично свой 10+ лет стаж работы прямо в заявлении на приём писал "… принять меня на должность… с испытательным сроком 3 месяца" далеко не один раз включая банк, так что зависит от компании.
Не нужно слушать, что какой-то Haskel очень крутой, классный, умеет делать всё и вся, а функциональные языки программирования такие волшебные… Каждый хвалит свой язык.
М-хм. Из личного опыта — после разочарования в мейнстримных языках (преимущественно тогда писал на C++, C#, Python), я изучил Haskell. Работу начал искать еще будучи на четвертом курсе, нашел и пишу на Haskell.
Выбрать Haskell — лучшее решение, которое я принимал в жизни. Всем советую. Но может быть мне повезло. От мысли, что придется писать на другом языке, становится тошно.
Я могу сказать простой и ясный путь в программисты. Берём, ищем opensource проект на любимом (единственном, который знаем) языке программирования. Пишем туда фичу или фиксим баги.
После пары-тройки месяцев full-time бесплатной возни с проектом-двумя можно смело пропускать junior-часть и искать себе работу как нормальному программисту. В резюме можно будет просто дать ссылки на проекты и свои бранчи с собственно написанным кодом. Этого достаточно для прохождения первого уровня фильтрации (программист-непрограммист). Дальше вопрос в знаниях и опыте — и опенсорс — отличная возможность набраться самого что ни на есть боевого опыта программирования в условиях, неотличимых от продакшена.
Каждый раз, когда я собеседую человека, у которого мало опенсорсных коммитов и много опыта писания «на дядю», меня мучают сомнения — откуда я знаю что за ужасы он там писал? В опенсорсе мне можно просто посмотреть код и задать несколько уточняющих вопросов «зачем-то-то».
В этом смысле программистам начинать карьеру даже проще, чем админам, потому что код писать можно и без «кредита доверия на рута».
Вопрос к аудитории — являются ли такие знания обязательными на старте или вполне могут быть наработаны в процессе или заимствованы со stackoverflow?
Высоконагруженные участки вряд ли поручат молодому, а даже если поручат — перепроверят опытные коллеги.
Конечно, наизусть читать Кнута от backend-разработчика никто не требует. Но по диагонали прочитать Вирта лишним никогда не будет.
С точки зрения мобильной разработки есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
Как минимум не объективно.
Даже если считать, что Windows Phone/Windows 10 Mobile уже умер, то есть еще Xamarin не такой массивный пласт, как нативные платформы, но тоже на хлеб с икрой хватает. В любом случае, и там, и там требуются знания C# (как основного языка программирования).
Все знают, что сейчас программирование — это… супероплачиваемая профессия.
Все? Я, например, не знаю. Вот для чего это вообще писать? Привлечь больше людей на курсы, где зарплата у преподавателей 250$? Что значит супероплачиваемая?
В этом смысле вообще своеобразная статья. Называется — Как найти свою первую работу программистом? От резюме до испытательного срока. а внутри — Как найти свою первую работу программистом? От резюме до ухода из профессии. :)
В университете дают образ мышления и серьезную теоретическую базу. Актуальных практических по профессии дают минимум, зато дают представление об архитектурах процессоров, ОС, СУБД, компиляторов и сетевых протоколах.
На уровне Junior/Middle теоретическая база нужна не так сильно, но чем дальше продвижение по карьере, тем больше эта база нужна.
У нас первые два курса было повторение школьной программы, а дальше — математика, которая, если и прогождается раз в пять лет на практике, оказывается слишком поверхностной. Это еще если не считать всякие астрономии и социологии.
Другое дело, что сейчас у подавляющего большинства студентов позиция «зачем мне предают XXX, я же буду программистом» — нет прямого профита от знания теории автоматов/компиляторов, архитектуры ОС, БД и процессоров. И тем более нет прямого профита от матана, физики, электротехники и какой-нибудь метрологии.
Вот бы еще вакансии толково писали.
А то ощущение, что их в основном пишут плавающие люди. :)
Приходишь на работу и сталкиваешься совсем с другим. :)
А знание языка программирования — его щас и в ПТУ учат.
5-6 языков — это норма опытного разрабочика.
Я ни в коем случае не хочу приуменьшить значимость получения опыта на ранних этапах обучения (сам уже на 3 курсе работал параллельно с учебой). Но на западе и в Штатах существует тенденция не распыляться на работу, а тратить это время на усвоение теоретического материала, его более глубокое изучение. И там человек знает, что хорошее образование — залог стабильной и высокооплачиваемой работы. В России конечно реалии немного другие, но все же глубокое понимание предметной области намного ценнее, чем поверхностое знание основ, но умение быстро написать не особо хорошую программу из-за отсутствия необходимого опыта, которая как-то работает. Поработать вы всегда успеете, а вот фундаментальные знания усваиваются лучше всего в молодом студенческом возрасте.
Не знаю насчет штатов (я в Канаде), но приятель моего ребенка после второго курса Waterloo University факультет Engeneering проходил обязательную практику на Тайване.
Когда я работал на RIM у нас было много студентов на практике из Waterloo University факультет Computer Science начиная 3 курса.
Его работу оценивают в 10$/h, ему платят 2$/h, на разницу живут, готовые проекты забывают как страшный сон, благо время жизни у них обычно 2-3 года.
Нормальным джуниорам повышают зарплату и прокачивают, от ненормальных потихоньку избавляются. Так что даже в процессе обучения джуниор выгоден.
Если что, говорю это не на пустом месте.
Внимание вопрос — а какой смысл учить джуниора за свои же деньги, а потом еще и код рефакторить?
И стоимость владения потихоньку перевешивает
Ладно, привожу пример из своей жизни.
Писал приложения для мобильных устройств. Мне стыдно за тот код. Он был ужасен. Но приложение я выдавал за две-три недели.
Спустя некоторое время ушёл в той же компании на бэк, в том числе обработку финансовых показателей и имел возможность посмотреть финансовые результаты своей работы. К моему несказанному удивлению, после второго месяца я приносил конторе прибыль. Просто потому, что я написал много приложений. Стрельба дробью, понимаете? И стоимости владения вообще нет. Приложение просто стоит на нескольких рынках.
боюсь может и не взлететь к концу проект то
Что если вы, например, делаете приложения для событий типа выставок, лэндинги или софт для терминалов? Большинство таких продуктов заставляет глаза обильно кровоточить, однако же пипл хавает. Просто потому, что выбора нет.
Я к чему — не хотел бы я быть клиентом подобной «конторы»…
А вы давно клиент подобной конторы и не одной. Госсектор, например.
По приведенной вами ссылке таких вакансий только 2. В остальных — либо основой является machine learning, либо c++ — это всего лишь дополнение к основным обязанностям fullstack-разработки. А еще есть большой вопрос, реально ли на эти вакансии пробиться или там 10000 индусских резюме на каждую из них и твое просто не прочитают.
Ну и неужели вы действительно считаете, что 2 вакансии на весь мир — это «один из наиболее востребованных»?
Что возвращает нас к необходимости Яндексу и подобным компаниям выращивать соответствующие кадры.
Все знают, что сейчас программирование — это супервостребованная и супероплачиваемая профессия. Но немногие знают, что вакансий для начинающих очень мало.
Все начинающие это знают.
С точки зрения мобильной разработки есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
qt + qml + cpp + js плохое решение?
Ну как дела на фрилансе сейчас?
Как найти свою первую работу программистом? От резюме до испытательного срока