Где брать задания для совершенствования навыков и получения опыта?

Хотелось бы что-то вроде:


1) Выбрал профессиональную область

2) Уровень сложности


И на выходе получил задание. Желательно, конечно же, не тупые, а с расчетом на реальную ситуацию на рынке.


Знаю более-менее php, js и т.д., но с работой беда, а опыт набивать тупо негде :(

Самому придумывать конечно вариант, но ей богу надоело. Да и упираюсь в неактуальность.
  • Вопрос задан
  • 2875 просмотров
Пригласить эксперта
Ответы на вопрос 11
@Sliderer
Идеальный вариант — всё-таки найти работу. Думаю, не бывает такого, что ее нет. Можно предложить свои услуги бесплатно: это будет выгодно и компании и вам, т.к. получите столь необходимый опыт. Тут нужно просто желание и настойчивость.

Еще есть вариант примкнуть к опен-сорс сообществу и получать задания на разработку уже для реального продукта. Однако, вариант с работой мне видится намного более полезным.
Ответ написан
printf
@printf
Ем детей.
Ох, мне столько всего постоянно нужно — пишите, я изложу вам множество интересных задач, актуальных на рынке (а для поддержания мотивации еще и денег дам).
Ответ написан
Комментировать
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Придумайте себе какой-нибудь простенький pet-project, который можно сделать в одиночку за неделю вечеров, и сделайте.
После успешного запуска придумайте посложнее.
Rinse, repeat:)
Ответ написан
Bambr
@Bambr
А чем конкретно Вы хотите заниматься в перспективе? Веб в общем и целом, или ближе к бэк-енду, или наоборот — поближе к фронт-енду?
1) Если выбор — фронт, то конечно же имеет смысл придумать «какой-нибудь веб-сайт» и сделать его.
2) Для бэк-енда — пробуйте мыслить сервисами, решайте абстрактные задачи типа «написать сервис который будет складывать входящие запросы (урлы) в очередь + скрипт-разгребальщик этой очереди, забирающий страницы с серверов и делающий какую-то их обработку, результат складывать в бд». Тут с одной стороны проще (задачи как правило четче), с другой — важна производительность, возможно, возникнет желание сделать сначала параллельный разбор очереди, потом заюзать асинхронный ввод-вывод через какой-нибудь libev… У меня например есть задача до которой не доходят руки — запустить на медиацентре сайт-надстройку над поисковым сайтом локальной сети провайдера, чтобы там около найденных результатов была кнопка «скачать к себе», дать себе доступ к этой системе из интернета, и сделать очередь из заявок на скачивание. Уверен, вы тоже можете придумать подобную полезную в быту задачу.
3.1) Если хочется всего понемногу — хорошим способом осознать теорию будет велосипедостроение. Напишите простейшую CMS для управления вебсайтом, имеющим древовидную структуру. Полностью сами, используя как можно меньше сторонних модулей и фреймворков (это не поможет Вам научиться работать с теми библиотеками, которые востребованы на рынке, но даст внутреннее понимание их работы). Попробуйте ее разогнать, оптимизировать, улучшить. На выходе получится свой небольшой фреймворк и система, вполне пригодная для клепания сайтов-визиток. Самое главное что получится — понимание внутреннего устройства систем, которые делают то же самое, что и Ваша. Пробуйте их сравнить, радуйтесь там, где будет лучше Ваша, и допиливайте ее там, где она будет отставать. Не стесняйтесь изучать чужой код и не задавайте на форумах вопросов про то, «как это работает», пока не будете уверены в том, что сами уже не сможете разобраться.
3.2) альтернативный вариант для «всего понемногу» — строить велосипед не с нуля, вытачивая руками гайки, а из готовых узлов (библиотеки, фреймворки). Этот путь быстрее поднимет Вам цену на рынке и будет более полезен в краткосрочной перспективе, но даст ли он такое же глубокое понимание как в пункте 3.1 — не уверен. Я в свое время шел другим путем :)
Ответ написан
Комментировать
KriegeR
@KriegeR
Software Engineer
Я так понимаю, Вы студент. Для студентов сейчас стало «модно» организовывать практики по 20 часов в неделю. Т.е. Вы на время обучения стажируетесь на фирме бесплатно. Как по мне, с целью получения драгоценного опыта лучше не придумаешь. Когда пойдете на собеседование, не стесняйтесь, выдвините этот вариант. Есть большая вероятность, что Вам пойдут навстречу.
Ответ написан
mambet
@mambet
Если не хватает запала — то на работу в офис в интересную команду. Студент? Тогда на неполную ставку. Остальные варианты, теоретически, реализуемы, но практически я мало кого видел, кто был на это способен (успешно способен).
Ответ написан
Комментировать
f0rk
@f0rk
Большинство компаний в ответ на резюме высылают тестовое задание, и нередко дают оценку выполнения, даже если соискатель слабоват, и брать на работу его не собираются. Я в свое время сильно подтянул свои навыки активно рассылая резюме и выполняя тестовые задания. С 3-й попытки взяли на работу, при том что когда я брался за первое свое тестовое задание, я в веб-деве вообще ноль был.
Ответ написан
Foror
@Foror
Графоман
Закупите хороших книг и вперёд изучать теорию. К практике переходить, после или параллельно.
Ответ написан
Из личного опыта.
— Берёте и придумываете какую-нибудь очень сложную вещь (портал, игру, соц.сеть и т.д.). Советую пообщаться с друзьями — они могут подкинуть множество «бредовых» и удачных идей. Что не особо важно, главное чтобы было действительно сложно и Вы имели слабое представление как это сделать.
— Накидываете примерный план/концепцию, что бы не забыть.
— Наводите справки как это сделать. Хотя бы примерно.
— И начинаете делать.

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

Смысл:
— Если хотите чему-то научиться не задумывайтесь над содержанием, главное повышенная сложность задачи.
Ответ написан
Комментировать
@DileSoft
Идете к любому сайту, который вы любите (только желательно энтузиасткому) и предлагайте там что-нибудь улучшить бесплатно.

Я в свое время тусовался на форуме поклонников Лукьяненко и начал писать для него модули. Сначала простенькие без БД, а дошел до сложных систем межсайтовой интеграции с использованием AJAX, XML и SOAP. :)
Ответ написан
Комментировать
KriegeR
@KriegeR
Software Engineer
Если еще позволите добавить, однажды получил задание написать на Objective-C программку, которая должна работать с базами данных под «яТелефон». При учете, что с базами данных у меня на то время было туго, а с маком я вообще никогда не работал. На первых порах мозги вообще плавились. Но уже под конец завершения все обретало более-менее логичную форму.
Кстати, если ищете источник для вдохновления, то могу предложить некий хакатон «с самим собой». Просто берете какую-нибудь программу по зубам и пытаетесь написать ее аналог, но собственными силами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы