Час, необхідний для початку кодування у новій компанії [закрито]


12

Я інженер програмного забезпечення 4 роки, і я просто вперше змінив свою компанію.

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

Кодова база велика, вони використовують 5-6 мов / інструментів, з якими я не знайомий, як rspec, haml, жасмин та інші. Але все одно я відчуваю себе жахливо.

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

Це нормально?

Який у вас досвід, коли ви змінюєте роботу та занурюєтесь у велику кодову базу, написану з мовами / бібліотеками, з якими ви не знайомі.

Звичайно, я не прошу точного потрібного часу, але минулий досвід чи речі, щоб зробити процес, було б чудово.

До речі, я вже читав нижче запитання та відповіді: Як ви занурюєтесь у великі бази коду?

/programming/215076/whats-the-best-way-to-become-familiar-with-a-large-codebase

/programming/214605/the-best-way-to-familiarize-yourself-with-an-inherited-codebase

ОНОВЛЕННЯ

Всі чудові пропозиції! Я щойно прийшов з роботи, я багато працював!

Про парне програмування:

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

Наскільки добре компанія підготувалася для інженерів:

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

Беручи до уваги, проявляючи активність:

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

Це поширене ?:

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

Я сподіваюся, що незабаром я можу почати вирішувати проблеми / проблеми.

Про рамки / мови, якими вони користуються:

Я був справді чесний з цього приводу, не сказав, що знаю щось, чого насправді не знаю. Але я не сподівався на таке багато різних речей, і оскільки я почав працювати в той день, коли прийняв пропозицію, я не встиг підготуватися.

@Southpaw Заяц, дякую багато за те, що поділився своїм досвідом. Ви абсолютно праві. Немає гарантії, що я буду вивчати всі ці речі, але я намагаюся. Зрештою, важко вивчити весь синтаксис одразу, і я думаю, що це і головна проблема. Оскільки я можу добре орієнтуватися в рубіновому коді, оскільки я знаю цю мову, і я переходжу в js-кодах завдяки інспекторам браузера, але проблема полягає в написанні фактичних кодів з рамками / мовами, яких я не знаю.


Згадавши, як ви занурюєтесь у великі кодові бази? , що там у відповідях не стосується вашої справи?
гнат

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

@kevincline, якщо він поєднується як новий розробник, він повинен переконатися, що він є на клавіатурі, інакше це буде дуже погана настройка пари ...
Джиммі Хоффа

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

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

Відповіді:


10

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

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

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


1
Кілька місяців не рідкість для складних, великих (1 мільйон + SLOC), тим більше, що домен також є нішевим та / або складним.
mattnz

1
+1: Деякі компанії мають наставників, призначених для нових найм, незалежно від того, який досвід вони мають саме з цих причин. Я завжди присмоктався до людини, яка сидить поруч зі мною, яка готова допомогти, і задаю їм ТОННИ запитань - і тоді я відкрито сутеню їх до мого / їхнього менеджера, коли вони допомагають.
Стівен Еверс

@mattnz Так. Кілька місяців - це лише багато тижнів. ;)
Рейн Генріхс

5

Це нормально?

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

Як керівник команди, я очікую, що ви не будете робити нічого ефективно протягом 1 (двох тижнів) спринту і працювати на ~ 50% для наступних 1-2 спринтів.


2

Я працював у компанії, яка володіла лише 2-3 мовами, але минуло більше року, перш ніж програмістів відпустили на базі коду, ймовірно, за 1 або 2 місяці до того, як вони здійснили свій перший рядок код.

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


1

Це дійсно залежить від роботи, яку ви виконуєте, і ролі, яку ви виконуєте.

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

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

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


0

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

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

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


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