Как понять что не моё? Да и вообще что делать? (HELP, over 9000 символов)
25 лет, Полтава, учусь на заочном. Работаю нигде.
Работал я 2,5 года в одной конторке эникейщиком со 100 юзерами (обычная г-ноконтора, раньше была гос), нас (IT) было два человека — я и начальник.
Вообще ни о чем, время прошло зря (ну правда, когда я пришел, то не знал совсем ничего по программированию, какие уроки на паскале были в школе (лет 10 назад)).
Долго, часто, и мучительно пилили какую-то прогу на Delphi 7+Firebird 1.5 — поражались скупости руководства (за те три года, что я работал в нашем «сервере» мы смогли поменять только кулер на 120 мм).
Долго, но успешно распознавали капчу на теперь уже minrd.
Раз даже пришлось смотреть как другой человек правит css шаблона джумлы.
В целом моей работой были даже довольны, однако она была очень утомительна, сильно болели глаза и особенно огорчала низкая з/п (lt 300$) — отработал 2,5 года и бросил (было психологически тяжело и обидно из-за несправедливого распределения з/п в конторе, некоторые другие сотрудники по 1500$ по сути за заполнение шаблона Word получали (конечно, это по блату скорее всего, но всё же), да и в общем моя з/п была ниже средней в конторе) из-за неправильного маневра руководства.
Пытался понемногу восстановить здоровье.
Со знакомым срыгали пару HTML страничек, используя Leaflet.
Позже крохотный сайтик-визитку на Django.
На Node.js скачал список тем на рутрекере и загрузил их в БД через Django — потратил 3 (целых ТРИ) дня, что меня очень огорчило.
Вот собственно почти и весь опыт работы, т.е. фигня, ни о чем, имя чему — ничто. И как-то даже в голову не приходило, чего бы ещё такого интересного и полезного бы сделать.
Теперь вот на горизонте замаячил вопрос нехватки денег.
Другой знакомый, фрилансер, работал с чем-то связанным с вёб (frontend), так что я тоже обратил свой взор в ту сторону.
Пару дней назад зарегистрировался на odesk, elance.
Решил пройти пару тестов. Не знаю как проходят остальные, а я проходил с помощью гугла (тесты на время, но этого более чем достаточно), и посчитал это довольно честным, т.к. не вижу смысла запоминать вещи, которые гуглятся за
Не знаю, насколько хорошо above average, top30, top20, top10, но я их набрал (JS, JQuery, SQL, Delphi). Но сами тесты мне показались бессмысленными.
А потом увидел odesk readiness test и не понял, что вообще читать надо, чтобы на них ответить. И заглянул в гугл..... и о ужас, оказалось, что там есть ответы на многие тесты elance, odesk. Сразу стала понятна бессмысленность всех этих тестов, теперь не понятно, почему у некоторых других столь низкие результаты таких тестов — это все такие честные люди, или им просто это не надо, и главное не тесты, а опыт, и ещё больше — отзывы предыдущих заказчиков?
Посмотрел я портфолио некоторых из них, ну вот мне лично по портфолио вообще не ясно что он умеет делать.
Я одно время долго не мог понять что такое вёрстка. Красивость — нет, за внешний вид и красивость отвечает дизайнер. Обработка, хранение, данных — нет, за это отвечает бэкэнд. Эффекты всякие — тоже нет, за это другие люди отвечают, пишут его на Javascript. Как оказалось, вёрстка — это просто HTML + CSS код, где важно чтобы оно отображалось во всех браузерах более-менее одинаково, при разном количестве элементов. И хороший и всё выше простого и типового сайт, оказывается пишется не одним человеком, а как минимум тремя (дизайнер, frontend, backend).
Вот собственно сейчас как-то стало тяжело, и накопилось несколько вопросов, на которые очень хочется найти ответы, а спросить не у кого, очень надеюсь на вашу помощь и понимание. Я долго читал хабру, и тут тоже несколько десятков тем и комментариев прочитал.
1. Как понять что не моё? И не тратить время попусту. Как проверить? Какие есть тесты?
У меня есть знакомый, на мой взгляд он очень многое перепробовал (широкий горизонтальный рост) — Delphi, C++, C, ASM, PHP, C#, ASP.NET, Python, HTML, CSS, JS. Работал с БД PostgreSQL, MySQL, Firebird, MSSQL, Oracle, SQLite. И мини игры писал, и свой язык (в институте, на курсовую), webGL, аналитика, графы, статистика, бухгалтерия. Работал администратором — с каким оборудованием только не работал — высоконагруженные сервера, всякие Cisco, маршрутизаторы, BSD, Windows серверы, работает и днем и ночью, немного знает электронику, паять умеет — ну одним словом, золотые руки, и даже растут откуда надо. Вот это именно его. Старше меня всего на год и столько всего знает. И что толку — зарплата на уровне 600$ — конечно, для Полтавы это типа много, но ИМХО, он достоин лучшего, а пока просто слишком распыляется.
Казалось бы — рядом такой человек, можно спросить, а по факту не понятно что спрашивать.
Сейчас мне кажется. что вот такой широкий горизонтальный рост бесполезен.
Следовательно, надо выбрать что-то одно, хотя бы направление, которое будет перспективно (я буду очень стараться).
У меня есть книжка (отличная бумажная книжка) по С++ за 24 часа, я её так и не прочел. И до сих пор не могу ни строчки написать на этом языке. Но я и не пробовал.
Есть книжка по JS на 1000 страниц, ну треть прочел, вроде интересно, но как-то быстро забывается прочитанное.
Листал Маконелла, ну вроде всё правильно мужик пишет, но чтобы воспользоваться этими советами, ИМХО, надо как минимум пару десятков мег кода срыгать.
Да, алгоритмика, ASM, тяжелая математика — явно не моё.
Как отбросить лишнее, что изучить, чтобы после ухода из очередной конторы, не чувствовал себя мамонтом, вообще никому не нужным и потерянным человеком.
Delphi уже приелся, я в нем так ничего не научился.
С++, C#, ASP.NET — Visual Studio в своё время не тянул мой бесплатно выигранный нетбук, но теперь с этим проблемы нет, но как-то студия показалась довольно сложной, чтобы её изучить за разумное время (пару недель), да и сами языки какие-то низкоуровневые, многословные. Очевидно, что быстро на них что-то делать не получится.
Javascript — первый язык, с которым я познакомился, которому было наплевать на типы данных. Было интересно с ним работать после Delphi.
Python — первый язык, которому мне казалось было наплевать на типы данных, но это оказалось не так, что меня очень сильно напугало.
PHP — много слышал про этот язык, про его С-подобие. И что программистов в нём уже очень много. Но это вроде как базовая вещь. Надо ли сейчас учить?
Ruby — я так понял, это Ruby для Rails, а не наоборот? Нужная вещь?
NodeJS — серверный JS. Сейчас малопопулярен. Будет популярен? На И-Цзин гадать? Есть ли работа на нем? Что там надо знать? Фреймворка уровня Django там сейчас нет. Что значит хорошо масштабируемые приложения? Где почитать/посмотреть примеры?
В итоге — накачал кучу книг и курсов, собрал тучу ссылок на online курсы, распылился на всё и в итоге — ничего.
Что делать?
2. Как учатся другие? Что значит знаю фреймворк A, B, C, D, E, F, технологии X, Y, Z. Каким способом проверяет заказчик/работодатель уровень навыков?
Вот даже по коду в моей конторе, я могу видеть что человек мог написать очень-очень много кода, но так и не научиться языку.
Процедуры по 4000 строк в onclick, где одно и тоже используется много-много раз (вроде индусский код называется).
Вот прошел я туториал по Django — я его знаю?
А если я работаю с ним 3 года, а тут у меня спросили о нем какую-то редкоиспользуемую штуку, но которую ОНИ часто используют — что, я не знаю его?
Тестовые задания?
Я наш типичный код из конторы мог набирать чуть ли не с закрытыми глазами. И вот, по прошествии полугода, я уже не помню как объявить процедуру, где ставить точку с запятой, и вместо оператора присваивания постоянно пишу «=».
3. Что пробовать? Что должно быть в портфолио?
Вот я дурак, мне реально не понятно, что там должно быть.
На что обращает внимание там работодатель?
Чтобы вы хотели там увидеть.
Посоветуйте, что можно сделать для портфолио, и за сколько дней можно выполнить эту работу по-вашему.
4. Как остальные знают, чем им нравится заниматься?
С детства постоянно слышал ответы других, кем они хотят стать, а часть — кем станет (связи родителей, предопределение на 90%).
У меня вот этого сроду не было. В теории мне казалось, что смогу заниматься чем угодно, но вот, время показало что я ошибался и был не прав.
Может IT не моё? Как понять?
Как, например, другие люди определяют «Я — верстальщик», «Я — сеньор гейм девелопер», «Я — верстальщик», «Я — дизайнер», «Я — начальник». Как? Как у них это получается?
5. Вычитал где-то фразу «умных люблю, а умников ненавижу». В некоторых темах тут это проскакивает. Что делать?
Как я понимаю, на любой работе начальство хочет, чтобы было как в армии — отдал приказ — его выполнили без обсуждений, не задумываясь, или по крайней мере пытались выполнить изо всех сил, даже если заказ невыполнимый.
Вот так работали у нас в конторе. 100 человек бегают, суетятся, коридоры переполнены людьми, лавочек нету, а деваться людям некуда — мы монополисты.
И заметило начальство, что что-то не так.
Ну вот и началось, а давайте интернет всем сотрудникам у кого он есть, отключим? Отключили — тоже самое.
А давайте на ночь и выходные всё-всё оборудование отключать (все компьютеры, коммутаторы, модемы). Отключили. Директор приходит в выходные, а интернета нету.
А давайте столы переставим (а кто переставлять будет, если в конторе одни бабы). Переставили. А вал-то всё не растет. Странно как-то.
Выше получилось очень сумбурно.
Где-то тут, на DOU тоже проскакивало, что не очень-то жалуют людей, как бы так правильно сказать, сформулировать, ну со своим взглядом на вещи что ли.
Но ведь как я понимаю и IT бывает также много глупых заданий.
Типа запретить копировать текст или картинку.
Или внедрить очень нужную фичу, и потом её поддерживать.
Или написать код лохотрона в инете.
<не читать>Или реализовать глобальную систему блокировок (я о России, мне кажется люди, которые были там, у истоков, могли что-то изменить, но почему-то они и сами поддержали и развили эту идею).</не читать>
Я умник — слишком много думаю перед началом выполнения задания.
Понимаю, надо быть гибким, иначе на тебя ложится слишком большой и бессмысленный груз ответственности. Совсем пофигистом быть не моё. Посоветуйте что-то, а?
6. Я не могу уехать из Полтавы (семейные обстоятельства, но не женат). Мой знакомый посещал какие-то курсы в Харькове, работал в какой-то конторе (w3), но мне это не подходит. Где в таком случае искать работу?
Только фриланс? А в случае, если хочется денежной (хочу в течение
Удаленной работы для начинающих я смотрю кот наплакал.
7. Встречал часто, что пишут что программирование должно нравиться (т.е. так, чтобы оно не просто было не в тягость, но чтобы это было больше чем хобби, типа как чтобы глаза горели).
Ну вот у меня полно знакомых которым нравится только потреблять, развлекаться и гулять. Работать вообще никто не стал бы, если бы были деньги. Т.е. о хобби и речи нету. Работают только, чтобы хоть как-то удовлетворять свои потребности.
Хотя в своё время, я как только мог старался улучшить условия своего труда, упростить всё что только можно. Найти наименее затратные способы решения задачи.
И похоже, что они меня тоже этим заразили — прямо упадок какой-то, ничего не хочется.
Пропишите какой-то рецепт, а? Я верю, что могу заниматься этим всем не только потому что прижало, а есть способ рассмотреть и раздуть искру творчества тут.
8. Как вы ищите библиотеки?
Я понимаю, гугл, яндекс, stackoverflow, github. Но ведь это ещё надо обладать способностью правильно сформулировать вопрос.
Как я понимаю есть менеджеры пакетов для Python, Ruby, NodeJS, Linux.
Вот, например, для NodeJS: github.com/joyent/node/wiki/modules
Где найти удобные, структурированные сборки, с описанием, и одной страницей. Неужели это не сделано? Это же было бы очень удобно!
Как найти адекватные примеры работы с фреймворками. Как их искать? Поделитесь советами, очень прошу Вас!
Не что-нибудь простое и элементарное, а хотя бы среднего уровня.
Например, в своё время с Django очень помог разобраться сайт розовых пони, с исходниками на битбакете. bitbucket.org/...eous/ponyfiction/overview Нашел я его случайно.
Находил также исходник сайта addons.mozilla.org — просто был ОЧЕНЬ удивлен его сложностью и объемом.
Был очень удивлен огромным количеством зависимостей от сторонних библиотек (у меня в Delphi 7 всего наверное столько сторонних библиотек было).
9. Что значит знать Linux (для программиста)?
Как-то эникеил я только с Windows (у нас CAD) и как ни пытался понять Linux, не понял.
Вроде и роутер прошил OpenWRT. И знакомому давали задание на coding.com сделать машинку, развернуть на ней питон, джанго (dev сервер).
Это, конечно, делается элементарно (с помощью гугла).
Если работать с Python или Ruby или NodeJS, или QT, как я вычитал нужен Linux.
Что нужно знать?
Консольные команды? — Можно ссылку на книжечку или CheetList? И желательно на руководство по эффективной работе с командной строкой.
Понимать логику работы — снова ссылочку, будьте любезны.
Уметь хостинг разверуть?
Заставить работать например Django с Apache?
Что надо? Есть тесты, или хоть описания?
10. Что значит знать English? Кто такой Intermediate?
Всякие онлайн тесты меня, который поверхностно учил английский в школе и чуток в техникуме, оценивают Intermediate, Pre-intermediate. Хотя по факту, я ни грамотно не смогу ни письмо написать, ни речь толкнуть, а статьи до сих перевожу гуглом.
Как его учат? Что является показателем?
Видел уйму курсов, аудиокурсов, Rosetta Sttone (визуальные ассоциации).
Есть такие где надо вслух за диктором повторять, вы прямо так сидите и повторяете?
Может есть место, где люди общаются по-английски?
Есть специальные курсы для IT?
Ну вот не верю я, что вот человек просто учил английский, и оп — и он отлично лялякает с зарубежными заказчиками.
Окончание надеюсь удастся опубликовать ниже....
dou.ua/...forums/topic/8071/#353958
Найкращі коментарі пропустити