Что нужно знать помимо javascript для фриланса (в частности на oDesk)?
Здравствуйте.
Извиняюсь если что-то подобное уже было, но все же решил спросить здесь.
Общий вопрос всего этого поста может звучать так: Что лучше делать человеку хорошо знающему javascript, если он решил заняться фрилансом?
Здесь я разложу этот вопрос на под темы, а ниже какая либо доп. информация:
- Имеет ли смысл рассчитывать на работу js-специалиста (т.е. в случае если навыки js используются значительно интенсивнее других)? Возможно ли это на фрилансе?
- Что лучше учить в связке с js? Имея базовые знания по CSS, HTML стоит ли нацелится на них и периодически использовать js? Или лучшем будет изучение frontend фреймворков? Необходимы ли при этом будет в дальнейшем много верстать? Насколько перспективна эта сфера деятельности?
- Если использовать github-аккаунт как часть портфолио, что наиболее привлекательно будет в нем для работодателя?
- Имеет ли смысл довести какие-то свои задумки до конца перед началом поиска работы, или лучше начать сразу а уже стабильно оплачиваемые заказы могут пойти в портфолио?
- Возможно ли получить помощь\поддержку в начале пути фрилансера от человека активно этим занимающемся?
Ну и напоследок чисто-субъективные вопросы на которые я не жду аргументированного ответа, а просто совета, основанного на жизненном опыте:
- Стоит ли нацеливаться на javascript или лучше менять акцент (или вовсе бросать js) на другой язык?
- Стоит ли уповать на фриланс или лучше искать обычную работу?
Ниже следует дополнительная информация, предыстория etc.
Я студент 3 курса и хочу найти работу. Я живу в городе-миллионнике, название которого я пока предпочитаю скрыть, упомяну лишь, что он не Питер, не Москва. В первый, причем, думаю переезжать.
Также занимаюсь "разработкой" на javascript уже несколько лет. Эту деятельность можно разделить на 2 части:
- мелкая помощь другу с версткой, валидацией форм, иногда что то более серьезное. Иногда что-то чуть более серьезное.
- какие-либо свои проектики, амбициозные, но пока далекие от завершения.
Работа с другом получается очень разряженной, так как задачи, которые я выполняю маленькие и встречаются довольно редко. Я считаю что у меня есть некоторые навыки работы с javascript, которые я могу оценить как хорошие, да я не могу назвать себя экспертом, но именно знания js считаю лучшими среди своих других навыков. Я был бы рад если бы вы смогли привести какое нибудь небольшое тестовое задание или вопрос (скопированный откуда-либо или ссылку), глядя на который я бы мог подумать что смогу\не смогу решить его и сделать вывод о своих навыках. Вообщем хотелось бы оценить свои знания в этой области.
Помимо js я имею некоторые навыки программирования вообще, за плечами лет 5-7 программирования just-for-fun, писал на delphi, немного даже на ассемблере, затрагивал php, занимался также и версткой.
Думаю заняться фрилансом, либо искать более ли менее полноценную работу. Если можете привести аргументы в пользу какого-либо варианта на основании вышеописанного (например "студенту не стоит лезь во фриланс") буду рад.
Собственно вопрос который меня интересует больше всего это: Возможно ли найти работу js-специалиста в чистом виде? Я знаком с jquery, но не знаком с некоторыми другими важными фреймворками\библиотеками мира js: angular, knockout, backbone, underscore etc. Здесь у меня возник "паралич выбора" недавно описанный на хабре. Однако я готов изучить то что нужно среди этого. Вопрос в другом: можно ли хорошему js-специалисту найти работу, если он не эксперт в верстке? Можно ли сделать это на фрилансе? Т.е. конечно у меня есть опыт верстки, но я не знаю всех тонкостей этого мастерства. Меня больше волнует то что мне не нравится верстать, может это и придет со временем, но все же верстка и программирование сильно разные вещи и меня больше привлекает именно программирование.
Отсюда довольно предсказуемо следует второй вопрос: Что должен изучить человек хорошо освоивший javascript? Всегда ли это связка HTML + CSS разных версий + всяческие плюшки из этого мира... или есть перспективы изучать что-то для работы больше программистом, нежели верстальщиком? Я в свое время изучал Node.js и мне весьма понравились ее возможности. Имеет ли смысл развивать себя как js-backend разработчика?
Какое будущее ждет javascript фрилансера? Стоит ли, нацеливаясь на фриланс, перестроить себя на верстку целиком и сделать js только вспомогательным инструментом?
Я был бы рад увидеть типовые требования к человеку претендующему на должность js-разработчика. Я понимаю что есть гугл, я вобщем то видел не раз эти требования, но если вы сможете указать на брешь в моих изречениях или просто захотите поделиться своими требованиями к кандидатам - я буду рад.
Я завел аккаунт на oDesk, так как здесь (Тостер) и на Хабре не раз читал положительные отзывы о нем. Навыки английского не назову безупречными (где-то UpperIntermediate - Advanced), но я активно стараюсь их улучшить. И тут у меня вопрос-предложение: Возможна ли какая-либо помощь в ориентировании в фрилансе и в oDesk'e в частности? Т.е. некоторое наставничество: объяснение что нужно подтянуть, на что ориентироваться, оценка способностей, объяснение того что нужно искать, за что браться не стоит и т.д. Конечно, это заняло бы ваше время и я готов был бы за это заплатить, но увы не заоблачные суммы, так как их просто нет :( .
Есть аккаунт на github, там лежат 2 мелких проекта - расширения для chrome (userscript'ы в данном случае), и это, честно говоря, не то чем я стал бы гордится. Могу рассказать вкратце про них, если кому-нибудь будет интересно.
Вопрос про github: GitHub: Что ценится работодателем больше: наличие своих проектов, участие в других, умение использовать git или все это вместе является хорошим подспорьем?
Если вы дочитали до конца - просто спасибо за то что "выслушали" :) Сердечно извиняюсь за много букв :(
Имеет ли смысл рассчитывать на работу js-специалиста (т.е. в случае если навыки js используются значительно интенсивнее других)?
Безусловно
Возможно ли это на фрилансе?
Безусловно
Что лучше учить в связке с js?
Учить CSS, HTML, SVG, фреймворки, и разного рода интерпретаторы (HAML etc.), препроцессоры (SASS, Stylus etc.).
Имея базовые знания по CSS, HTML стоит ли нацелится на них и периодически использовать js?
Без этих знаний никуда.
Пример: анимация в CSS быстрее, используем её. Для старья используем таймеры.
Пример: для хорошего соответсвия UX используем элементы формы, из состояния, события.
Или лучшем будет изучение frontend фреймворков? Необходимы ли при этом будет в дальнейшем много верстать? Насколько перспективна эта сфера деятельности?
Очень важно. Написать качественный код для полного покрытия ситуации могут немногие. Можно стараться стать таким, но для начала стоит использовать работу таких людей.
Если использовать github-аккаунт как часть портфолио, что наиболее привлекательно будет в нем для работодателя?
Примеры решения конкретных задач. А разве в гит можно выложить что-то неконкретное?))
Имеет ли смысл довести какие-то свои задумки до конца перед началом поиска работы, или лучше начать сразу а уже стабильно оплачиваемые заказы могут пойти в портфолио?
Нет предела совершенству. Продавать нужно начинать до окончания работ. Так же и в работе — не нужно откладывать поиск вакансии до момента, когда вы постигнете вселенную.
Во-первых, такого никогда не случится.
Во-вторых, ваши знания могут быть уже достаточны для части работодателей.
Возможно ли получить помощь\поддержку в начале пути фрилансера от человека активно этим занимающемся?
Возможно. Но на условиях подмастерья. Будьте готовы к этому.
Ну и напоследок чисто-субъективные вопросы на которые я не жду аргументированного ответа, а просто совета, основанного на жизненном опыте:
Стоит ли нацеливаться на javascript или лучше менять акцент (или вовсе бросать js) на другой язык?
Ваще непонятный вопрос. Если вы категорически не согласны с концепцией JS — бегите прочь от него. Если всё понятно — зачем спрашивать?
Стоит ли уповать на фриланс или лучше искать обычную работу?
Фриланс и есть обычная работа. Вопрос абсолютно не связан с программированием или языком программирования.
Выше вы написали
"— FileReader
— DataTransfer
— DataView
— Canvas (+WebGL)
Я могу продолжить список на десятки позиций."
Не могли бы вы выделить несколько наиболее важных важных вещей из мира js, (за исключением библиотек, фреймворков) которые стоит знать js-программисту (в том числе и на backend)? Буквально несколько ключевых фич языка. Конечно достаточно только названия этих технологий. Т.е. я прошу написать то, что вы написали выше в комментарии, но уже исходя из важности понимания. Был бы очень благодарен :) . Спасибо за этот развернутый ответ. Концепция js мне очень по душе.
анимация в CSS быстрее, используем её - не всегда и не правда, разработчики GSAP об этом подробно рассказывают, как и множество статей в сети. Чем больше элементов в секунду анимируется тем медленнее css анимация по сравнению с js.
Если анимируется не много элементов то быстрее css.
1)Имеет.
2)Выберите что вам по душе в любой области жуткая нехватка специалистов.
3)Звездочки.
4)Есть время и желание дорабатывайте, нет начинайте работать.
5)Вся информация в открытом доступе, больше чем написано в инете вам никто не поможет,
к примеру тут pumainthailand.com/otvechayu-na-voprosy-o-rabote-n...
6)На любом современном языке можно зарабатывать свои 5-6 тысяч баксов в месяц.
7) сугубо ваш выбор, хотите в офисе сидеть или же быть свободным фрилансером, понятно что на фрилансе рост денег, опыта и всего всего в разы быстрее и зависит только от вас.
профи везде лезут под сотку
у меня друг фронтер зарабатывает больше меня и умудрился за лям купить даже 10% веб студии одной хорошей, думаю если этого мало можно и больше зарабатывать , но он как и я просто ленится и много не работает.
@opium чорт. бросаю нахрен работу.. ээ.. кстати, а до профи в js долго расти? а то я его с пол-года как изучаю на своих проектиках (на работе исключительно delphi+oracle, так, что особо не потренируешься)
Из своего опыта работы на одеске скажу, что более всего ценится умение решать задачи в поставленный срок и в соответствии с пожеланиями заказчика. Это дает рейтинг и постоянных клиентов.
При общении точно указывайте количество времени, которое займет работа. Крайне не рекомендую ввязываться в проекты, которые кажутся сомнительными при первом прочтении.
Рекомендую работать с клиентами из развитых стран (США, Канада, Великобритания, Германия). Вариант с трекером времени самый лучший. Fixed price немного хуже.
И учите английский.
"не знаком с некоторыми другими важными фреймворками\библиотеками мира js: angular, knockout, backbone, underscore etc."
Вы точно уверены, что хорошо знаете js? Jquery и основы js займут от силы неделю, не называть же теперь всех, кто это знает специалистами.
А так да, гугл решает. Вернее мониторинг заказов на одеске в вашем случае. Посмотрите, что нужно заказчикам и каких знаний вам для этого не хватает. Верстка будет нужна в любом случае, знание фреймворков тоже надо прокачивать. Хотя бы чтобы не говнокодить, если вам дадут заказ на доделку какого-либо сайта (поверьте, такие доработанные куски потом явно бросаются в глаза тем, кто будет делать этот сайт после вас).
Вы уверены, что основы JS — так, ерунда какая? Что вы знаете про
— FileReader
— DataTransfer
— DataView
— Canvas (+WebGL)
Я могу продолжить список на десятки позиций.
Давайте-ка выберем задачу и представим на суд общественности свои решения. Готовы? Чтобы вы были точно уверены, что знаете JS.
@Petroveg у нас с вами разное понимание основ. Когда я говорил о неделе, то имел в виду промежуток времени достаточный для того, чтобы человек стал способен выполнить средней сложности задачу. Загуглит он решение, использует плагины или напишет его сам - не имеет значения. Под задачей средней сложности я понимаю то, что по большей части попадается на фрилансе. Не уникальные проекты типа написания библиотеки для работы с webgl, а типовые задачи для сайтов. Клиенту часто надо не "знаете ли вы канвас", а "чтобы в админке графики продаж выводились". А это именно типовые задачи, те самые основы. Способность использовать язык для решения задачи.
Мастерство определяется уже тем, как быстро исполнитель сделает ту или иную фичу и насколько качественно он это выполнит. Я не утверждал, что хорошо знаю js (мое знание как раз на уровне верстальщика, который не хочет облажаться, не сумев выполнить тот или иной заказ, но не серьезного фронтэндера, к сожалению) и ответ в этом топике я написал лишь потому, что автор не упоминает ничего из того, что подтверждало бы его слова о том, что он хорошо знает js.
@Petroveg совет относительно верстки? Вырастает из тех заказов, которые появляются в моей ленте. А также из того, что без знаний верстки на клиентсайде делать нечего. А яваскрипт все-таки не самый популярный серверный язык. Совет относительно фреймворков? Из личного опыта на php, где изучение фреймворков облегчает жизнь, а также из изучения jquery (ведь тоже фреймворк), которая также облегчает жизнь и опять-таки из ленты заказов, где мелькают задачи сделать что-то на том или ином фреймворке. Совет прокачивать знания, чтобы не говнокодить? Из личной жизни, потому что раздражают задачи, когда надо подправить или натянуть что-то, что просто просится на лопату.
@Tantacula сразу готов принести извинения, если обидел чем. Меня удивило замечание насчёт недели на изучение основ JS.
Искренне надеюсь, что вами владели исключительно хорошие позывы, потому что мир клиентского программирования безгранично велик.
Прошу прощения намеренно не указал информации о уровне знаний js, потому что все таки немного страшно критики, интересует больше гипотетическая ситуация. Т.е. если я не знаю js хорошо, то предположим что я его знаю хорошо - таким образом я хочу понять что делать в этой ситуации, готов подтягивать свои навыки до нужного уровня.
Действительно считаю, что в чистом js есть что изучать, особенно если происходит переход с чего то сильно другого (например C).
Спасибо за ответ и комментарии!
@aquabuda искать проекты и отвечать на них :) А в тех проектах, котоыре не сможете потянуть по тем или иным причинам смотреть, чего вам не хватает и наиболее частые пункты учить. Плюс изучать верстку (благо это несложное дело), обазятельно изучить бутстрап или любой другой css фреймворк - очень поможет в избавлении от глюков при верстке. Плюс создать один фейковый аккаунт от работодателя и немного поднять себе рейтинг, ибо без такого финта вероятность получить задание существенно ниже.
@Tantacula расскажите пожалуйста, как выучить js за неделю?) Рядом со мной сидит автор пары изданий по js с опытом более 10 лет разработки, вот просит Вас, как Бога js, дать пару советов, как освоить js за неделю. Быть может потом dom за пару дней, angular за сутки и html/cs за пару дней? Заранее благодарен!
@Itvanya умиляют люди, вырывающие фразы из контекста, искажающие смысл на противоположный и дающие этому противоположному смыслу глубокие ироничные комментарии. Конечно, ведь так просто взять ветку с десяток комментариев, удалить из нее лишнее, оставив из нее одну фразу, заменить в ней "основы" на "опыт более 10 лет программирования" и съязвить. На код также в пределах трех строк смотрите?
@Tantacula да ладно, не дуйся)) просто раздражают такого рода высказывания типа JS за неделю. я лично пол-года в js втыкаю, и до сих пор чувствую себя полнейшим нубом, особенно когда начинаю разбор исходников фреймворков.
Присоединяюсь к @Emptyform. Я работаю в gamedev (2d canvas, vanillajs, angular.js, node.js, grunt.js и т.д.) более года. Конечно же, прочел ни одну книгу (и тем более статью) на предмет возможностей и оптимизации этого языка, но тоже не могу себя назвать мастером. Язык и мощный, и уродливый одновременно, с миллионом особенностей и, местами, отличной производительностью. А возможности HTML5 (особенно, будущие) лично меня воодушевляют работать в этом направлении далее.
На JavaScript сейчас большой спрос. Вот как выглядит описание типичного объявления о работе на JS. В любом фрилансе помимо технических знаний нужен опыт фриланса (пробуйте, делайте) + английский (если интересуют заказы не только от соотечественников).
очень многа многабукаф. важно знать перечисленные фрейморки дабы исключить велосипеды и перенять хорошую практику. фриланс работа бывает разная.видишь что тебе позубам - берёшь. а если видишь что недорос. но очень хочется. то по требованиям понятно куда рости
вот и важно научится понимать, какой проект и какая практика заслуживает внимания. безусловно есть проекты или/и части проектов на которые стоит смотерть
Лично я два года назад определил список требований к веб-разработчику на основании требований к соответствующим вакансиям на Хантиме. Как список тэгов длиной в сотню непонятных слов... И лишь сейчас знаком с половиной (по собственной инициативе и по работе), а вторая уже не актульна (тот же php мне уже не интересен, хоть и не изучал глубоко). Поддерживаю предыдущие развернутые комментарии и советую больше времени тратить на изучение (например, через tuts+, codeacademy, etc.). И, конечно, учиться работать в сроки :)