Поки в мене зріють якісь чисто технічні викладки (з кусками коду і розумними словами) я можу достатньо наговорити і більш загальних речей. В цьому пості я би хотів трохи розповісти про кар'єру програміста. Власне, на прикладі власної кар'єри, ну і хочеться зробити якісь висновки...
По-перше, велике значення для кар'єри має місце, в якому програміст працює. Грубо кажучи, такі місця діляться на дві групи - софтверні контори (ті що пишуть софт на замовлення) і контори, які для свого основного бізнесу утримують певного розміру IT-відділи.
Так от я не хочу робити голосних заяв, але думаю, що якщо молодий програміст хоче досягнути відчутних успіхів в своїй кар'єрі, то треба йти, спочатку, тільки в софтверні контори. В софтверних конторах програміст буде працювати із більш сучасними і актуальними технологіями - це раз. В софтверних конторах, в яких проекти приходять, закінчуються і міняються - спеціаліста швидше за все перекидатимуть з одного проекта на інший, а іноді доведеться працювати і підтримувати кілька проектів одночасно - це два. І, нарешті, в софтверних контоарх всі зазвичай говорять на однією мовою і думають одними категоріями. Там у вас є можливість рости і професіонально і позиційно, і фінансово. В такому колективі програміст - це коллега, цінний співробітний, а не "один із тих розгільдяїв айтішників", які ховаються в дальній кімнатці офіса... І ще в такиї колективах зазвичай завжди є в кого повчитися, а ще відправляють на курси і навіть, буває, за кордон.
Звичайно, бувають виключення - бувають жахливі софтварні контори і трапляються дуже хороші ІТ-відділи на непрофільних підприємствах. Більше того, працюючи в останніх, можна отримати деяких унікальних навиків - спілкування з замовником(начальством), вміння викручуватись в складних ситуаціях, брати на себе відповідальність і бути останньою інстанцією - "за нами Москва".
Ще один аспект, важливий з моєї точки зору - не засиджуватись. Якщо всередині компанії немає достатнього рівня ротації, якщо більшість роботи зводиться до відпрацьованих до автоматизма маніпуляцій, якщо останній раз ви вивчили щось нове рік назд - пора тікати. На мій погляд, оптимальний термін роботи на одному місці - 2-3 роки. Якщо, звичайно, контора не достатньо розумна, щоб регулярно перетрушувати Ваш мозок і організовувати постійну ротацію.
По собі скажу - я всього цього не дотримувався. Коли я починав працювати, в Україні повноцінних софтових контор було на раз-два та і ті були якісь неприємно агресивні. А на останній своїй роботі я затримався аж на 7 років! Так, робота була достатньо цікавою і давала багато позитивного, але зараз читаючи Хабрахабр я 70% слів і термінів взагалі не розумію, а світові тенденції розвитку софта пропливли повз мене непомітно.