Як навчитися програмувати і стати програмістом
Ми поговоримо про фундамент веб розробки, про те, що повинен знати і вміти веб програміст, а також розглянемо комплект знань для успішної web розробки. Отримаємо відповідь на багато питань зокрема, як почати, що вчити, за допомогою чого вчити, як потім заробити на отриманих знаннях і скільки можна буде заробити.
Хто такий web програміст, як їм стати?

Я сподіваюся ви знаєте хто такі веб програмісти, але навіть якщо немає я в коротко опишу їх в своєму поняття не незрозумілими словами з вікіпедії, куди ви і самі можете піти і прочитати, так ось. Web програмісти - це люди які розробляють сайти і веб додатки під різні завдання і потреби. Сайти або веб додатки в свою чергу розташовуються на серверах, саме сервер обробляє всі кількість звернень від користувачів і компілює, транслює або перетворює код в потрібну веб сторінку.
При згадці слова сервер, більшість уявляють собі картину величезного дата-центру з безліччю стеків серверів, і я скажу частково це істина, але будь-який комп'ютер і ваш в тому числі може бути сервером. Все що для цього потрібно, це білий (статичний IP) і настройка сервера наприклад за допомогою апач. Адже сервер це практично той же системний блок, що і у вас, тільки укомплектований більше під пам'ять накопичення і ОЗУ (оперативну пам'ять), а також має потужний сучасний процесор для швидкої обробки.
За допомогою спеціальних надбудов (програм) він стає сервером здатним в собі розміщувати сайти і веб додатки. На даний момент існує кілька найпопулярніших видів програм для настройки серверів:
Сервер бере на себе основне навантаження обробляючи одночасно тисячі, а часом і мільйони запитів в секунду (приклад Гугл або Яндекс). Якщо сервер недостатньо потужний щоб обробити велику кількість звернень в секунду, він перестає працювати, лягає, падає. Так роблять DDOS атаки посилаючи дуже багато запитів на один сайт або одну сторінку.
Які потрібні знання для успішної web розробки?

Для роботи або для початку роботи в сфері веб програмування вам знадобиться не мало знань, зараз я вам їх покажу і розкажу, що за що відповідає.
Базовий комплекс знань
Вибравши напрямок фронтендера або бекенда вам потрібно освоїти ці знання і ви зможете заробляти вже свої перші гроші як на фрілансі так і в офісах на невеликих і не дуже серйозних проектах. Але це я привів базові знання з якими на жаль ви не потрапите на добре оплачувані вакансії і не будете брати участь в серйозних великих проектах. Тому наводжу другий набір знань, з якими ви можете розраховувати на більш ніж пристойну зарплату.
PRO підготовка
BACK END. php, mysql, python, sqlite3, mssql, postgresql, orm, sphinx, blitz, twig, amqp, phalcon / django, highload, federation, git / mercurial
Знаю, знаю список страхітливий, але за це вам будуть платити не сотні баксів, а тисячі і затребуваність ваша буде практично скрізь. Вам буде доступна робота повсюдно, як на фрілансі, так і в офісі. Ви зможете з гордістю називати себе професіоналом в середовищі веб розробки. Але найсолодшим і захопливою у всьому цьому є фінансова незалежність і вільне місце роботи в плані країни. Для вас не буде проблематично працювати віддалено на хорошу компанію і проводити час на будь-якому курорті, все що потрібно інтернет і хороший ноутбук.
Як вчити і що вчити?

Для початку слід зрозуміти одну просту річ, знання даються всім по різному і вільний час на навчання у всіх також різний, я привожу тут основні приблизні оцінки за часом для базового освоєння веб розробки. Вони цілком реальні і засновані на практиці друзів і знайомих, які працюють в цій ніші.
Час навчання 1 - 3 місяці бажано в такій послідовності:
Невже реально за 3 місяці так вивчити? Так реально, але це база, ви далеко не професіонал і кожен новий проект вас буде змушувати гуглити і вивчати нові нюанси, але вже навіть з такою базою ви можете починати шукати роботу в невеликих офісах і отримувати свої перші гроші з середи веб програмування.
Прискорений варіант 2 тижні - півтора місяці
Цей варіант не для всіх, ну по-перше потрібно вміти швидко все засвоювати і володіти просто величезною кількістю вільного часу і вчити. вчити і вчити. Але навіть в цьому випадку ви зможете знайти роботу хоча і не дуже з хорошою зарплатою, але з можливістю швидко рости і підніматися до рівня про.
За допомогою чого вчитися?

Багато хто задає собі це питання, де і як або за допомогою чого вчитися, хтось йде на курси, інші шукають в мережі, я приведу основні напрями отримання знань для веб розробки.
Якщо говорити про конкретні напрями, то я особисто рекомендую наступне:
PHP + MYSQL - PHP5 в оригіналі видання 2 (книга) і ті ж уроки Попова.
Все це дасть вам базу, а вже після неї ви самі розберетеся куди далі рухатися, де брати інформацію для розвитку і звичайно кожен проект буде вас по своєму розвивати.
Як потім заробити на отриманих знаннях?
Найголовніше, без роботи ви не залишитеся, навіть за невелику зарплату але ви зможете для старту почати працювати, а потім вже стаючи фахівцем високого рівня робота вас буде знаходити сама, але я виділив кілька напрямів, де ви зможете успішно заробляти, як по початку так і на більш пізньому рівні спеціаліста.
Якщо говорити про ціни на послуги веб розробки, то тут немає стабільності, дуже багато залежить від вас. Ваші знання вміння продати себе, а також знання англійської все це сприяє гарному заробітку. У країнах СНД ціни в рази нижче ніж в західних країнах, тому є сенс вчити англійську і виходити на компанії забугром. Там ви зможете отримувати в тисячах зелених або євро. Вам будуть доступні відрядження, зустрічі та нові цікаві знайомства.
Отже ми з вами зрозуміли, що аутсорс крутіше і прибутковіше, але тут ви зобов'язані знати і мати:
- Хороший досвід і практика ваших знань
- Відмінне знання англійської, як розмовної так і технічного по вашій ніші
- Наявність рахунку в PayPal або Visa
І на закінчення скажу одну маленьку гидоту, стати веб програмістом дуже важко, не дарма там хороші зарплати. Зараз, коли на вулиці криза, коли цінують тільки високих фахівців, вам доведеться докласти чимало зусиль, щоб вибити собі місце і хороший оклад, але воно того варте.
Все в ваших руках, місяць, три чи рік все залежить від вас, і головне це інвестиції в себе, які вимагають тільки ваш час не більше. Це окупиться потім вам у багато разів, так що вибір за вами.