새로운 회사에서 코딩을 시작하는 데 필요한 시간 [닫기]


12

저는 4 년 동안 소프트웨어 엔지니어이며 회사를 처음으로 바꿨습니다.

회사는 페어 프로그래밍으로 작업하고 3 일이 지났으며 한 줄의 코드조차 작성할 수 없었습니다. 이전 회사에서 생산성이 높았 기 때문에 정말 실망 스럽습니다.

코드베이스는 크며 rspec, haml, jasmine 및 기타와 같이 익숙하지 않은 5-6 개 언어 / 도구를 사용하고 있습니다. 그러나 여전히, 나는 끔찍한 느낌이 든다.

이번 주말에는 응용 프로그램에 대한 이해를 돕기 위해 UML을 만들었지 만 이번 주에는 괜찮은 양의 코드를 작성할 수 없을 것 같습니다.

이것이 정상입니까?

직업을 바꿀 때의 경험은 무엇이며 익숙하지 않은 언어 / 라이브러리로 작성된 큰 코드베이스로 뛰어들 수 있습니다.

물론 정확한 시간을 요구하지는 않지만 과거의 경험이나 프로세스를 만드는 것이 좋을 것입니다.

Btw, 나는 이미 아래의 질문 및 답변을 읽었 습니다. 대규모 코드베이스로 어떻게 뛰어들습니까?

/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 Hare, 경험을 공유해 주셔서 감사합니다. 너가 확실히 맞아. 이 모든 것들을 배우겠다고 보장 할 수는 없지만 노력하고 있습니다. 결국 모든 구문을 한 번에 배우기가 어렵고, 이것이 주요한 문제라고 생각합니다. 그 언어를 알고 있기 때문에 루비 코드로 잘 탐색 할 수 있고 브라우저 검사기 덕분에 js 코드로 탐색 할 수 있지만 문제는 내가 모르는 프레임 워크 / 언어로 실제 코드를 작성하는 것입니다.


당신은 큰 코드 기반으로 어떻게 뛰어들 었는가 를 언급했기 때문에 ? , 귀하의 사례를 다루지 않는 답변에는 무엇이 있습니까?
gnat

3
페어 프로그래밍이므로 생산성을 높이기 위해 코드를 작성할 필요가 없습니다. 다른 사람이 코드를 작성하는 것을 관찰하면 매우 유용 할 수 있습니다. 곧 당신은 코드를 직접 작성하기 시작할만큼 충분히 알게 될 것입니다.
kevin cline

@kevincline 만약 그가 새로운 개발자로 짝을 짓고 있다면, 키보드에있는 사람이 되어야만합니다. 그렇지 않으면 꽤 나쁜 짝 설정일 것입니다.
Jimmy Hoffa

이것이 회사가 일하는 방식이라면 실제로 선택의 여지가 없습니다. 때가 오면 그들이 무엇을 기대하는지 알고 있는지 확인하십시오. 질문. 피드백을받습니다. 조심하지 않으면 많은 시간을 낭비 할 수 있습니다.
JeffO

@JimmyHoffa, 나는 그것이 나에게 더 좋을 것이라는 것을 알고 있지만, 그 경우에는 동료를 많이 늦출 것입니다. 모든 구문, 편집해야하는 실제 파일, 데이터 모델 등을 요구해야하므로 피어 속도가 느려집니다.
Robert Johnson

답변:


10

이것은 시스템의 복잡성과 조직이 새로운 프로그래머를 얼마나 잘 준비시킬 수 있는지에 달려 있습니다. 30 분에서 몇 주까지 걸릴 수 있습니다. 반드시 당신이 잘못하고있는 것이 아니며 나쁜 기분을 느끼지 않아야합니다.

그러나해야 할 일은 자신과 다른 사람을 위해 수정하는 데 적극적입니다. 관리자에게 좌절에 대해 알리고이를 극복하고 다른 신입 사원의 프로세스를 개선하기 위해 함께 노력하십시오.

어려움을 겪고있는 것에 대한 메모를 작성하고 문제를 해결하거나 해결하는 방법을 브레인 스토밍하고 프로세스를 문서화하십시오. 진행 상황에 대해 최신 정보를 얻을 수있는 다른 사람들을 유지하고 도움을 청하십시오. 도움을 요청하는 것은 부끄러운 일이 없습니다.


1
복잡한, 대규모 (1 백만 + SLOC)의 경우 여러 달이 흔하지 않으며, 특히 도메인도 틈새 및 / 또는 복잡합니다.
mattnz

1
+1 : 일부 회사는 이러한 이유로 인해 경험이 얼마나 많은지에 관계없이 멘토가 신입 사원에게 배정되었습니다. 나는 항상 나와 가장 가까이있는 사람을 도와주고 기꺼이 질문을합니다. 그런 다음 도움을받을 때 관리자에게 공개적으로 포주합니다.
Steven Evers

@mattnz p. 몇 달은 몇 주일 밖에 걸리지 않습니다. ;)
Rein Henrichs

5

이것이 정상입니까?

대부분의 코드베이스는 그렇습니다. 우리 회사에서는 컴퓨터를 만지기 전에 2 일 동안 HR과 회의를하고 있습니다. 그것은 이상적이지만 개발 환경을 설정하고 도메인, 코드 구조, 팀 규범에 대해 모호하게 익숙해지는 데 걸리는 시간을 고려하십시오 ...

팀장으로서, 당신은 1 (2 주) 스프린트에 대해 아무 것도 효과적으로하지 않을 것이며 다음 1-2 스프린트에 대해 ~ 50 %에서 일하기를 기대합니다.


2

다른 극단으로 스윙 .. 2-3 개 언어를 사용하는 회사에서 근무했지만 프로그래머가 코드베이스에서 느슨해지기까지 1 년이 더 걸렸습니다. 암호.

이 플랫폼에 대한 지식 부족에 대한 인터뷰에서 정직하다면 자신이 무엇을 받아들이고 있는지 알았습니다. 시간과 시간을 늘리거나, 짧게 또는 압축 할 수 없으며, 최대한 활용해야합니다.


1

그것은 실제로 당신이하고있는 일과 당신의 역할에 달려 있습니다.

계약 기반 작업을 수행하는 경우 작업을 완료하기 위해 모든 기술을 사용하여 그대로 사용할 수 있습니다. 계약 업무는 일반적으로 잘 정의되어 있으며 적어도 내 경험으로는 (보통)이 작업을 수행 할 수 있습니다.

다른 한편으로, 나는 거대한 학습 곡선을 가진 거대한 레거시 코드베이스가있는 한 곳에서 시작했습니다. 우리는 처음 6 개월 동안 프로덕션 코드를 작성하지 않을 것으로 예상되었습니다.

인내심을 가지고 가능한 한 많이 흡수하고 코딩을 시작할 때 실용적으로 활용하십시오. 입원 환자이거나 급한 환자라면 그러한 큰 시스템에서 특히 시험 범위가 훌륭하지 않은 경우 무언가를 깨뜨릴 수 있습니다.


0

너무 익숙하지 않은 무언가에 익숙해지기 위해서는 어느 정도 시간이 절대적으로 정상입니다. 나는 자신을 비난하거나 기분 나쁘게 느끼지 않을 것입니다. 그러나이 직무가 스킬 셋에 속하지 않을 가능성을 기꺼이 받아들이는 것이 중요합니다. 반드시 그런 것은 아니며, 가능성을 마음에 열어 두는 것만으로도 가치가 있습니다.

코드베이스 크기에는 문제가 없지만 관련 언어를 모르는 경우가 있습니다. 개인적인 경험을 통해 한 회사에서 광범위한 코드베이스에서 사용되는 언어를 몰랐습니다. 불행히도, 나는 5 개월 정도 지나면 이것을 충분히 배울 수 없었고 대신 다른 회사로 갔다. 거기에서 나는 1 차 언어에 능숙했고, 코드베이스 크기가 비슷 함에도 불구하고 꽤 잘 해냈습니다.

새로운 언어를 배우는 데있어서 사람들은 보통 그것이 실제보다 쉽다고 생각하고 빠르게 학습 표준을 고수합니다. 생각보다 시간이 오래 걸릴 수 있으므로 결정한 내용에 관계없이 명심하십시오.


2
어떤 사람들은 그것이 실제보다 어렵다고 생각합니다. 종종 재능보다는 자신감으로 귀결됩니다.
ChaosPandion
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.