첫 번째 개발자 작업에서 직면할 수 있는 4가지 문제와 이를 극복하는 방법

소스 노드 : 1384504

축하합니다! 여러 차례의 인터뷰를 마치고 첫 번째 주니어 개발자 직업을 얻었습니다! 개발자 경력 경로의 새롭고 흥미로운 시작이지만 첫 번째 개발자 직업에서 상당한 도전과제에 직면하게 될 것입니다.

이 기사에서는 주니어 개발자가 첫 번째 개발자 작업에서 직면하는 XNUMX가지 일반적인 문제와 이를 극복하는 방법에 대해 이야기할 것입니다. 또한 이러한 문제를 극복하고 이를 통해 다른 개발자에게 멘토링을 제공한 선임 개발자의 조언도 포함했습니다.

익숙하지 않은 기술로 작업해야 합니다.

개발자 우선 취업 챌린지

도전

귀하는 JavaScript 기술을 기반으로 인터뷰 및 고용되었지만 작업을 시작한 지 며칠 만에 작업에 필요한 코드의 일부에만 익숙하다는 것을 깨닫게 됩니다. 익숙하지 않은 라이브러리와 언어가 혼합되어 있습니다. 모든 코드가 JavaScript이지만 그 중 많은 부분이 기술 범위를 벗어납니다. 스트레스가 쌓이고 자신이 충분히 괜찮은지, 이 일을 잘할 수 있는지 궁금해지기 시작합니다.

그것을 극복하는 방법

사기꾼 증후군은 매우 실제처럼 느껴질 수 있습니다. 그러나 모든 인터뷰를 통과하고 일자리를 얻었을 때 고용 관리자는 귀하의 기술(및 소프트) 기술을 철저히 평가하고 귀하가 해당 직책에 적합하다고 결정했습니다. 팀과 관리자는 주니어 개발자인 귀하가 팀에서 사용하는 모든 기술에 익숙할 것으로 기대하지 않습니다. 그러나 그들은 당신이 새로운 기술을 배우고 습득할 수 있기를 기대합니다.

익숙하지 않은 기술이나 라이브러리를 만났을 때 가장 먼저 할 일은 문서를 찾아 읽는 것입니다. "도서관에 대해 얼마나 낯설더라도 최소한 도서관이 어떻게 작동하는지 이해할 수 있을 것입니다."라고 말합니다. 조니 비자우, 경험이 풍부한 멘토. 이렇게 하면 기술에 대한 개요가 제공되고 어디서부터 시작해야 하는지 쉽게 알 수 있습니다.

불행히도 일부 라이브러리와 모듈에는 좋은 문서가 없습니다. 이 문제를 해결할 수 있는 방법이 아직 있습니다. 한 가지 방법은 사람들이 동일한 라이브러리를 사용하여 구축한 유사한 오픈 소스 프로젝트를 살펴보고 그 과정에서 질문을 하고 스스로 알아내려고 노력하는 것입니다. 그러나 이것은 꽤 시간이 걸릴 수 있습니다.

작업 속도를 높이려면 팀의 선임 개발자와 협력하거나 팀에 아무도 없는 경우 멘토 배워야 할 기술에 대해 잘 알고 있는 사람입니다. 그들은 당신의 직업에 필요한 가장 중요한 부분을 안내함으로써 당신의 학습을 빠르게 추적할 수 있을 것입니다. 또한 현재 기술이 익숙해져야 하는 새로운 기술이나 라이브러리에 어떻게 부합하는지 식별하고 이 목표를 달성하기 위해 학습을 맞춤화할 수 있습니다.

기존 회사 코드에 맞는 코드를 작성하는 데 어려움을 겪습니다.

도전

에 대한 풀 리퀘스트를 열었습니다. 코드 검토 그것에 대해 꽤 자신감을 느낍니다. 하지만 셀 수 있는 것보다 더 많은 댓글과 함께 반환됩니다. 귀하의 코드가 회사의 기존 코드베이스와 호환되지 않는 것으로 나타났습니다. 자신만만했던 코드에 대한 비판에 낙담하고 있습니다.

그것을 극복하는 방법

이것은 개발자가 연공서열에 관계없이 확립된 규칙을 가진 새 팀에 합류할 때 직면하는 일반적인 문제입니다. 그러나 시니어 개발자는 수년에 걸쳐 더 많은 경험을 축적했으며 일반적으로 이러한 종류의 도전에 더 많이 준비되어 있습니다.

이상적인 세상에서 회사는 귀하의 코딩 스타일이 팀의 스타일과 일치하는지 확인하기 위해 검토하고 따를 수 있는 완전한 코드 스타일 가이드를 갖게 됩니다. 그러나 실제로 모든 회사에 포괄적인 문서가 있는 것은 아닙니다.

회사에 스타일 가이드가 있는지 여부에 관계없이 거의 모든 멘토는 주니어 개발자가 이러한 상황에 직면했을 때 어떤 조언을 해줄 것인지 물었을 때 같은 대답을 했습니다. 바로 질문하십시오.

"후배들에게 가장 큰 장애물은 기술과 자신감의 부족 외에도 의사 소통 능력이 부족하고 올바른 질문을 할 수 없다는 것입니다. 왜냐하면 그들이 나쁘게 보일까봐 두려워하기 때문입니다." – 도미닉 사이퍼트, Codementor의 멘토

제품 및 코드베이스에 대해 더 많은 경험이 있는 개발자에게 많은 (관련) 질문과 주의할 사항을 물어보십시오. 질문을 하면 이해하지 못하는 내용을 공유하고 다른 개발자에게 어떻게 하면 더 효과적으로 작업을 진행할 수 있는지 알릴 수 있습니다.

그런 다음 한 단계 더 나아가 결과와 결과를 문서화하십시오. 이 증가하는 문서는 다시 참조할 수 있고 누락된 스타일 가이드의 시작일 수도 있습니다(팀과 관리자로부터 보너스 점수를 받을 수 있음)!

동시에 다른 사람의 시간을 염두에 두고 존중하십시오. 팀원이 기꺼이 도와주더라도 수행해야 할 시간과 책임이 제한되어 있습니다. 올바른 질문을 하고 있는지 확인하는 것 외에도 다른 우선 순위는 “가능한 한 빨리 더 독립적이 되되 서두르지는 마십시오. 예를 들어 30분 동안 갇혀 있으면 도움을 요청하십시오.” 브래들리 컬리, 경험이 풍부한 멘토. "요약하자면: 도움을 구하되, 가능한 한 빨리 더 독립적이 되십시오.. 혼자서는 할 수 없을 것입니다.”

코드 스타일이 어떻게 생겼는지 이해하기 시작했다면 다음과 같은 도구를 사용하여 코딩 프로세스를 간소화할 수도 있습니다. ESLint,” 제안 조니, "규칙에 따라 코드를 자동화하고 형식을 지정"할 수 있기 때문입니다.

당신은 프로젝트 방향의 부족에 좌절

개발자 문제

도전

특정 기능을 코딩하는 데 몇 시간을 보냈지만 다음 회의에서 프로젝트가 새로운 방향으로 나아갈 것이라는 알림을 받기만 했습니다. 코드를 조정하려면 돌아가거나 처음부터 다시 시작해야 합니다. "좋아요." "일회성일 수 있기를 바랍니다."라고 생각합니다. 그렇지 않다는 것을 제외하고. 앞으로 몇 주와 몇 달 동안 프로젝트 방향이 계속 바뀌고 더 이상 하고 있는 일을 왜 하고 있는지 확신할 수 없는 지경에 이르렀습니다.

그것을 극복하는 방법

최종 목표가 확실한 수업 과제와 달리 작업 환경에서는 많은 프로젝트가 발전함에 따라 이동하고 조정합니다. 명확한 프로젝트 방향의 부재에 대해 혼란스러워 하는 경우 첫 번째 단계 중 하나는 루프에서 제외되었거나 가장 중요한 목표를 이해하지 못하는지 확인하는 것입니다.

때때로 프로젝트 중간에 팀에 합류할 때 이미 프로젝트 목표를 알고 있는 관리자 및 기타 팀원이 새 구성원을 업데이트하는 것을 잊어버릴 수 있습니다. 이러한 상황에서는 팀장이나 관리자에게 주요 목표와 프로젝트 로드맵에 대해 문의하십시오. 이것은 당신에게 더 명확한 큰 그림을 제공하고 각 결정이 장기적 목표에 어떻게 부합하는지에 대한 개요를 제공합니다.

즉, 명확한 프로젝트 방향이 없는 것이 항상 의사 소통의 부족 때문은 아닙니다. 때로는 회사 교대, 고객 요구 사항 또는 간단히 말해서 제어할 수 없는 기타 사항으로 인해 발생합니다. 주니어 개발자로서 불행히도 이에 대해 할 수 있는 일은 많지 않습니다.

특히 좌절감을 느낀다면 "휴식"의 힘을 과소 평가하지 마십시오. 조니. 산책을 하거나 커피를 마시며 코드에서 벗어나 있는 시간은 정신을 재충전하고 재조정할 수 있는 시간을 제공합니다. 관리자에게 우려 사항이나 불만 사항을 제기할 수도 있습니다. 하지만 결국 이러한 변화와 불확실성은 종종 "비즈니스의 자연스러운 과정"이라는 것을 배우는 것이 중요합니다. 브래들리.

질문하고 대화 시작하기 팀 구성원, 관리자 또는 고객과 함께하고 방향 변경 사항에 대한 정보를 유지하면 결정에 눈이 멀어질 가능성이 줄어들어 좌절을 줄일 수 있습니다.

새로운 기술을 따라잡기가 어렵다

첫 번째 개발자 직업 챌린지

도전

당신은 이제 잠시 동안 직장에 있었고 더 이상 매일 따라잡기 게임을 할 필요가 없습니다. 좀 더 안정되기 시작했을 때 새로운 프로젝트가 시작되고 라이브러리에 대한 대규모 업데이트가 있습니다. 학생 때와 달리 새로운 기술을 배우는 데 많은 시간을 할애할 수 없습니다. 팀의 선임 개발자가 기술 업데이트를 순조롭게 받아들이고 있는 것 같은데 어떻게 그들 중 한 명과 같을 수 있습니까?

그것을 극복하는 방법

최신 기술로 최신 정보를 유지하는 것은 개발자로서 해야 할 일의 일부입니다. 주니어 개발자는 기본적으로 "실제 환경에서 처음부터 기술 스택을 배우고 있습니다."라고 말합니다. 도미니크. 제한된 시간에 학습 방법을 조정해야 하므로 스트레스가 더 커질 수 있습니다.

업데이트를 배울 시간을 예약하세요. 비교적 빨리 습득할 수 있다고 생각되는 새로운 도구 또는 업데이트인 경우 하루 중 30분 또는 XNUMX시간을 새로운 기술을 연구하고 사용하는 방법을 배우는 데 할애하십시오. 이 도구가 익숙한 도구인지 팀의 선임 개발자에게 지침을 요청할 수도 있습니다.

그러나 더 큰 업데이트이거나 배우는 데 몇 시간 또는 며칠이 걸리는 완전히 새로운 도구라면 어떨까요? 작업량과 마감 시간 사이에 학습에 수백 또는 수십 시간을 할애하는 것은 비현실적입니다. 팀의 선임 개발자도 기술을 가르치는 데 시간을 할애할 수 없습니다.

주말을 보내거나 밤을 새워 기술을 익힐 수는 있지만 이 방법은 지속 가능하지 않습니다. Youtube 비디오를 포함하거나 GitHub 또는 Dev.to와 같은 커뮤니티를 통해 "집중 과정"을 수행할 수 있는 여러 가지 방법이 있습니다.

추가 지침이 필요한 경우 조직 외부의 선임 개발자 또는 멘토와 협력할 수 있습니다. 그들은 가장 효율적인 방식으로 최신 기술에 대해 업데이트할 수 있습니다. 멘토는 프로젝트 또는 요구 사항에 따라 학습해야 하는 기술의 우선 순위를 지정하고 업데이트를 적시에 안내할 수 있습니다.

개발자로서 다음과 같은 습관을 유지해야 합니다. 최신 개발 업데이트 유지 기술 스택과 관련이 있습니다. "개발자 뉴스, GitHub 트렌드 리포지토리 등에서 새로운 정보를 찾습니다." 말한다 조니, 그리고 "해당 기술을 사용할 순간이 오면 문서를 읽는 것이 기술에 대해 배울 수 있는 가장 좋은 방법 중 하나입니다."

브래들리 소프트웨어 개발 경력을 이제 막 시작하는 주니어 개발자를 위한 추가 조언이 있습니다.

'조타실'이 되고자 하는 기술 스택을 신중하게 선택하십시오. 다른 것을 배우는 것이 쉽다고 말하는 사람들을 믿지 마십시오. 기초를 배우기 쉽습니다. 연공 서열을 얻고 소프트웨어를 효율적이고 효과적으로 생산하려면 기본을 훨씬 넘어서야 합니다.

최종 생각

학생에서 일하는 개발자로의 변화는 단순히 직함의 변화가 아닙니다. 새로운 작업 환경에서 직면한 문제를 극복하고 개발자로 번성하려면 사고 방식, 접근 방식 및 학습 스타일을 전환해야 합니다. 모든 새로운 장애물은 기술적으로 더욱 능숙해지고 전문적으로 성숙할 수 있는 기회입니다. 도움을 받아야 할 때를 배우고, 적절한 질문을 하고, 적절한 리소스를 찾는 것은 개발자로 성장함에 따라 더 쉬워질 것입니다.

첫 번째 개발자 작업에서 직면한 다른 문제는 무엇입니까? 다른 개발자에게 도움이 될 만한 팁은 무엇인가요? 아래에 의견을 남겨주세요!

멘토 프로필(나온 순서대로)
- 조니 비자우: 1400개 이상의 5스타 세션을 보유한 숙련된 풀스택 개발자입니다. Johnny는 JavaScript, Node.js, HTML 및 CSS, 코드 검토 등을 도와드릴 수 있습니다. 도미닉 사이퍼트: 수백 개의 별점 5개 세션을 보유한 숙련된 멘토인 Dominik의 전문성은 JavaScript, React, C#, Unity3D, Python 등에 있습니다. – 브래들리 컬리: 수천 시간의 멘토링 시간을 가진 Bradley는 교사이자 프론트엔드 및 풀스택 개발자로서의 경험을 가진 5성 멘토입니다. JavaScript, SQL, PHP, Docket 등의 전문가입니다.

타임 스탬프 :

더보기 Codementor 블로그