버그를 더 빨리 해결할 수있는 방법이 있습니까? 방금 상사로부터 경고를 받았습니다. 생각합니다. 비슷한 상황에 처한 사람이 있습니까? 버그

월요일에 상사로부터 부정적인 실적 검토를받을 것이라고 들었습니다. 그는 왜 내가 왜 그렇게 느리고 왜 버그 수정률이 그렇게 낮은 지 이야기하고 싶어합니다.

나는 프로그래밍과 문제 해결을 좋아하지만 실제로 내 직업이 정말 어렵다는 것을 알게된다.

저는 실제로 약 10 년 동안 프로그래머였습니다. 그러나 이것은 첫 번째 멀티 스레딩 임베디드 Linux 작업입니다. 저는 2 년 동안 여기에 있었으며 여전히 어려움을 겪고있는 모든 사람들에게 분명합니다. 그리고 저는 제가 너무 낙담 해져서 소외감을 느끼면서 일을 시작할 때 겪었던 많은 불을 잃어 버렸다고 생각합니다.

비슷한 상황에 처한 사람이 있습니까? 버그 수정률을 높이는 방법은 무엇입니까?


업데이트 : 나는 리뷰를했다. 나는 3 개월의 ‘직원 개발 프로그램'(Dunk에서 언급 한 유형)을 사용했습니다. 내가 이것을 바꿀 수 있는지 확실하지 않습니다. 그러나 계속 나아가 야할지 라도이 경험에서 많은 것을 배웠습니다.

다른 업데이트

첫 번째 검토 이후 약 6 주가되었습니다. 같은 상황에 처한 사람에게 저의 조언은 비판을 받고 실수를 통해 배울 수있을만큼 겸손해야한다는 것입니다. 그리고 멍청 해 보이는 것을 두려워하지 마십시오. 많은 양의 질문을하십시오. 배우려고한다는 것을 사람들에게 알리고 이해할 때까지 계속 물어보십시오. 그러나 운동하지 않도록 준비하십시오. 코드 포트폴리오를 구축하고 최상의 기회를 제공합니다.

또 다른 업데이트

나는 미래의 고용주를 내 스택 오버 플로우 프로파일로 참조 할 수 없을지 걱정하기 때문에 이것을 여기에 넣는 것을 주저합니다 … 그러나 어쨌든이 질문을 읽는 사람에게는 관심이있을 수 있지만 실제로는 몇 주 전에 일 했어 나는 필요한 모든 기술을 연마하는 중입니다-여기에 제공된 조언에서 많은 것을 얻었습니다.



답변

많은 답변들이 상사의 방법 / 전술 / 메트릭 / 등에 의문을 제기했습니다. 그러나 그것은 요점 옆에 있습니다. 아마 당신은 느리다. 개발자의 모든 방에는 나머지 방보다 느린 방이 하나 있어야합니다. (이것은 똑바로 설정되는 이론입니다.) 그래서 당신이라고 가정합시다. 답은 왜 느린가요? (확실히하는 방법에 대해 명시된 질문을 풀기 전에 반드시 대답해야하는 질문입니다.)

여러 가지 이유가있을 수 있지만 여기 에 고려해야 할가지 설명이 있습니다.

  1. 당신은 그들보다 덜 똑똑 합니다. 가능합니까? (학생들은 우리 모두 가 우리의 친구들보다 덜 인기 있고, 덜 흥미롭고 , 덜 똑똑 하다는 것을 보여주었습니다 .) 아마도 당신은 느리게 생각할 것입니다. 그런 다음 다시 귀하의 경우에는 이것이 불가능하다고 생각합니다. StackOverflow 프로필을 한눈에 살펴보면 광범위한 주제에 대한 지능적인 질문을 한 적이 있습니다. 그래서 당신은 분명히 사상가이고 아마도 그것에 좋은 사람 일 것입니다.

  2. 너무 얇게 퍼졌습니다. 당신의 SO 프로필과 마찬가지로 지난 2 년간 그래픽, 웹, 파이썬, C ++, c, 리눅스, 임베디드, 스레드, 소켓 등 다양한 기술이 당신의 질문에 포함되어 있음을 보여줍니다. 개인적으로, 나는이 다른 스트림의 다양한 탐구하는 데 (또는 원하는)의 상황에 넣어 때, 나 자신이 수영을 찾을 것을 알고 최대 전류 정말 빨리 (또는, 오히려 정말 천천히 ). 아마도 여기에 정말로 필요한 것은 FOCUS 입니다. 그리고 아마도 건강한 선량의 우선 순위 . 어쨌든 덜 중요한 냄비를 백 버너로 옮기고 메인 접시의 열을 올릴 수 있습니까?

  3. 재미 없어 화재가 발생하면 증기 엔진이 감속됩니다. 귀하는 귀하의 게시물에서 최근에 사기가 심각하게 타격을 받았다고 인정했습니다. 불행히도 당신은 자기 강화 음성 고조파의 빨라진 소용돌이에 삼 켜져 다리파괴 할 수 있습니다 . 그것은 너무나 익숙한 나선입니다. 어려운 과제-> 스트레스-> 마감일 누락-> 더 많은 스트레스-> 불충분 한 대처 메커니즘-> 더 많은 스트레스-> 지연-> 누락 된 마감일-> 비판 / 가십 (실제 또는 상상)- > 더 많은 스트레스. 당신은 그림을 얻는다. 이것은 거의 유용한 곳이 아닙니다. 급류 래프팅에서 저의 교훈을 얻으십시오. 급류 뒷면의 급류에 의해 수 중에서 빨려 들어 오면 구명 조끼 는 그렇지 않습니다.당신을 다시 표면으로 부표. 가장 직관적 인 전략은 (직관적이지 않지만) 강의 바닥 을 찾아서 물 밖으로 나가는 것 입니다. 그래서 당신에게 나의 충고는 : 어떤 근거 , 친구, (친구, 교회, 건강한 새로운 습관 등)를 찾아서 소용돌이에서 벗어나기 위해 그것을 사용하십시오.

  4. 당신은 당신의 영역에 없습니다. 마이클 조던은 꽤 절름발이 야구 선수를 만들었습니다. (괜찮아, 그는 여전히 나보다 낫지 만, 확실히 미성년자이다.) 아마도 “멀티 스레딩 임베디드 리눅스”는 당신의 공연이 아닐 수도있다. 그러나 소프트웨어 개발은 ​​매우 넓은 분야입니다 (위의 2 번 참조). 회사가 다른 틈새 시장을 찾을 수있을만큼 넓습니까? 마지막 직장에서 저는 임베디드 SW 개발자로 고용되었습니다. (나는 그 분야에서 경험이 없었지만 그들에게 내가 “빠른 학습자”라고 말했다.) 나는 돌처럼 빨리 침몰했다. 그러나 나는 열심히 노력 보관하고 내가 문제를 찾고 유지 했다그들을 해결하는 방법을 알고 있습니다. 결과적으로, 나는 점차 빛을 발할 수있는 새로운 책임으로 옮겨 갈 수 있었으며 결국 상당한 찬사를 받았습니다. 따라서 자신을 다시 브랜드해야 할 수도 있습니다.

요점은 : 당신이 느리다면 이유가 있습니다. 하지만 이봐 . 당신은 소프트웨어 엔지니어 야! 자신을 디버깅!


답변

당신의 상사가 맞을 수도 있습니다 : 당신은 “성능이 부족”할 수도 있습니다 (분 후에 더 자세히). 그러나 그것은 단지 당신의 책임 수준이 아닙니다. 컨트롤 외부의 힘이 스트레스를 유발하여 성능에 부정적인 영향을 미치는 것은 아닙니다.

상사가 지금이 문제를 제기하는 몇 가지 이유를 살펴 보겠습니다.

문화와 정치

상사가 자신의 우려를 표명해야하는 통제 할 수없는 힘이있을 수 있습니다. 작업중인 시스템을 이해하는 것이 중요합니다. 직무는 상사가 멋지게 보이도록하는 것입니다. 그렇게하는 유일한 방법은 자신이받는 압력을 이해하는 것입니다.

능력

그가 공개적으로 말한 것처럼 능력이 최고 수준이 아닐 수도 있습니다. 이 상황에서 내가 할 일은 다음과 같습니다.

가져 오기 특정 피드백 그는 성능을 측정하는 방법에 대한 당신의 상사에서합니다. 사람 X만큼 많은 버그를 끝내지 않습니까? 해결해야 할 일련의 버그가 있습니까? 혼자 일하는 경우 성과를 측정하는 사람들이 선입견을 바탕으로하지 않고 공정하게 측정하고 있는지 확인해야합니다.

성과가 느리고 실제 격차를 기반으로하는 경우 해당 격차를 식별하고이를 마무리하기 위해 상사와 함께 세부 계획을 세우십시오.

이 리뷰는 또한 당신이 행복하지 않다는 사실을 제기 할 수있는 좋은 기회입니다. 이 직업이 마음에 들지 않는다는 것을 확인한 것이 좋습니다. 그러나 왜 그런지 알아 내십시오. 직업의 어떤 부분을 좋아하고 무엇을 좋아하지 않습니까? 이 직업이 당신을위한 것이 아닐 수도 있습니다 …


답변

일부 작업 환경은 작동하지 않습니다. 나는 문서화되지 않은 많은 것들과 질문들이 그토록 낙담했기 때문에 아무도 살아남을 수없는 환경을 보았습니다.

당신이 기대하는 바를 충족시키기 위해 제공되는 기대치와 자원에 대해 당신 자신에게 정직해야합니다. 문제가 아닐 수도 있습니다.

당신은 어려움을 겪지 않지만 5 년 이상 경험이있는 사람들과 비슷한 일을하는 사람들이 있다고 언급합니다. 그들은 당신을 완전히 (이 점에서) 능가하는 록 스타입니까, 아니면 당신과 같은가요? 아마도 그들은 시스템이 더 단순 할 때 시스템을 알게되었을 것입니다. 거기서 어떻게 했어? 당신이 위대한 일을했다면, 그것은 당신에게 무언가를 말해야합니다.

나를 놀라게 한 부분은 당신 이 오는 모든 버그와 관련 하여 어둠 속에 있다고 자신을 묘사하는 것에 관한 것입니다. 코드 기반이 너무 넓고 미지의 경우 기대치가 합리적이지 않을 수 있습니다.

당신이 가지고있는 한 그것을했다는 것은 당신이 옳은 일을했고 당신을 위해 무언가가 있다는 것을 의미합니다.

결론은, 자신과 자신이하는 일에 대해 기분이 좋아야한다는 것입니다. 그리고 그것이 계속 나아가는 것을 의미한다면, 그렇게하십시오.

직업이 인생을 망치게하는 것보다 계속 나아가는 것이 좋습니다.


답변

첫째,이 답변은 퇴직없이 직원을 해고하는 것이 불법 인 특정 지역에만 적용될 수 있습니다. 그건 …

이것은 건설적인 해고 의 경우 일 수 있으며 불법입니다.

전술은 직원이 직장을 그만 둘 때까지 자존감을 낮추고 낮추는 것입니다. 회사가 퇴직금을 지불하거나 직원을 대면하여 해고해야하는 문제를 해결하지 않고도 비용을 절감 할 수있는 방법입니다.

그는 왜 내가 왜 그렇게 느리고 왜 버그 수정률이 그렇게 낮은 지 이야기하고 싶어합니다.

이 결함은 매우 모호합니다. 상대방의 한쪽이 다른 쪽을 잘못이라고 주장하는 것은 불가능합니다. 한 가지 버그를 수정하기 위해 한 달이 걸렸습니다. 그래서 무엇! 이를 통해 한 달이 필요하다는 주장을 뒷받침 할 사실을 제시해야합니다. 현재 기술, 경험 및 지식을 요인으로 고려하십시오. 고용주로서 직원의 시간과 노력을 관리하는 것은 고용주의 직무입니다. 버그 수정과 관련된 위험에 처한 사람이어야합니다. 직원이 아닙니다. 그는 항상 다른 사람에게 버그를 할당하도록 선택했습니다.

계약자 인 경우 계약에서 버그 수정을 담당하는 계약서에 따르면 완전히 다른 이야기입니다.

고용주가 너무 오래 걸린다고 불평하는 것이 잘못입니까? 절대로 그렇지는 않지만, 그는 당신에게 책임을 질 수 없으며, 당신을 해고 할 수 없습니다. “당신의 기술을 필요로하는 버그가 더 이상없고 휴가 중입니다.” 그렇지 않으면, 그들은 퇴직으로 종료해야합니다. 그가 할 수없는 것은 당신이 처리 할 수없는 일을하고 그것에 대해 불평하는 것입니다. 나는 이것이 불법이라고 생각합니다.

나는 프로그래밍과 문제 해결을 좋아하지만 실제로 내 직업이 정말 어렵다는 것을 알게된다.

어려운 직장을 구하는 것과 고용주가 어려운 직장을 구하는 것에는 큰 차이가 있습니다. 회사에서 경력을 쌓지 못하도록 자신에게 할당 된 작업이 수행되었다고 생각되면 이는 불법 일 수 있습니다.

저는 실제로 약 10 년 동안 프로그래머였습니다. 그러나 이것은 첫 번째 멀티 스레딩 임베디드 Linux 작업입니다. 저는 2 년 동안 여기에 있었으며 여전히 어려움을 겪고있는 모든 사람들에게 분명합니다.

이것이 당신이 건설적인 해고의 한가운데서 자신을 발견했다고 생각하는 이유입니다. 그들은 당신과 함께 행복하지 않기 때문에 당신이 떠날 때까지 쓰레기를 쌓습니다.

그리고 저는 제가 너무 낙담 해져서 소외감을 느끼면서 일을 시작할 때 겪었던 많은 불을 잃어 버렸다고 생각합니다.

고용주는 안전하고 긍정적 인 업무 환경을 제공 할 책임이 있습니다. 더 많은 정보 (대부분의 개인 정보)가 없으면 외부인이 실제로 무슨 일이 일어나고 있는지 말하기가 어렵습니다. 무료 상담을 위해 고용 변호사에게 문의하십시오. 그들은 당신이 연주되고 있는지 말할 수 있습니다.

참고 문헌

저는 변호사는 아니지만 월요일에 리뷰를 입력하기 전에 읽을만한 가치가있는 건설적 해고 주제에 대해 Google에서 문서를 작성했습니다. 여기서 중요한 점은 급여, 굴욕감 감소 및 회사 경력의 갑작스런 변화를 주시하는 것입니다.

관련 사실에주의하십시오 :

  • 열악한 근무 환경에서 직원을 제대로 지원하지 못하는 경우
  • 직원에 대한 과도한 징계 직원의 근무지에 짧은 통지로 변경
  • 급여 또는 임금 감면 부과

법적 Q & A : 건설적 해고

건설적인 해고를 주장하는 이유

위키 백과

건설적인 해고의 요소


답변

아마도 당신은 프로젝트의 원래 프로그래머 중 하나와 비교되고있을 것입니다. 내가 작업하는 프로젝트 중 하나의 원래 개발자로서 버그를 수정할 때 엄청난 이점이 있음을 알고 있습니다. 나는 그것이 문서의 부족으로 인한 것이 아니라고 생각합니다. 뇌가 모든 코드를 알고 있기 때문에 잠재적 인 문제로 직관적으로 도약 할 수 있다는 것입니다.

당신이 그것에 비교한다면, 당신은 측정하지 않을 것입니다. 프로젝트 진행 속도를 높이려면 항상 더 많은 시간이 걸리며 잠재적 인 상호 작용 지점이 어디에 있는지 모를 것입니다.

다른 프로그래머가 문제를 해결하기 위해 사용하는 도구와 요령에 대해 알지 못하는 것에 대한 귀하의 의견을 읽었습니다. 다음 버그 수정을 위해서는 아마도 페어 프로그래밍을 시도해야합니다. 이것은 매우 유용 할 수 있습니다. 교대로 키보드를 운전하십시오. 말을 많이하십시오 .

노트북 또는 화이트 보드를 사용하여 기능 경로, 스레드 및 잠금 수명을 차트로 표시하고 다양한 동작을 관찰하는 위치와 새 프로브를 삽입 할 수있는 위치를 표시 할 수 있습니다.

이러한 종류의 저수준 스레딩 문제를 해결하는 것은 정말 어려울 수 있으며 많은 동정심을 가지고 있습니다. 2 줄 문제를 발견하기 전에 몇 기가 바이트의 로그 파일을 분석해야했습니다. 그리고 그거 알아? 나는 그 해에 인턴이었던 하급 엔지니어에게 도움을 요청하기 전에 며칠 동안 응시했으며, 그는 새로운 접근법을 생각해 내고 한 시간 안에 문제를 발견했습니다. 따라서 버그에 시간을 투자 한 후에는 새로운 시각을 가지십시오. 많은 도움이 될 수 있습니다!


답변

이 업계에서 가장 일반적인 관리 기능 장애 중 하나는 디버깅이 본질적으로 어렵다는 것을 이해하지 못하는 것입니다 . 나는 경험이 거의 20 년을있어 나는 여전히 정기적으로 프로그램의 충돌을 쉰 중 1 시간을 만드는 한 줄 실수를 찾는 일주일 보내고있다. 그런 다음 관리자가 이러한 사항을 이해하지 못하면 한 줄의 코드를 변경하는 데 일주일이 걸리는 번거 로움이 있습니다.

그것에 대해 무엇을 할 수 있습니까?

  • 디버깅 할 때 메모하십시오. 항상 편집기 창을 열어두고 의식의 흐름을 적어 두십시오. 당신 외에는 누구에게도 의미가 없습니다. 이 방법을 사용하면 더 빨리 디버깅하는 데 도움이 될 수 있지만 일주일 내내 Nethack을하지 않았다는 것을 보여줄 수있는 구체적인 내용이 있습니다.

  • 모든 동료와 메모를 비교하십시오. 일반적으로 버그를 수정하는 데 시간이 얼마나 걸립니까? 버그는 수정되어 있습니까? 그들은 한 번의 작은 일을 얼마나 자주 바꾸고 계단식 결과에 묻혀 있는가? 이 질문에 대한 답변 은 나머지 부서와 비교하여 실제로 어려움을 겪고 있는지 여부를 알 수 있습니다 .

  • 품질 관리 담당자 및 고객 지원 담당자와 친구가 되십시오. 버그가 얼마나 중요한지 잘 알고있는 사람입니다 . 버그가 얼마나 어려운지 와 거의 상관 관계가없는 경우가 많으므로 시스템을 약간 게임하여 중요도가 높고 난이도가 낮은 모든 버그를 할당 할 수 있습니다. (이것은 실제로 부정 행위가 아닙니다. 잘 조직 된 팀은 항상 그 버그를 먼저 따릅니다.)

  • 만약 당신의 상사가 2 년 동안 당신의 공연에 대한 적절한 피드백을 제공하지 않았다면, 그것은 먼저이 성과 검토를 시작한 다음, 그에 대한 대안을 얻었을 때 상사의 상사와 함께 제기하는 문제입니다. 예의 바르게 행동하십시오. 특히 그들이 당신에게 얼마나 화를 내는지 알려주지 말고 서면으로 구체적인 비판을 받으십시오.


답변

프로그래밍과 문제 해결이 마음에 들지만 배우는 내용을 다른 분야에 얼마나 잘 적용하고 있는지에 대한 질문이있을 수 있습니다. 마지막으로 수정 한 수십 개의 버그 중 하나를 수정하는 데 도움이 된 버그가 다른 버그에 유용합니까? 이것은 당신이 한 일과 그 일을하는 데 얼마나 오래 걸 렸는지 되돌아 보는 것의 일부입니다. 고려해야 할 아이디어.

둘째, 나는 당신이 어떻게 일을하는지 살펴볼 것입니다. 정기적으로 중단되므로 버그 A를 수정하려고 할 때 버그 B와 C가 우선 순위가 높다는 메시지가 나타납니다. 상사가 알고 싶어하는 일의 일부일 수 있으므로 작업 수행 방식에 어떤 종류의 변경 사항이 도움이 될지 신중하게 고려하십시오.

나는 몇 곳의 직장에서 그들이 내 일을 끝내는 데 시간이 오래 걸리지 않았다고 말합니다. 코스는 내가 한 가지 일을하면 5 개의 새로운 것이 내 무릎에 떨어질 것이므로 압도하기 쉬운 곳이었습니다. 더 이상 그곳에서 일하지 않을 수도 있지만, 한 번에 1,000 가지를 마스터하려고한다고 느끼지 않도록 몇 가지 사항에주의를 기울이는 방법에 대한 좋은 해결책이 없었습니다. 내가해야 할 몇 가지 중요한 일과 내 작업이 어떻게 판단되는지 알 수 있다면, 마일이 길고 “누구나 할 일”목록을 갖고있는 경우보다 훨씬 낫습니다. 그것의 일부. 따라서 조직 내부에 문화적 요소가있을 수 있지만 여기서 변경해야 할 사항에주의해야합니다.