Archive for Червень, 2011

Ідеальні співбесіди, інтерв’юери та кандидати

п`ятниця, Червень 10th, 2011

Більшості з нас жодного разу не пощастило побувати на дійсно якісній співбесіді. Більшість з них у кращому випадку являли собою традиційні технічні інтерв’ю, та й ті не найкращої якості.

Менеджер: Як довго Ви жонглюєте?
Кандидат: Ох, близько 6 років.
Менеджер: Ви можете жонглювати трьома м’ячиками, п’ятьма м’ячиками, як щодо шести?
Кандидат: Так, так, і так.
Менеджер: Умієте жонглювати палаючими об’єктами?
Кандидат: Звісно.
Менеджер: …ножами, сокирами, відкритими пачками з цигарками, капелюхами?
Кандидат: Я можу жонглювати будь чим.
Менеджер: Гаразд, схоже Ви нам підходите. Вас прийнято.
Кандидат: Цікаво. Хіба Ви не хочете подивитися на те, як я жонглюю?
Менеджер: Гмммм…. Я навіть не подумав про це.

з книжки “Peopleware”

Ніхто жодного разу не запитав мене чи роблю я якийсь внесок до відкритого програмного забезпечення і чи я проводжу вечори не лише в пабах поглинаючи чергові літри пива і/або за переглядом телесеріалів. Однак майже кожен вважав за необхідне спробувати принизити мене давши якусь дитячу логічну задачу (наприклад, “чому люки круглі?”) і потім робив чимало важливих висновків лиш на основі моїх відповідей. Мої колеги регулярно ходять на співбесіди, аби подивитись на інші компанії, а потім розповідають іншим про нові почуті там задачі, розв’язуючи які ми розважаємося під час колективного чаювання. Я вмію протягом кількох хвилин робити вигляд, ніби напружено думаю над даним мені завданням замкнений зв’язний список, а потім героїчно видавати правильну відповідь зі словами: “я не наполягаю на тому. що це найефективніше рішення, та перше, що спадає на думку — це…”. Я вмію правильно одягатися, говорити, посміхатися, і загалом поводитись на інтерв’ю таким чином, щоб справити позитивне враження на більшість інтерв’юерів. А ще я віднедавна сам вмію виносити їм мозок і одразу ж ставити їх в позицію жертви. І це ще навіть не круто.

Ні в кого не вистачило мізків поґуґлити моє ім’я перед співбесідою, аби дізнатися, чи беру я участь в якихось проектах з відкритим кодом, чи веду технічні блоґи, про, що я пишу на форумах та списках поштових розсилок, як відповідаю на запитання на stackoverflow.org, чи виступаю на конференціях, щоб поспілкуватися зі мною саме про цю мою діяльність. Однак, ясна річ, майже кожен шукав мене вкантактє і на фейсбуку, аби знайти компрометуючі світлини, на які потім можна буде тицьнути пальцем у зручний момент.

Чому у нас на стільки не розвинені соціальні навики, і чому ми на стільки вузькозорі, що не розуміємо: якщо тобі потрібен хороший програміст — знайди його попередні роботи, оціни, і просто зроби пропозицію про роботу. Хіба ви не найняли б програміста, в якого 10 популярних проектів на github, і який веде один із найпопулярніших тематичних блоґів в країні? Оцінювання знань, пробні технічні завдання, співбесіди з розумними фразами і вдаваними гарними манерами… Ми інтроверти, які можуть оцінювати інших лише таким способом, і яких можна оцінювати лише у такий спосіб. Ми таки переважно витрачаємо свій вільний час на розваги, а не на навчання та покращення цього довбаного світу, ми ніде не “світимося”, не ділимося ні з ким своїми знаннями та досвідом; ми просто відсиджуємо свої 8 годин, аби отримати свою тисячу доларів, і йдемо додому пити пиво переглядаючи чергову серію “Героїв”.

Одного разу сидячи усією командою за першим нашим спільним пожиранням піци з пивом ми розговорилися про те, як ми потрапили до цієї компанії та на цей проект. Усі у край емоційно переповідали свої трохи “жахливі” історії проходження тренінгів та нереально складних інтерв’ю, на яких, за їхніми словами, “їх валили так, що ті по завершенню були на 100% упевнені у тому. що вони його таки з тріском завалили, і ніяких шансів отримати пропозицію про роботу у них немає”. Але тим не менше, усі вони сидять тут. Тоді я здивовано згадав, що зі мною чомусь інтерв’ю не проводили, і просто взяли на роботу, на, що директор мого відділу посміхаючись відповів: “Це ти так думаєш”. Це змусило мене пригадати усі наші з ним розмови, які й дали мені відповідь на моє питання. Я дуже сподіваюся, що він не помилився найнявши мене. Я до цих пір думаю, що потрапив до правильної компанії.

Я видаляю усі телесеріали з харду, і беруся за кодинг та книжки…

Книги по Linux kernel development

понеділок, Червень 6th, 2011

Відповідь на одне з найпопулярніших запитань — “Порадьте книжки по розробці для ядра Linux”. Ось відповідь:

 

Linux device drivers (3-тє видання) — без сумніву, книжка, з якої варто почати. Цікава вона ти, що читачу пропонується написати драйвер простого “віртуального” пристрою, який ускладнюється/вдосконалюється по ходу отримання вами нових знань. На жаль, інтерфейси описані у книжці трохи застарілі (книга базується на ядрі 2.6.10), тому будьте готові витратити трохи часу на читання сирців нових версій ядра, що власне, й добре, адже одразу ж вчить неприємній істині — API ядра постійно змінюється, і ніхто особливо не дбає про зворотню сумісність.

Її авторами є такі люди, як Jonathan Corbet, Alessandro Rubini, та Greg Kroah-Hartman.

 

 

Linux kernel development (3-тє видання) — найпопулярніша та без сумніву, найкраща книга по ядру Linux. Це книжка, яку просто варто бодай 2-3 рази прочитати від початку до кінця.

Написана вона була Робертом Лавом (Robert Love), інженером Google, котрий працює на операційною системою Android, і відомий своїм активним внеском у такі вільні проекти, як ядро LinuxNetworkManagerGNOME Volume ManagerProject UtopiaBeagle та ін.

Я б також рекомендував до прочитання дві інших його книжки: Linux System Programming: Talking Directly to the Kernel and C Library та Linux kernel in a Nutshell.

 

Understanding Linux Network Internals

Через великий об’єм мережної підсистеми ядра та через те, що вона використовується сторонніми розробниками ледве не частіше за усі інші, їй присвячено окрему книжку. Якщо займаєтесь, або ж маєте намір займатись мережними технологіями — обов’язково прочитайте цю книжку.

 

 

 

Країна недопрограмістів

п`ятниця, Червень 3rd, 2011

Чому про нинішніх українських програмістів не написали жодної художньої книжки (написали?) Це ж класична утопія. Покоління, яке кричить, що Україна може стати ледве не другою Кремнієвою (ні, не силіконовою, йолопи!) долиною, і при тому за рівнем свого розвитку максимум можуть конкурувати з середньостатистичним американським студентом, який вивчає комп’ютерні науки.

Не варто в якості прикладу наводити нашу майже “до не можу” деградовану систему освіти, бо вона є наслідком того, що ми мали і ким були. Погляньмо на те, кого ми маємо зараз, щоб зрозуміти кого і що ми матимемо у майбутньому. А маємо ми покоління людей схиблених на своїх заробітних платах та сприйнятті роботодавців за засоби для власного самоствердження. За статистичними даними далеко ходити не потрібно — подивімось на найбільшу українську ІТ-спільноту developers.org.ua — сайт, тематикою якого є, як сказано тут, “індустрія аутсорсингу та розробки програмного забезпечення в Україні”, який, однак являє собою нічого іншого, як базу заробітних плат.

Сайт, на форумі якого практично відсутні технічні дискусії, а ті, що час від часу там таки виникають дуже швидко перетворюються у дуже звичне нам запльовування їх авторів та міряння пісюнами.

Його власники це чудово розуміють, і навіть побудували на людській жадібності успішну бізнес модель, яка полягає в отриманні з компаній чималих грошей за те, аби зробити їх більш помітними для потенційних працівників, яких ці компанії так потребують.

Погляньмо на інший приклад, rozrobka.com, яка являє собою нічого іншого, як систему колективних блоґів, на кшталт slashdot.org, і, яка, на жаль, попри повну відсутність реклами та наявності досить дружнього кістяка за два роки свого існування так і не отримала великої популярності.

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

Українські програмісти не обговорюють між собою книжки, не діляться своїм досвідом, не беруть активної участі у розвитку ринку, і навіть своїх компаній, які платять їм по 3 000$ лише за те, щоб ті працювали саме на них, а не на їхніх конкурентів. Усе, що їх цікавить — чому мені платять 3 000, а не 3 500, і, як попри усі ці умови для роботи на високі заробітні плати, звали до біса в ЄС або Штати.

Я б сказав інакше: “Україна — це країна ІТ-спільноти, що лише формується”.