Чи є спосіб швидше вирішувати помилки? У мене щойно було попередження від мого начальника [закрито]


129

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

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

Я фактично був програмістом близько 10 років. Але це моя перша багатопотокова робота з вбудованим Linux - я тут вже 2 роки, і всім очевидно, що я все ще борюся. І я думаю, що я став настільки деморалізованим і відчуваю себе настільки маргіналізованим, що втратив багато вогню, який мав на початку роботи.

Хтось коли-небудь потрапляв у подібну ситуацію і як ви ставитеся до підвищення рівня виправлення помилок?


Оновлення: у мене був огляд. Мене поклали на тримісячну програму розвитку співробітників (такого типу, який згадував Данк). Не впевнений, чи можу я це перевернути. Але навіть якщо мені доведеться рухатись далі, я багато чого навчився з цього досвіду.

Ще одне оновлення

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

Ще одне оновлення

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


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

13
Програмування технічного обслуговування вимагає певного типу людини. Можливо, це просто не твоя справа. Так само новий розвиток потребує ще одного типу людини. Ви говорите про виявлення інструментів / порад / прийомів. Скільки цих інструментів ви створили для власного використання? Якщо відповідь є жодною, то я дійсно думаю, що ви не тип програмування з обслуговування. Якщо ви перемішалися між декількома проектами через недостатню ефективність, то прийміть це як чітке повідомлення про те, що ви не кваліфіковані для займаної посади. Знайдіть щось більш підходяще для вас.
Данк

40
Якщо вам доведеться здогадуватися, що вас пересувають через вашу ефективність, керівництво робить щось не так. Так само, якщо перший, коли ви почуєте про свою неефективність, через 2 роки, керівництво робить щось не так.
Майкл Шоу

32
@Bee: Зазвичай, коли хтось отримує поганий відгук, пора піти. Вони можуть поставити вас на "програму розвитку співробітників", але я не думаю, що я коли-небудь бачив, щоб хтось одужав, як тільки потрапив на цю стадію. Найпростіший час знайти роботу - це коли ти вже маєш її. Тож якби я був на тобі, я би дуже скоро оновив своє резюме і почав шукати в іншому місці. Ви також повинні бути дуже обережні з типом роботи, яку ви берете. 7 років досвіду все ще залишає варіанти. Як тільки ви потрапите на 10, компанії збираються очікувати досвіду в певних сферах. Оберіть ділянку, яка вам подобається, і ви добре в ній. На жаль, ви вже потрапили на 10.
Данк

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

Відповіді:


80

Багато відповідей ставлять під сумнів методи / тактику / метрику вашого начальника / тощо. Але це поруч. Можливо, ви повільні. Кожна кімната розробників повинна мати ОДНО, що повільніше, ніж решта, правда? (Це просто пряма теорія множин.) Тож припустимо, що це ти. Відповідь: ЧОМУ ви повільні? (Очевидно, що це питання, на яке ви повинні відповісти, перш ніж ви зможете вирішити заявлене питання про те, як швидше.)

Причини можуть бути всілякі, але ось кілька можливих пояснень:

  1. Ви менш розумні, ніж вони . Це можливо, правда? (Дослідження показали, що ми ВСІ є менш популярними , менш цікавими та (з цього випливаємо) менш розумними, ніж наші друзі.) Тож, можливо, ви просто повільні. Потім, знову ж таки, у вашому випадку я думаю, що це малоймовірно. Швидкий огляд вашого профілю StackOverflow показує, що у вас є історія запитань інтелектуальних питань на широкий спектр тем. Тож ти, очевидно, мислитель і, мабуть, хороший у цьому.

  2. Ти занадто худий. Той самий ваш профіль SO показує, що ваші запитання охоплюють дуже широку гаму технологій за останні 2 роки (графіка, веб, python, c ++, c, linux, вбудовані, нитки, розетки тощо). Особисто я знаю, що коли я потрапив у ситуацію, коли я маю (або бажаю) заглибитися у безліч різних потоків, я виявляю, що плаваючий струм дуже швидко (або, вірніше, дуже повільно ). Можливо, тут вам дійсно потрібно Фокус . І може бути здоровою дозою пріоритетності . Чи все-таки ви можете віднести менш важливі горщики до задньої конфорки і підняти тепло на основній посуді?

  3. Вам не весело. Коли пожежа згасає, паровій машині судилося сповільнитись. Ви зізналися на своєму посту, що останнім часом ваш моральний дух постраждав від серйозного удару. На жаль, ви проковтнули в всмоктуючий вихор самопідсилюючих негативних гармонік - силу, яка може зруйнувати мости . Це надто знайома спіраль: важке завдання -> стрес -> пропущений термін -> більше стресу -> поганий механізм подолання -> більше стресу -> зволікання -> більше пропущених термінів -> критика / плітки (реальна чи уявна) - > ще більше стресу. Ви отримуєте картину. Це рідко призводить кудись корисно. Візьміть урок з моїх днів по рафтингу з білої води: Коли ви засмоктуєтеся під водою циркулюючим струмом на зворотному боці швидкого класу-4, ваш рятувальний жилет НЕбуй вас назад на поверхню. Найкраща стратегія (хоч і не інтуїтивна) - знайти дно річки та вийти з ріптиду. Тож моя порада вам: знайдіть землю , чувак, (друзі, церква, нові здорові звички тощо) і скористайтеся нею, щоб перенести себе з вир.

  4. Ви не у своїй зоні. Майкл Джордан зробив досить кульгавого бейсболіста. (Гаразд, він все ще був кращий за мене, але, безумовно, мінор.) Можливо, "багатопотоковий вбудований Linux" просто не ваш концерт. Але розробка програмного забезпечення - надзвичайно широке поле (як ви добре знаєте; див. №2 вище). Чи достатньо широка ваша компанія, щоб ви могли знайти іншу нішу? На моїй останній роботі мене найняли як вбудовану розробнику SW. (У мене не було досвіду в цій царині, але я сказав їм, що я "швидкий вчитель".) Я швидко затонув, як камінь. Але я продовжував працювати наполегливо і постійно шукав проблеми , які я зробивзнати, як їх вирішити. Як виявилося, я поступово зміг перейти до нових обов'язків, на яких я міг сяяти, і за що я зрештою отримав значну похвалу. Тож, можливо, вам доведеться ребрендувати себе.

Справа в тому, що якщо ви повільні, є причина. Але, ей - ти програмний інженер, чувак! Налагоджуйте себе!


2
яка геніальна відповідь. я думаю , що всі ваші точки застосовні до мене (і про # 1, а , можливо , я буду менше розумний, я чув , що є різні типи інтелекту -. Тому , можливо , що пов'язано з # 4 може бути , я дурень Embedded Linux DEV але, можливо, мені краще в веб-речах ... і зараз я думаю про це, це насправді може бути реалістичним). все одно - ти дуже сприйнятливий.
BeeBand

14
3 та 4 є більшими (для програмістів), ніж більшість начальників може собі уявити. Якщо у програміста низький рівень моралі, він / вона не може зосередитися на роботі. Для програміста мораль - це імпульс, а імпульс - це все.
TimG

7
Відмінна відповідь. Налагодити себе - чудова фраза, btw. Мені б хотілося, щоб я вдруге обрав вас за це.
Kyeotic

2
Ваш пункт "це випливає" не працює в пункті 1, оскільки парадокс дружби моделює відносини між двома людьми як простий двосторонній край між двома вершинами в графі, тоді як графік того, хто "розумніший", ніж кому доведеться вважати величезна кількість інших факторів, не кажучи вже про те, що правила транзитивності не застосовуються. Я погоджуюсь з пунктами 2,3 та 4. У випадку з ОП я думаю, що його начальник є душем-мішком, який страждає від ефекту «чудо-круегер».
funkymushroom

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

56

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

Давайте подивимось на кілька причин, через які ваш начальник може зараз це виховувати:

Культура та політика

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

Здатність

Цілком можливо, що здібності не дорівнюють, як ви кажете, він відкрито заявив. Ось що я зробив би в цій ситуації:

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

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

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


2
це чудова відповідь. У мене є кілька думок зробити, чому я не насолоджуюся цією роботою. В основному це файли журналів, які вони дають нам, щоб супроводжувати помилку, я прийшов, щоб ненавидіти їх більше, ніж будь-хто інший - я починаю завжди повністю і зовсім в темряві з будь-якої помилки, яку вони мені дають. Я думаю, що саме таке «в темряві» почуття ненавиджу.
BeeBand

4
Якщо хтось не стикався з подібним питанням у тому самому проекті, більшість людей починають "у темряві", коли отримують нову помилку. Тоді, виходячи з симптомів, ви з'ясовуєте, як відтворити проблему, яка повинна дати ідеї, з чого почати здогадуватися про причину проблеми. Ви продовжуєте крок за кроком. Нічого магічного, нічого ненавидіти. Ви кажете, що ненавидите файли журналів. Чи створили ви будь-які інструменти для автоматизації аналізу цих файлів журналу? Ігноруючи той факт, що файли журналів повинні бути корисними, якби вони не були, не задовго я створив інструмент, який допоможе проаналізувати їх для мене.
Данк

1
@Dunk так, я створив інструмент для розбору файлів журналів різними способами. Згодом я з’ясував, що хтось уже створив рік або близько того.
BeeBand

@Bee: Ваш інструмент для створення показує певну ініціативу. Хіба ніхто не дає вам огляду середовища розвитку при переході між проектами? Якщо інструменти існують, то, певно, здавалося б, керівник проекту мав би повідомити про них.
Данк

@ Оцінка повторного огляду - ні. Перший керівник моєї команди показав мені певний інструмент - але не вказав, що він корисний для виправлення помилок конкретного виду або що він може переводити на інші проекти. Коли мене перевели на цей новий проект технічного обслуговування, ніхто не розмовляв зі мною через середовище розробників - мені просто довелося розпитуватись. Лише після того, як намагалися створити власний інструмент, я попросив колегу, і він згадав, як я можу використовувати оригінальний інструмент. (Примітка: це інший інструмент, ніж мій попередній коментар).
BeeBand

38

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

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

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

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

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

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

Краще рухатися далі, ніж працювати, що руйнує ваше життя.


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

31

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

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

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

Він хоче поговорити зі мною про те, чому я так повільно і чому мій рівень виправлення помилок такий низький.

Ця вина дуже неоднозначна. Жодна сторона партії не може стверджувати, що інша є неправильною. Вам знадобився місяць, щоб виправити одну помилку. І що! Це ставить вас в оборонну позицію, викладаючи факти, які підтверджують ваше твердження, що потрібен місяць. Враховуючи вашу чинну майстерність, досвід та знання як фактори. Як роботодавець це робота роботодавця керувати часом та зусиллями своїх працівників. Роботодавцем має бути особа, яка бере участь у ризику, пов’язаному із виправленням помилок. Не працівник. У нього завжди був вибір призначити помилку комусь іншому.

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

Чи неправильно роботодавець скаржитися на те, що ви забираєте занадто довго? Абсолютно ні, але він не може притягнути вас до відповідальності за це, і він не може звільнити вас за це. Він може сказати вам "У нас немає більше помилок, які вимагають ваших навичок, і вас відправляють у відпустку", але вони повинні повідомити вам, коли з'явиться нова проблема, яку ви можете виправити. В іншому випадку вони повинні припинитися з відстороненням. Що він не може зробити, це дати вам роботу, яку ви не можете впоратися, а потім скаржитися на це. Я думаю, що це незаконно.

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

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

Я фактично був програмістом близько 10 років. Але це моя перша багатопотокова робота з вбудованим Linux - я тут вже 2 роки, і всім очевидно, що я все ще борюся.

Тому я думаю, що ви опинилися в середині конструктивного звільнення. Вони із вами не задоволені, тому вони накидають на вас лайно, поки ви не підете.

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

Роботодавець несе відповідальність за забезпечення безпечного та позитивного робочого середовища. Без додаткової інформації (швидше за все особистої) стороннім людям складно сказати, що тут насправді відбувається. Попросіть адвоката з працевлаштування на безкоштовну консультацію. Вони зможуть сказати вам, чи граєте ви.

Список літератури

Я не юрист, але чи зробив Google деякі документи, які обговорювали тему конструктивного звільнення, які варто прочитати, перш ніж ви ввійдете в свій огляд у понеділок. Основний момент тут - стежити за зниженням зарплати, приниженням і раптовими змінами у кар’єрі з компанією.

Відповідні факти слідкуйте за:

  • Недостатня підтримка працівника під час складних умов праці
  • Надмірна дисциплінованість працівника Накладення зміни місця роботи працівників за короткий термін
  • Накладення зменшення зарплати чи заробітної плати

Юридичні питання та відповіді: конструктивне звільнення

Причини вимагати конструктивного звільнення

Вікіпедія

елементи конструктивного звільнення


11
Це не заборонено давати негативні відгуки продуктивності, але вони дійсно повинні бути об'єктивними і узгодити можливі критерії для роботи і підтримати вас.
pjc50

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

9
Я проголосував, оскільки не бачу доказів, що ви юрист і претендуєте на надання юридичних порад. Крім того, якщо інші працівники виправляють помилки X в середньому на місяць, але ОП фіксує X / 10, це абсолютно об'єктивно і розумно.
Енді

7
@Andy дякую за те, що ви поділилися, чому ви відмовились. Я погоджуюсь, що коефіцієнт виправлення помилок - це показник, але те, що об'єктивно сказати комусь у п’ятницю, що вони мають негативний відгук наступного понеділка. Окрім того, як тактично змусити їх попотіти його у вихідні дні. Чи не безпечно припустити, що бажаним результатом буде те, що працівник не з’явиться в понеділок на огляд? Хіба це не кваліфікується як конструктивне звільнення? Я сподіваюсь, що я можу змінити вашу точку зору, адже конструктивне звільнення є актуальною проблемою в нашій галузі.
Реакційний

7
Ні в якому разі суддя не визнає, що це конструктивне звільнення. Ви можете підгрібати та похитати букву закону, але такий вид закону є у випадках, коли працівника зазнають утисків чи зловживань, активно ворожа ситуація. Виходячи з того, що говорить ОП, їм було повідомлено, що вони отримують негативний огляд, оскільки він / учасник не прив'язується до однолітків, наскільки частота виправлення помилок; це складна ситуація, але навряд чи ворожа і, звичайно, не є незаконною. Можливо, начальник міг бути більш тактовним, але відгуки не повинні обмежуватися офіційними оглядами виступу
пдуб

26

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

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

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

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

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


3
Це фантастична відповідь. Я дуже вражений.
Даніель Холлінрак

26

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

Що ви можете з цим зробити?

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

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

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

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


4
"Налагодження вдвічі складніше, ніж написання коду в першу чергу." - Брайан Керніган (батько C, UNIX)
TimG

4
@TimG: Як і кожен інший програміст, Керніган недооцінював труднощі.
mu занадто короткий

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

12

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

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

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


2
ended up getting micromanaged until I was terminated- Ну, я щойно переглянув ваш профіль SO, і ви чітко відхилилися від цього, тому я вважаю, що ваша відповідь чує. Я збираюся поговорити про ваш перший пункт у понеділок - я отримую помилки з дуже різних районів.
BeeBand

10

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

У будь-якому разі, щодо налагодження багатопотокового коду: ви не згадали, чи це ваш код, чи чужий код. Існують нові відладчики та статичні аналізатори, які здатні впоратися з одночасністю. Але на самому справі, знаючи модель буде вашим кращим вибором , так як ви будете знати , що шукати.

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


2
так, це не мій код - це величезна широко розроблена вбудована система, вперше побудована 10 років тому. Я думаю, ти маєш рацію щодо моделей - мені потрібно повернутися до основ.
BeeBand

1
@BeeBand було б добре знати, як у вас справи. Сподіваюсь, справи виходять.
Даніель Холлінрак

10

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


Було б цікаво дізнатися, чи вже це зробив BeeBand. Читаючи коментарі та відповіді, здається, це зовсім недружелюбне середовище.
Даніель Холлінрак

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

8

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

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

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

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

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


7

По-перше, підвищення довіри:

Навіщо страждати? Ви можете легко знайти роботу, де вони вважатимуть вас "богом" лише тому, що ви можете зробити Linux, вбудований у будь-що, незалежно від рівня виправлення помилок.

У будь-якому випадку встановити обмеження на час полювання на клопа неможливо. Полювання на помилок - це безперечно вміння, а ефективність в ньому дуже цінна.

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

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

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

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


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

5

Нещодавно я прочитав книгу « Ефективно працюючи зі спадщинним кодексом», і це додало мені значного підвищення впевненості при вирішенні проблеми в будь-якій кодовій базі.

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

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


Зараз я читаю це за вашою рекомендацією.
BeeBand

3

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

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


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

3

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

Ви професіонал, який багато вклав у свій малий бізнес, а саме на себе.

Ви готові працювати, поки є Союз інтересів, що виганяє вас зі стійки кожного дня.

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

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

Тримайте свою пристрасть, адже це і є ключовим.


2

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

"Але що засмучує, що є певні інструменти / підказки / підказки, про які я дізнався лише після того, як там був півтора року. Мене перемістили з команди в команду (я думаю, тому що я був недостатньо ефективним) і я виявляю ці «приховані» засоби так часто ».

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

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


2

Чого не вистачає в ОП - це будь-яка згадка про повторюваний процес або метод, який застосовується для усунення помилок.

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

Ви можете окреслити процес таким завданням:

  1. Будьте впевнені, що ви точно розумієте, про що йдеться у повідомленні.
  2. Спробуйте відтворити проблему.
  3. Почніть розбивати проблему на більш дрібні шматочки
  4. Подумайте про можливі причини проблеми.
  5. Перевірте ці гіпотези

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

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

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