• Где и как обучиться оптимизации\продвижению\seo сайтов?

    nlutkov
    @nlutkov
    SEO, SMM, CPC, Target, UI...
    Начните с базового и постепенно переходите на изучение сложных вещей: кейсы, аналитика, анализ оптимизированных сайтов.



    По терминологии сами всё поймете, когда начнете изучать.
    Материала Вам хватит на пару месяцев. enjoy!
    Ответ написан
    Комментировать
  • С чего начать учить данную сборку библиотек и по каким ресурсам?

    monochromer
    @monochromer
    DIVeloper
    Илья Кантор. Современный учебник JavaScript
    learn.javascript.ru

    Илья Кантор. Скринкаст NODE.JS
    learn.javascript.ru/screencast/nodejs

    Илья Кантор. Скринкаст WebPack
    learn.javascript.ru/screencast/webpack

    Екатерина Поршнева. Видео курс ReactJS Essential
    itvdn.com/ru/video/react-js-essential
    Ответ написан
    3 комментария
  • Что такое agile разработка?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Методика разработки.

    Waterfall: все тщательно планируем, назначаем сроки, разрабатываем, сдаем.

    Agile: Примерно планируем, анализируем, назначаем конечный срок, планируем на текущую итерацию, разрабатываем, планируем на текущую итерацию, разрабатываем... , сдаем

    Проблемы Waterfall:
    Если кто-то слажал, все ждут. Если нужно что-то добавить, очень сложно, потому что фаза планирования была очень долгой и тщательной и что-либо менять значит надо все менять.
    Если в плане указано, что сперва делаем это, а потом то, может случиться что некоторые люди, которые будут делать "то", будут какое-то время пинать "огурцы" пока ждут что первые люди сделают "это".
    Плюсы Waterfall:
    Все спланировано, все точно знают что когда будут делать.

    Проблемы Agile:
    Люди должны быть достаточно зрелые, чтобы нормально загружать себя работой - Agile в бюрократической среде просто провалится.

    Плюсы Agile:
    Практически нет простоя ни у кого - все всегда могут занять себя задачами.
    В случае появления новых требований, их можно без особого вреда ввести в проект почти на любой стадии. Главное чтобы технически это было возможно (в случае waterfall проблема именно на уровне утверждений и плана, то есть бюрократии)
    Адекватное использование рабочей силы - если у кого-то нет текущих задач, его официально можно занять под другие проекты.

    Agile это не сверхфича, это инструмент, точнее подход к планированию работы, но им нужно уметь пользоваться.
    Ответ написан
    Комментировать
  • Ставить ли jira на домашний сервер или на сервер который предоставляет atlassian?

    RayMefise
    @RayMefise Автор вопроса
    Java, PHP, C, C++, C#, .NET, QT
    Всем спасибо поставил себе на их облаке
    Jira - для работы с задачами
    confluence - для обсуждения спецификаций
    bitbucket - git сервер для контроля версия

    суммарно получилось $30 в месяц для 10 человек, считаю это стоит своих денег
    Ответ написан
    Комментировать
  • Каким должен быть CTO в веб-стартапе?

    @egorinsk
    Кандидат, способный подобрать нужную технологию, должен как минимум знать, какие варианты реализации вообще существуют и уметь их сравнивать. Он должен знать аспекты разработки как серверной стороны приложения, так и клиентской, не хуже своих подчиненных. Расскажите вкратце о своей идее, и спросите, на чем по его мнению, лучше реализовать? Какие есть альтернативы? Сколько времени это займет?

    Также, он должен быть реалистом, и осознавать, что сроки выхода на рынок для стартапа важнее красивых архитектур и новомодных фреймворков. Архитектуру в стартапе разрабатывать некогда. Это редкое качество. Также, чтобы соответствовать духу стартапа, он должен сам писать код.

    Замечание про новомодные архитектуры крайне важно — 90% разработчиков, получив возможность принимать решения и делать все чистого листа вам таких планов понастроят, что вы за 10 лет все это не реализуете. Если, услышав о вашей идее, у человека загораются глаза, и он начинает вам генерировать поток идей, пожеланий и дополнений — гоните его прочь. Если он разбрасывается баззвордами вроде «а вот здесь мы используем веб-сокеты, локалсторедж и очередь заданий на NoSQL» — гоните его прочь. И, кстати, в ИЕ нормально не работают ни сокеты, ни локалсторедж.

    А, еще вам нужен дизайнер. Никто не захочет платить за пользование некрасивым или неюзабельным сайтом.

    Итого. Таланты и профессионалы в IT — один из основных бизнес-активов. Естественно, на дороге они не валяются и по собеседованиям давно не ходят. Если у вас таких нет под рукой, вам очень сложно будет их найти.

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

    Какой-то известный сервис, например, чтобы сэкономить время на разработку системы оплаты и биллинг, и выйти как можно скорее на рынок, просто сделал вначале пользование услугами бесплатным.

    Более того, сомневаюсь, что ваша идея чего-то стоит. Если это не клон успешного западного сервиса, это, скорее всего, бесперспективно. Каждый раз, когда на Хабре очередной стартап описывает свою «гениальную» идею, хочется закрыть ладонь лицом в жесте отчаяния.

    Если уместно в такой ситуации давать советы, то советую вам оставить вашу затею и заняться производством чего-нибудь другого, например пряничных котиков. Или хороших пирожных — в наши дни так трудно найти вкусное пирожное, с бисквитом в основе, с оригинальной кулинарной идеей, но при этом не перегруженное кремом и сливками, и без шоколада (не люблю шоколад). Мне кажется, это очень перспективная ниша.
    Ответ написан
    4 комментария
  • Как/на чем заработать обычному верстальщику?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Общие советы, что уже были даны:
    + учи js,
    + учи english хотя бы до intermediate,
    + генерируй портфолио,
    + какой же верстальщик без своего сайта? сделай его идеальным и храни там своё портфолио и контакты, по возможности ставь на создаваемые сайты свой копирайт со ссылкой на портфолио (конечно, если заказчик не возражает),
    + в свободное время потерзай какой нибудь backend (RoR или Django)

    От себя добавлю: бросай PHP и никогда о нём не думай, может он и становиться лучше, но ему никогда не избавиться от своего тёмного прошлого (и переменных со знака доллара, вот ужас!). Когда будет пара хороших отзывов, смело иди на фриланс биржи, вроде odesk. C RoR и хорошим, красивым, технологичным, кроссбраузерным фротендом там вполне можно иметь и по $100 в час.

    Ах да, учись быстро копипастить. Использовать плагины. Избавляйся от всяческих попыток напилить велосипед, даже если так будет быстрее и лучше. Со временем, это мастерство позволит тебе делать сайты со скоростью пулемёта. Тогда ты постигнешь тёмный дзен и получишь свою порцию печенек. Я на полном серьёзе, когда ты поднимаешь сервер за 2 минуты, ставишь на него Bootstrap за 1 минуту и подгоняешь его (натягиваешь вёрстку из заранее созданных темплейтов) за 5 минут, обвешиваешь нужными виджетами из js, html5 и css3 за 5 минут и через 15 минут после получения заказа отправляешь заказчику наступает странное чувство эйфории. Конечно, это непостяжимый дзен, как всегда, по закону Мёрфи, какая-нибудь библиотека отвалиться, что-нибудь заглючит, а где-нибудь поползёт вёрстка и дебаг займёт пару часов, но всё же, делать полноценный сайт за 3 часа - бесценно. Для всего остального есть MasterCard.
    Ответ написан
    48 комментариев
  • Какие книги стоит прочесть?

    @diGreez
    Несколько хороших книг которые я вспомнил (порядок случаен):
    Серж Московичи — Век толп. Наука о массах
    Чарльз Маккей — Наиболее распространенные заблуждения и безумства толпы
    Сунь Цзы — Искусство войны (есть с разной направленностью комментариев, в том числе чисто военной и переработанные для управленцев. Конкретную версию вспомнить не смог.)
    Уильям Шарп — Инвестиции
    Нассим Николас Талеб — Одураченные случайностью. Скрытая роль шанса в бизнесе и жизни
    Нассим Николас Талеб — Чёрный лебедь. Под знаком непредсказуемости
    Мюррей Ротбард — Этика свободы (и другие его книги)
    Милтон Фридман — Капитализм и свобода
    Маргрит Кеннеди — Деньги без процентов и инфляции
    Джон Мейнард Кейнс — Общая теория занятости процента и денег
    Уоррен Баффетт — Эссе об инвестициях, корпоративных финансах и управлении компаниями
    Уильям Боннер — Судный день американских финансов. Мягкая депрессия XXI века
    Алан Гринспен — Эпоха потрясений. Проблемы и перспективы мировой финансовой системы
    Бартон Биггс — Вышел хеджер из тумана
    Вера Смит — Происхождение центральных банков
    Джордж Сорос — Алхимия финансов (и другие его книги)
    Стивен Левитт — Фрикономика. Суперфрикономика
    Ответ написан
    1 комментарий
  • Где найти описание web-уязвимостей на русском?

    @ikeagold
    Тут нашел небольшой список:
    Перечислим некоторые из наиболее часто встречающихся проблем:
    Cross Site Scripting
    SQL- injection
    PHP- injection
    HTTP Response Splitting
    HTML code injection
    File Inclusion
    Directory traversal и некоторые другие.

    ну и может будет полезен этот ресурс www.securitylab.ru

    Вот еще и еще нагуглил:
    A1 Injection (Инъекции, к примеру SQL - инекция)
    A2 Cross Site Scripting (XSS - межсайтовый скриптинг)
    A3 Broken Authentication and Session Management (ошибки аутентификации)
    A4 Insecure Direct Object References (незащищенные ресурсы и объекты)
    A5 Cross Site Request Forgery (CSRF - подделка межсайтовых запросов)
    A6 Security Misconfiguration (небезопасная конфигурация окружения)
    A7 Failure to Restrict URL Access (несанкционированный доступ)
    A8 Unvalidated Redirects and Forwards (открытыйредирект)
    A9 Insecure Cryptographic Storage (небезопасное хранение данных)
    A10 Insufficient Transport Layer Protection (недостаточная защита данных при их передаче)


    Рекомендации скорее всего можно подсмотреть в существующих анализаторах уязвимостей. Может кто-то подскажет хорошие :) habrahabr.ru/post/141803
    Часто о методах защиты (ну там описания функций и т.д.) пишут в документации тех языков программирования которые вы хотите анализировать.
    Ответ написан
    Комментировать
  • С чего начать качать скиллы в back-end?

    @lookid
    Паттерны, ПОТОКИ (блокировки, мьютексы, критические секции и прочее), конкьюрентные (поточные) коллекции, особенности тех-иных-других БД. Сокеты, весь стек TCP/IP, подробно. Написание тонн тестов. Довольно глубокое понимание языка (Java, С#). Код-то этот не циферки сортирует в массиве же. От фротенд до бекенд где-то 3-5 месяцев переходить, но это если в рамках компании, где ты уже работаешь. При условии, что ты тянешь хотя бы на джуниор-бекенда.
    Ответ написан
    1 комментарий
  • Что почитать про современные веб-технологии?

    @egorinsk
    На русском хороших материалов, увы, мало. Вот что надо изучить для веб-разработки:

    — HTML, CSS, верстка, позиционирование и флоаты есть тут: htmlbook.ru/ softwaremaniacs.org/blog/category/primer/ chikuyonok.ru/
    — Круглые кголки. тени, градиенты, трансформации и анимации CSS3
    — Нарезка дизайна, основы фотошоп
    — Основы дизайна и типографики
    — Javascript: learn.javascript.ru/
    — DOM интерфейсы: не знаю где, наверно в MDN (Mozilla Developer Network) можно почитать
    — Таблицы совместимости браузеров: www.quirksmode.org/compatibility.html caniuse.com/
    — Изучить какой-нибудь серверный ЯП
    — Изучить базы данных: MySQL или Postgres или еще какую-то
    — NoSQL: Mongo, Memcache
    — Изучить ООП и MVC
    — Паттерны разработки корпоративных приложений (есть книга от Мартина Фаулера)
    — Особенности хайлоад приложений

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

    Если вы знаете английский, все гораздо лучше. Вот статья с Хабра с кучей туториалов: habrahabr.ru/post/156241/

    А, еще прочтите в перерыве книгу от 37 signals, забыл как она называется, она маленькая, но дико умная.
    Ответ написан
    1 комментарий
  • Как развиваться начинающему web-разработчику?

    @toZavtra
    Принимаю заказы, пишите vasya@incream.org
    Послушай человека, у которого 4 года опыта управления веб-студией.

    Тебе нужно в первую очередь понять, где ты хочешь работать и только потом уже думать о технологиях и их прокачке. Когда ты узнаешь, где ты хочешь работать, над какими проектами, то узнаешь и какие технологии там используются. Потом устраивайся туда junior'ом и так вырастешь быстрее всего.
    Заодно, посмотришь, надо ли тебе оно и может тебе идти в другую область с другими технологиями.

    Помимо программистских советов есть еще чисто практичные и зачастую они решают, например, ты любишь делать законченный продукт или ковыряться в старом коде? Все эти басни и бредни про фреймворки, пойми, эти люди, которые до тебя писали код на твоей будущей работе, мозгами намного хуже тех же программистов, которые создали тот же Wordpress, зато они позволяют себе хаять его. Так вот ты придешь и будешь за таким человеком искать ЕГО баги 4-х летней давности. А представь, что баги эти от кривой архитектуры.

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

    Поэтому, в чем лучше кодить: в wordpress или в каком-нибудь symfony - это вопрос спорный, холиварный. Ни то ни другое не идеальное. Соответственно, какой стек технологий тебе учить, выбирать нужно отталкиваясь от того, чем хочешь заниматься. А учить стек лучше не на курсах, а идти джуниором.

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

    Потом, не забывай еще главное, мы живем в стране, где даже автомобиль нормальный сделать не могут, качество разработки здесь абсолютно такое же, то есть никакое, люди они одинаковые, что в АВТОВАЗЕ, что в Яндексе, поэтому на весь этот флёр вокруг каких-то там разработчиков клади болт.

    Я тебе расскажу, как это работает с точки зрения бизнеса в России, а не со стороны парняги в свитере и очёчках:
    1) Есть богатый дядя, который наворовал в своё время денег, у него есть сын, сын начитался хабра и бизнес молодости, взял у бати своего миллионов 50-100 и пошел пилить абсолютно никому не нужный стартап, нанял 30 человек, поставил компы, вот сюда нужно знать не столько сами технологии, сколько МОДНЫЕ технологии, смотришь модные тренды и их учишь или просишься джуниором, вауаля, и вот ты в струе.
    Делали делали, сыночке надоело пилить стартап, у него пати на мальдивах, свадьба, дети и тд - все разбежались.
    2) Есть государство или крупная контора, которая так или иначе, принадлежит кому-то из власть имущих, им нужно какой-то проект, они этот проект отдают фирме (то есть сыну, брату, свату), у которой сайт визитка. Эта фирма отдаёт это другой фирме, та отдает это еще двум-пяти фирмам. Где-то там в конце сидишь ты за компом и делаешь то, что тебе написали в ТЗ. Чтобы тебе что-то изменить в этом ТЗ, это должно пройти через 8 ртов и кучу согласований, и ты вообще лучше сиди и поменьше высовывайся. В таких конторах будешь пилить и пилить какую-нибудь хрень, в которой уже запутались все вокруг, но ты как-то делай, ведь скоро сдача. А потом они за два дня до сдачи, всей аравой посредников и программистов собираются в одном месте и наконец-то звонят главному заказчику и спрашивают, а как надо делать, то есть то, что ты спрашивал месяц назад. Иногда этот брейншторм помогает, иногда нет. Как туда устроиться? Опять таки, иди джуном.
    Примечательно, что качество продукта таких контор обычно хуже самой захудалой Джумлы, зато там все хаят CMS, но чтобы им в продукте прикрутить голосовалку, им нужно напрячь 8 ртов, распилить бюджет в тысяч 180-400, через кучу согласований сделать всё через жопу, но через ООП и какую-нибудь Symfony. Круто.
    3) Компании типа Яндекса, каких-нибудь банков. В таких компаниях обычно умные люди только на самом верху - это основатели компании, усмотреть за всеми аспектами фирмы им технически невозможно, поэтому часть продукта у них хорошая, основная, например, как поиск у гугла, а 90% других сервисов полное говно (посмотрите, что сделали эти "умы" из яндекса, вроде, с кинопоиском). Зато ЧСВ у каждого там Васи на уровне основателя компании. Вот эти Васи и делают там 90% продуктов, которые, как-бы второстепенны. Чтобы туда попасть надо не технологии учить, а изучать тренды какого-нибудь хабра, что там сейчас ценятся, какие авторы зарубежные: "Мега алгоритмическое программирование Алана Коуэла" и тд, таких книжек прочитать штук 10, выучить всё азы чистого программирования без фреймворков, одеться как мудак, чтобы выглядеть еще мудачее того гика, который тебя будет собеседовать, а то они ранимые и завистливые и опять таки, устроиться джуном.
    4) Компании локальные по созданию сайтов и прочего программирования. В таких фирмах свободы намного больше, чем в первых трёх, но нет столько денег, зато сразу видно продукт, который делаешь. Тут тебе пригодится и вордпресс и битрикс. Туда тоже лучше идти джуном. В таких компаниях шанс того, что ты потом запустишь боком собственный проект намного выше, т.к. у тебя будет опыт создания веб-сервисов, сайтов за Реальные сроки и ты будешь видеть ход их развития. Но с точки зрения денег, редкий случай, когда они тебе могут предложить даже столько, сколько в стартапе.
    Поэтому, если для души программировать, получать удовольствие, то варианты 1 и 4. Если хочется работы, от которой многие воют, то 2, 3.

    5) Есть еще компании, которые работают на запад, денег сейчас там в теории, может быть столько же, сколько и в стартапе у богатого буратино, там тебе сильно повезет, если будете делать пункт 4, если 2-3, то можешь брать веревку и мыло.
    Стартапы таким компаниям дают мало когда, ведь хипстеру миллионеру нужна атмосфера, нужны работнички перед глазами, а не на аутсорце. А вот латать баги в 6 летнем коде по цене продавщицы в ларьке Нью-Йорка - это запросто, это аутсорц. Текучка в таких местах дикая, поэтому они, отчаявшись, ищут негров за рубежом, никто вменяемый этим заниматься не хочет у них на родине. Поэтому если на аутсорце будет создание сайтов или каких-нибудь новых систем, это большая удача.
    Туда тоже нужно идти джуниором. Еще они почти всегда требуют английский, а если у тебя есть английский, зачем тебе они?

    6) Учишь английский, вордпресс, джумлу, магенто, цсс и идешь искать клиентов на английском языке. Из тебя вылупляется фрилансер, в перспектике открываешь собственную контору номер 5.

    Есть еще лайфхак, берешь абонемент в дорогой фитнес центр и знакомишься там с парнями, когда-нибудь тебе повезет и выйдешь на кого-нибудь богатого из чиновничков или олигаршьих родственников. Всем говори, что ты программист и у тебя есть "команда". Этого хватит, у богатых всегда "куча идей" куда бы просрать бабки (стартап) или наоборот где-то "намутить денег" (пункт 2). Они тебе сами предложат "тему", если ты обмолвишься, что ты программист. Всё, что у тебя будет к тому моменту, это сайт визитка, понимаешь к чему я клоню? Пункт 2, но ты будешь сверху, вторым ртом. Если повезет, будет и пункт 1, но ты будешь ко-фаундерем, ты посмотришь модные технологии и будешь под смузи составлять вакансии с reactJS, Angular, high load и еще кучу умных слов. А на биржах заказы пусть обычные люди ищут, которые за деревьями леса не видят. Или идут через жопу в пункт 2, когда надо заходить с другой стороны. Think different.
    Тот, кто на основании выше написанного лайфхака понял, что он ходил по кругу, а ключик в другом месте открывается, может мне скинуть денег за совет на кошелек R738086405346
    Точнее, это даже не совет, это инструкция, которая действительно рабочая.
    Ответ написан
    2 комментария
  • Как вы выбираете что нужно изучить?

    IonDen
    @IonDen Куратор тега IT-образование
    JavaScript developer. IonDen.com
    Есть база: EcmaScript 5 и CSS(3) - надо знать
    Есть будущее: EcmaScript 2015 и CSS3(4)+ - надо поглядывать и быть в курсе
    Есть популярные расширения CSS: LESS/SASS/Stylus и т.д. - выбрать что-то одно и изучать использовать.
    Популярные расширения JS: EcmaScript 2015 on Babel, TypeScript, CoffeScript и т.д. - я бы выбрал EcmaScript, так как 2 зайцев одним выстрелом.
    Есть известные фреймворки CSS: Bootstrap - приятно знать
    Есть известные JS фреймворки: jQuery - обязательно знать, SPA-фремворки/библиотеки (Angular, Ember, React, Backbone и т.д.) - обязательно начать что-то изучать и использовать.
    Так же не стоит забывать про системы сборки: Grunt/Gulp/Webpack и т.д. обязательно начать изучать что-то из этого.
    Плюс всегда стоит помнить о работе в команде (даже если вы сейчас работаете один): это Git и GitHub/Bitbucket - тоже обязательно изучать.
    + я не затронул кучу других вопросов: оптимизация, алогоритмы, сетевые протоколы, особенности работы браузеров и т.д.
    + для общего развития полезно изучать еще какой-то язык, помимо JS

    Как видите, требования для современного фронтенд-разработчика невероятно обширны, так что, прежде чем вы решите изучать что-то еще, подумайте, а всем ли из этого списка вы владеете достаточно хорошо?
    Ответ написан
    Комментировать
  • Прошу помочь составить план\стратегию\порядок обучения, радиоэлектронике\пайке\и т.п.?

    @ttyigor
    "Искусство схемотехники" (третье издание): www.amazon.com/Art-Electronics-Paul-Horowitz/dp/05...
    Колдунов А. С. "Радиолюбительская азбука" (в двух томах), ну и В. Г. Борисов "Юный радиолюбитель".
    Последняя - на любителя (некоторые главы, возможно, покажутся слишком устаревшими).
    Ответ написан
    Комментировать
  • С чего начать карьеру ИТ?

    Мне 30 лет. Начал свою карьеру в ИТ в 27.
    У меня ИТшное высшее образование, но жизнь сложилась так, что во время учебы нашел работу не по специальности, которая сразу начала приносить неплохой доход (производство рекламы: наружка, полиграфия). В один "прекрасный" день, спустя 10 лет работы, я понял, что достигнут потолок и мне совершенно не интересно дальше развиваться в этом направлении. Тогда то я и начал искать чем заняться.
    Я прекрасно понимаю страхи и мысли, которые крутятся в голове у человека уже с семьей.
    "А не поздно ли?", "А с чего начать?", "А как на меня будут смотреть другие люди/друзья/коллеги?", "А на какой доход и через сколько времени можно рассчитывать?", "А откуда взять время на жену/детей и учебу?" и еще куча других...
    В 16-22 все эти вопросы совершенно не волнуют - ты еще юн, свободен от обязательств и в какой-то мере финансово не обременен...

    Немного порассуждаем :)

    Отвечу на самые-самые вопросы:
    А не поздно ли?
    Нет. Никогда не поздно! Звучит банально, но это работает.
    Нужно срочно забыть сколько тебе лет и оперировать только понятием жизненный опыт. А его к 30 уже порядком. Мозги еще не "заржавели", тело еще не барахлит.
    НО нужно сразу условится - любая сфера ИТ требует ПОСТОЯННОГО самосовершенствования и изучение нового материала. ЛЮБАЯ.

    Чем заняться-то?
    Я для начала для себя определил две области ИТ в которых возможен быстрый прогресс за короткий срок и достаточно быстрое трудоустройство. 1С-программирование и веб-программирование.
    Они были выбранные после тщательного анализа локального рынка труда + низкий порог входа + возможность быстрого прогресса. Долго сомневался, читал форумы и статьи, что бы выбрать окончательно, но в итоге победило направление веб-программирования. Решающим стали два критерия: возможность удаленной работы на зарубежных биржах и отсутствие привязки к конкретной узкой технологии. В финансовом плане 1Сники на начальном этапе получаю больше, но со временем Веб вырывается вперед.
    Многие написали выше, что надо учить основы основ. Разложить всю теорию по полочкам. Понять принципы ООП и паттерны проектирования. Это правильно, НО... время+семья+деньги накладывают некоторые свои ограничения. Как мне кажется главная цель - это смена сферы деятельности, т.е. добиться результата. Да, по началу будут жуткие "решения" и "ужасный вырвиглазный лапшевидный говнокод", НО плох тот программист, который не продолжает свое обучение ПОСТОЯННО. Но учиться уже на работе под руководством более опытных товарищей НАМНОГО проще.

    А с чего начать это ваше "веб-программирование"?
    Сразу оговоримся, что есть принципиально два разных направления: "фронт-энд" и "бэк-энд". "Фронт-энд" проще и дружелюбнее для совсем начинающих. Его изучение позволит быстрее прийти к выполнениюглавной цели. Поэтому дальше я буду рассматривать именно это направление.
    Да-да, конечно, потом можно и "бэк-энд" изучить и даже полностью перейти на него. Можно совмещать, обв.
    И еще одно отступление: уровень английского Pre-Intermediate. Это само собой разумеющееся. В любом случае придется читать, слушать и понимать.
    Итак по теме вопроса.
    Рекомендую начинать с: htmlacademy.ru - пожалуй лучший русский ресурс для новичков. Интерактивные задания с самых азов. Все основные курсы бесплатные. Платная подписка открывает доступ к продвинутым курсам - рекомендую покупать эту подписку уже после прохождения всех базовых курсов. Есть два платных месячных "интенсива" - весьма неплохие и стоят своих денег.

    Остальные ресурсы рекомендую проходить параллельно с HTML-академией, начинать где-то после 7 курса:
    www.codecademy.com - на английском. Помимо курса по HTML&CSS можно попробовать JavaScript и jQuery + неплохие ознакомительные курсы по "бэк-энду"
    https://dash.generalassemb.ly - на английском. Интересны тем, что имитируют выполнение реального заказа на фрилансе.
    Есть еще куча ресурсов и курсов, но для начала этого вполне хватит.
    В любом случае придется изучить JavaScript. В этом деле поможет уже упоминаемый выше www.codecademy.com + learn.javascript.ru

    И главное - больше практики. Применяйте свои знания.
    Верстайте псдшники хотя бы ради практики и портфолио. Прикручивайте к ним что-нибудь простенькое на jQuery.

    А откуда взять время на жену/детей и учебу? Как совмещать-то все еще же работа есть...
    Если уделять учебе хотя бы 1 час в день, то можно вполне все успевать.
    Я учился так:
    - на работе была возможность почитать и поделать небольшие занятия в течение дня ( в сумме полчаса)
    - еще часик уже ночью, когда все спят дома.
    - в выходные вставал пораньше и в субботу за два часа пока все спят повторял все сделанное за неделю, а в воскресенье подбивал итоги и планировал следующую неделю.
    Придется пожертвовать сериальчиками и какими-нибудь излишествами нехорошими - всегда есть что-то. Все время дисциплинировать себя первое время. Можно вести блог или поставить цель на смартпрогресе. Главное регулярно заниматься. даже 15 минут в день - это уже большой плюс.
    Еще очень важно, что бы домашние знали к чему вы стремитесь и чем заняты.

    А на какой доход и через сколько времени можно рассчитывать?
    Тут все ОЧЕНЬ индивидуально. Все зависит от усердия и желания.
    Можно грубо прикинуть "скоростное прохождение этого квеста":
    1) материальные вложения: 30-32 т.р. два интенсива(базовый и продвинутый) и помесячная платная подписка на htmlacademy.
    2) временные вложения: 5-7 месяцев на курсы и интенсивы от htmlacademy + 2-3 месяца на основы JavaScript и jQuery

    После этого вполне можно пойти работать верстальщиком с перспективами карьерного роста с окладом от 15 т.р. или попробовать себя на фрилансерских биржах.
    Почему так мало?В моем регионе именно столько получают стажеры-верстальщики в первый месяц, но это уже работа + на реальных проектах прогресс пойдет намного быстрее. А следовательно и вырастет доход.

    А не будет ли мне сложно "работать" в молодом коллективе?
    Возможно первое время будут какие-то сложности, но как мне кажется в любом случае ценятся базовые человеческие качества + профессионализм. А если учесть, что к 30 уже есть достаточно богатый жизненный опыт, то я не думаю, что возникнут проблемы.

    Как-то так :)
    Удачи. И главное помните - все зависит только от вас. От ваших желаний и вашего трудолюбия.
    Ответ написан
    3 комментария
  • Какие видеокурсы по изучению английского языка посоветуете?

    @Profatilova
    Самое лучшее -
    rutracker.org/forum/viewtopic.php?t=563735
    rutracker.org/forum/viewtopic.php?t=563824
    rutracker.org/forum/viewtopic.php?t=587008

    Там курс "English for you" 3 уровня. От Beginer до Intermediate. Уроки на английском, но все понято. Объясняют все отлично. Будете реально понимать что как и почему.

    А для того чтобы подтянуть именно разговорный язык, который будет необходим в повседневной жизни нужно читать и слушать журнальчик Hot English Magazine :

    rutracker.org/forum/viewtopic.php?t=1556121
    rutracker.org/forum/viewtopic.php?t=2590059
    rutracker.org/forum/viewtopic.php?t=3061180

    Update
    Еще канал на youtube (для "продолжающих")))
    https://www.youtube.com/user/JamesESL/videos
    Ответ написан
    1 комментарий
  • У кого есть курсы lynda.com на русском?

    FanKiLL
    @FanKiLL
    На русском от линды только про гит видел. У вас про bootstrap 3 на русском?
    Lynda.com Git: обучение основам
    Ответ написан
    1 комментарий
  • Навыки front-end разработчика

    gelevanog
    @gelevanog
    javascript developer
    HTML (XHTML, HTML4, HTML5) - обязательно (внимание на HTML5)
    CSS (2.1, CSS3, etc.) - обязательно (внимание на все версии)
    JavaScript / Ajax - обязательно, классика
    jQuery - обязательно, классика
    Popular Frameworks (HTML5 Boilerplate, Twitter Bootstrap, etc.) - первый удобный шаблон для html5 проекта, не более, второе уже классический шаблон для адаптивной верстки
    Modernizr - библиотека для определения браузеров, клиентов, девайсов - прочитать, усвоить, применять по необходимости что-то определить
    OOCSS / BEM / SMACSS (Modular coding methodologies) - способы удобного написания стилей, прочитать, усвоить, применять по необходимости
    CSS Grids - не знаю что автор имел ввиду - видимо CSS-сетки, просто надо знать
    CSS Frameworks / Resets - ничего сложного технологии обнуления стилей и опять наборы CSS правил с классами типа animate.css
    Progressive Enhancement / Graceful Degradation - понятие связанное с кроссбраузерностью и упрощением функционала и отображения в некоторых браузерах
    HTML and CSS Specifications (W3C / WHATWG) - чаще проверять код на валидность, это позволяет понять свою ошибки как раз на основе этих спецификаций
    UX / Usability - больше для дизайнеров, но тоже пригодится
    Website Speed / Performance - плюшки по оптимизации
    Developer/Debugging Tools (Chrome Dev Tools, Firebug, etc) - умение ковыряться в консоли, надо знать и применять всегда
    YUI Library - по необходимости
    Dojo / MooTools / Prototype - изучать и применять по необходимости
    Responsive Web Design - надо знать работу с css медиа-запросами
    Mobile Web Development - абстрактное понятие связанное с разработкой мобильных веб-приложений
    Mobile Web Performance ---
    Cross-Browser / Cross-Platform Development - абстрактное понятие связанное с разработкой кроссбраузерных и кроссплатформенных приложений
    Document Object Model (DOM) - дом модель - на вводном курсе по js должен знать о ней каждый фронтендер
    Cross-Browser Bugs and Inconsistencies (primarily IE6-8) - без комментариев
    CSS Pre-Processors (LESS / Sass) - удобные препроцессоры для работы со стилями, рекомендую для упрощения работы с CSS
    Version Control (Git / GitHub / CVS / Subversion) - полезный навык, нужный не только фронтендерам, полезен для командной разработки.
    HTML5 APIs (Canvas, Geolocation, Video, etc.) - изучать и применять по необходимости
    Object-oriented Programming (OOP) - без комментариев
    Back-end Templating languages/technologies (PHP, Ruby, .NET, etc) - нужно знать на базовом уровне, что бы понимать как обрабатывать данные на клиенте, возвращенные/отданные сервером, мучать бэкендщика по этому поводу.
    Scaffolding, Task Runner tools (Yeoman, Grunt, Bower, etc.) - удобные штуки упрощающие работу
    MVC Frameworks (Angular, Backbone, etc.) - изучать и применять по необходимости
    MySql - изучать
    Accessibility / WAI-ARIA - изучать и применять по необходимости
    Microdata / Microformats - изучать и применять по необходимости
    HTML5/CSS3 Polyfills - изучать и применять по необходимости
    CMS (WordPress, Drupal, Joomla, etc) - изучать и применять по необходимости
    Functional Programming - без комментариев, надо знать
    Data Formats (e.g. JSON, XML) - надо знать
    Internationalization / Localization - абстрактное понятие
    Content Strategy - изучать и применять по необходимости
    Offline Web Apps - изучать и применять по необходимости
    Regular Expressions - надо знать на базовом уровне
    .htaccess - изучать и применять по необходимости
    SVG - изучать и применять по необходимости
    Image Editing Tools (Photoshop, Fireworks, etc.) - надо знать
    Web Font Embedding / Licensing - работа со шрифтами
    SEO - фронтеднеру надо знать на уровне семантичной вертски
    Haml - работа с HTML
    CoffeeScript - работа с JS

    В целом все эти технологии, понятия и пр. тесно пересекаются друг с другом. Изучая что-то одно невольно изучаешь другое.
    Ответ написан
    1 комментарий
  • Что изучать веб-программисту самоучке, кроме самого языка?

    @business-gl
    Немного не в тему, но может быть очень полезно:
    1) Проверить свою память и ее детальность
    Критичность некоторых деталей зачастую требует удержания их постоянно в поле внимания.
    Также количество информации в современном мире, в частности в интернете - очень велико и обрабатывать и осмысливать каждый кусочек может быть очень полезно, но очень уж долго. Поэтому хорошая память в купе с быстрым чтением пригодится.

    Тут может быть полезна книга Уильяма Аткинсона "Наука самосовершенствования и влияния на других" - немного устаревшая но нужная, как 101 курс можно взять ее сокращение от Эксмо Москва 2012 (то же название, но приписка на 7 стр. "Под редакцией д-ра Артура Пелла")

    2) Умение концентрации, сосредоточенности и воли
    Думаю понятно для чего, но для наглядности объясню. Все слышали про Юрия Долгорукого который умел делать одновременно несколько дел, но к счастью люди обычно обладают такой управляемой шизофренией. Сколько-бы процентов мозга мы не использовали, это не имеет значения до тех пор пока био, нейро науки не научатся увеличивать это количество без последствий. Поэтому можно считать "выносливость" и "силу" мозга конечной и медленно восполняемой -> очень важно, как мы их используем, это дает понимание, что отвлечение на посторонние вещи (например музыку во время работы (не для музыкантов)) может сильно сказаться на качестве конечного продукта мысли.
    Как раз тут и нужны:
    концентрация - для продуктивности, мобилизации сил
    сосредоточенность - чтобы не отвлекаться и не распылят собственные силы
    воля - чтобы отсекать неуместное в данный момент, но вероятно ценное для нас в общем. Тут то и пригодится память, чтобы потом восстановить идею
    3) Информация и ее устройство
    Очень важно концептуальное понимание, а не прямое заучивание... зазубривание
    Организация информации - важный навык (представьте себе что в интернете есть только персональные странички с информацией без таких аккумулирующих сайтов, как Хабр)

    Мастерство
    В общем чтобы стать по настоящему Мастером своего дела нужно наложить на себя ограничения, не в плане что если хочешь стать программистом, то не качаться на качелях, а ограничение области работы (многие наверно помнят на начале бума фрилансеров, они хватались за все что угодно и в итоге мало к чему приходили), также в смежных областях не позорно оставаться Учеником или Подмастерьем.

    Еще стоит посмотреть "Athene's theory of EVERYTHING" 2011 для общей картины, стоит заметить что русский перевод в некоторых частях слишком волен и обобщен, замена некоторых фразеологизмов может сильно поменять на восприятие фильма в целом. Этот фильм может дать небольшое представление о современной научной мысли о работе мозга. Сам я этот фильм смотрел в течении трех суток, по частям, для лучшего понимания и осмысливания.

    PS Это все нужно, немного банально и заезженно, но на мой взгляд довольна важно и полезно для любого специалиста интеллектуального труда.
    PPS Пока писал об этом подумал может стоит написать подробнее и оформить в виде статьи для Хабра? Если бы вы хотели бы прочитать об этом, то пожалуйста задайте пару вопросов и пожеланий в ЛС, что хотели бы увидеть и о чем прочитать.
    Ответ написан
    Комментировать
  • Как вы поступаете, когда надо быстро освоить новую область?

    @un_tone
    сначала туториал типа «Get Started» для общего представления, а потом исходники более менее реального приложения + справочник или хорошая книжка
    Ответ написан
    1 комментарий
  • Какие преимущества фриланс имеет над работой в офисе?

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

    1. 90% заказов что я вижу - это постоянное допиливание чего-либо. За копейки. Фактически - говнокодинг какой-то. И при этом туча конкурентов, которые готовые работать за гроши. Мне вообще не хочется напрягаться из-за копеек и каждый раз вникать в новую задачу, ибо та жалкая тысяча рублей что я заработаю на фрилансе (если обойду орду школьников) мне и так придет в 6 утра с сапы))
    Мне гораздо комфортнее работать в офисе с одним проектом, зачастую написав в день пару строк кода и получать стабильно з/п.

    2. Я бы с радостью бы занялся серьезным проектом, разработкой (а не допиливанием опенсорса), но я не встречал подобных вакансий ни разу. Очень сомневаюсь, что сейчас кто-то станет инвестировать в разработку ИМ с нуля, скажем.

    3. Процитирую Лурк:
    ...подавляющее число действительно серьезных коммерческих проектов, как правило связанных с производством ништяков, реализуются коллективом, а не психами-одиночками, и никакая координация через e-mail, web-камеры и мессенджеры не спасет проект от бесславной гибели, если сотрудники не будут IRL бегать от стола к столу, тыкать друг-друга в мониторы и посещать всяческие стафф-митинги.

    - я имею опыт работы в больших корпорациях и могу подписаться под каждым словом этой цитаты. Масштабные проекты, со сложной бизнес-логикой, с огромным количеством кода не могут держаться на удаленке. Нужна постоянная координациях всех дирекций и IT-отделов. Как воздух необходимы митинги разработчиков. Очень долго и часто длятся обсуждения различных решений по поставленным свыше задачам. В переговорках сидят тимлиды и разработчики, ребята из маркетинга, из иных подразделений. Удаленно бы это все просто не работало. Никогда. И с ужасом вспоминаю, как мы однажды "трахались" по скайпу с удаленным верстальщиком - скорость работы занижалась в разы. Он слал какие-то куски JS-кода и мы его тыкали в проект. Мы опплевались.

    Если бы я вел проект, то ни о какой удаленке не могло бы быть и речи! Сотрудники должны быть здесь и сейчас. Не потому, что это была бы моя прихоть, а потому, что команда разработчиков - это единый мозг, управляющий проектом. Разработчики знают бизнес-логику тех или иных мест проекта, тимлиды знают архитектуру. В любой момент может понадобиться консультация между собой или с иными подразделениями компании. Какая удаленка, о чем вы говорите, какой фриланс?)

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

    4. Финансовая свобода, о которой говорят фрилансеры, меня как-то "пугает". Я в 12 году писал статью про то, что можно считать действительно финансовой свободой разработчику, почитайте - www.phpinfo.su/articles/additionally/azy_svobodnog...
    Суть очень простая - фриланс - этот тот же каторжный труд. Это инвестирование своего времени в точно такую же работу, как и в офисе. Финансовая свобода - это пассивный доход. Это свой бизнес, когда результат НЕ ЗАВИСИТ от вашей ежедневной деятельности. С точки зрения здравого смысла, владелец павильона с жрачкой/одеждой/водкой имеет куда больше свобод, нежели IT-шный фрилансер.
    Ответ написан
    16 комментариев