Як я можу зробити життя нового прокату комфортним? [зачинено]


36

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

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

Я шукаю пропозиції в будь-якому випадку, коли новим найманим є недавній випускник або досвідчений професіонал.


3
Що означає "спадкові причини"?
Робота

9
@Job: Це означає, що оригінальні архітектори коду не вірили в документацію. Вони були містичними людьми.
Fanatic23

7
Я б сказав, що ваш новий прокат потребує часу та підтримки, а не негайних термінів! Я був тим новим наймом, де потрібно було виправити помилки якнайшвидше для виправлення клієнта, але багато з них були дуже задіяні - мені потрібно було пройтися і поговорити буквально з 6 людьми, даючи суперечливі відповіді. Хтось перевернувся, бо я задав занадто багато питань. Простіше було б, якби той хлопець сам поправив код. Мені потрібна була наявність людей + відсутність негайних термінів + можливість (відведений час) на покращення речей. У мене цього не було, тому я майже не кинув, але вирішив не переживати :(
робота

@Job: дуже корисно, дякую. Жодні негайні терміни не є сприятливим початком, і вільна рука для покращення справ напевно покращить би впевненість кандидата.
Fanatic23

Відповіді:


31

Вони дійсно стосуються будь-якого нового прокату, будь то свіжіші або мають великий галузевий досвід:

  1. Переконайтеся, що ви доступні. Якщо ви занадто зайняті, щоб допомогти їм ознайомитись із вашою системою, призначте для них наставника. Переконайтесь, що наставник є персональним та готовим робити такі речі, як вийти на обід з новим наймом. Завдання наставника полягає у тому, щоб відповісти на будь-які запитання, які може виникнути у нового наймання, та надати їм руку допомоги, де це необхідно.
  2. Переконайтесь, що будь-які завдання, які їм призначені, мають якомога менше залежностей. Немає нічого, що змусить когось нового у вашій системі (свіжий досвід чи більше 5 років) відчути перевантаженість більше, ніж призначити їм завдання, яке має розсіяні у вашій системі залежності (які вони також повинні будуть вивчити, щоб виконати своє завдання)
  3. Доступна форма контактів / списку власності через інтранет-сайт або щось подібне. Нові люди (особливо свіжіші) зазвичай досить орієнтовно запитують "кого я запитую про xпідсистему?". Якщо в прокаті передбачений список, вони набагато охочіші надіслати електронну пошту або поговорити з ними безпосередньо, не проходячи ланцюжок людей, щоб знайти потрібний.
  4. Отримайте документацію . Закріплюйте стандарти кодування, що включають коментування, які можна проаналізувати за допомогою утиліти типу Doxygen. Як мінімум, це надасть новим працівникам можливість перегляду Вашого API. Якщо ви використовуєте такий IDE, як Netbeans, використовуючи формат коментування Javadoc, ви отримаєте документацію разом із завершенням коду. Неоціненний під час вивчення нової системи.
  5. Запропонуйте зустріч / обід / діда / тощо. Окунувши когось у свій стіл без якихось базових особистих ввічливості, можна залишити їх відчути себе відірваними від команди.

1
Дякую, але що, якщо новий прокат занадто важкий для розуміння речей і намагання не визнати його вини, навіть ми навчаємо їх на Max.level - я відчуваю ситуацію, коли новий прокат не є хорошим, і я справляюся зі своїми завданнями також у розвитку - ще раз подякуйте
Naveen Kumar

2
@naveen: Є така річ, як поганий прокат. Якщо вони абсолютно не бажають (або не в змозі) вчитися або брати на себе відповідальність за свої завдання, то я б поговорив з їхнім менеджером і залишив це в своїх руках - або вони поговорять з новим наймачем, щоб побачити, чи зможуть вони надалі допоможіть і, можливо, сподіваємось, їх примусите до дороги, або новий прокат може виявити, що він / вона швидше буде переслідувати інші інтереси у вашій компанії.
Дем’ян Брехт

10

Я думаю, я справді можу вам допомогти у цьому. Коли мені було 18 років, моєю першою роботою була посада розробника-молодшого .Net. У них був дуже великий фреймворк, і він змусив мене перейти прямо до вивчення курсу краху на CAB, і коли з'явився перший проект, я повинен був оцінити проект та вивчити SqlServer та їх основу. Це зробило цей чудовий досвід тим, що мій сестра-розробник був для мене впродовж усього процесу, починаючи від оцінок, до SqlServer, до їхньої основи. Я дізнався, що мені потрібно навчитися дуже вчасно, тому що я міг використовувати його як ресурс для запитань та допомоги. Зверніть увагу, це теж було зроблено, коли я був у Колорадо, а він у Каліфорнії. (Дистанційна розробка). Він змусив мене читати доповіді на CAB, вказував мені на хороші ресурси тощо, так що це не так, як він повинен був робити все навчання, але коли мова зайшла про питання, він був там. Підсумок, вам потрібен хтось, хто буде підтримкою ваших молодших розробників. Особливо, якщо ви хочете, щоб вони вчилися та рости разом з компанією та мали хороші робочі стосунки. Вони хотіли, щоб я переїхав до Каліфорнії, тому що вони були задоволені швидкістю, з якою я міг вчитися та прогресувати, і моєю роботою, на жаль, я не зміг зробити переїзд через вартість / тощо.

Цей досвід насправді задав і мене. Зараз я самостійно розробляю програмне забезпечення для бізнесу та фондів у своєму місцевому місті, і мені ще лише 21 рік. Це була найкраща перша робота, і я надзвичайно вдячний Тому Андерсону в RenEvo Software & Designs (який був моїм старшим розробником). Дивовижний наставник.


Дякуємо, що поділилися своєю історією. Я розумію, що відчуваєш себе молодим кандидатом, колись там був.
Fanatic23

Молодці Том Андерсон. Гарна історія.
Гері Роу

Том Андерсон - Девід Андерсон. Випадковість чи ви пов’язані з Томом?
zeroef

Як не дивно, збіг.
Девід Андерсон

4

Компанія, в якій я зараз, IMO, робить це правильно для нових найм. Ось деякі речі, які я вважаю ефективними.

Наставники

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

Документація

Ви вже згадували про це, але документація може допомогти. У нашому вікі є документ, який в основному описує ваші перші два тижні роботи. До того моменту, коли ви закінчите свій перший двотижневий пандус, ви потрапили в жолоб, отримали землю, і там вам комфортно працювати.


Занадто багато наставництва призводить до того, що більшу частину часу потребує няня і запитує що-небудь, насправді що-небудь замість читання коду тощо. Я рекомендував би це лише юніорам.
Сокіл

1
@Falcon: Я цього не бачив на практиці, але, можливо, можу уточнити, що наставник - це більше людина, чия роль чітко визначена для нового найму, як людина, яка має підтримувати високу доступність для нового наймання, щоб відповідати на питання або направити новий прокат на будь-яку необхідну їм інформацію. Знову ж таки, трохи помилки, але я не можу придумати кращого імені для ролі.
Стівен Еверс

1
@falcon: Я не згоден (про те, що рекомендую це лише юніорам). У тих, хто має досвід, стає краще само собою (добре, так що більшість може ), чи це стає легше з наставництвом? Там це завжди хто - то краще , ніж ви, хто - то , хто був навколо більше , і хто - то , що ви можете дізнатися, щоб допомогти вам дістатися до цього наступний крок у вашій кар'єрі, будь то новий прокат або CTO.
Дем'ян Брехт

1

Терпіння

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

Підтримка

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


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


1

Я почав на новій роботі 4 місяці тому, і я дійсно вважаю, що моє нове робоче місце зробило дуже гарну роботу з цього нового найму.

А. Бадді

У них є так звана «програма-приятель», де розробники можуть зареєструватися, щоб бути приятелем / наставником для нових співробітників. Коли наймається новий розробник, розробник у тій же команді (який зареєструвався як приятель) вказується як приятель / наставник нового хлопця. Це його відповідальність за те, щоб підвести нового хлопця до роботи, допомогти йому у вирішенні проблем, з якими він зіткнеться, піти на обід з ним, познайомити його з командою тощо.

В. Низька залежність

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

Напевно у вас є невеликі завдання, які у вас не було часу виконувати, коли ви вперше написали код. Поставте йому ці завдання.

C. Тренінги за новим наймом

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

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


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


1

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

Все інше приходить з часом. Але це велика картина, яка змушує себе почуватись німим, коли потрібно змінити 2 рядки коду, але поняття не маю, які побічні ефекти можуть викликати залежні модулі, кодові блоки тощо.


0

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

Тримайте його подалі від поганих хлопців. Зазвичай в кожній організації є щонайменше 1 зарозуміла людина (це мій закон :))

Якщо ви призначите наставника, переконайтесь, що наставник знає, що наставник - це допомогти, і це не від щирого серця. Зробіть час у графіку наставника для цього.

Слідом за його прогресом протягом першого місяця або близько того, підсумовуйте його проблеми, якщо можете.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.