brunch

You can make anything
by writing

C.S.Lewis

by David Sep 07. 2021

개발을 입문할 때 알고 있으면 좋을 점

CHAPTER1< Intro />

개발자의 길을 시작할 때, 전공자이든 비전공자이든 알아두면 좋은 몇 가지 중요한 점이 있다. 

첫 단추를 어떻게 끼우느냐에 따라 개발자로서의 미래가 달라지기 때문에, 이 내용을 미리 숙지하면 개발의 세계에 좀 더 쉽게 적응할 수 있을 것이다.


계속해서 배워야 하는 직업

개발자가 된다는 것은 곧 끊임없이 학습해야 하는 삶을 의미한다. 

새로운 기술, 언어, 개발 패턴 등이 끊임없이 쏟아지기 때문에, 항상 새로운 것을 배워야 하는 상황이 된다. 

그래서 개발자는 어디서든 배울 수 있는 환경을 찾는 것이 본능처럼 자리 잡게 된다. 

그러나 현실적으로 대부분의 회사는 체계적으로 교육을 제공하지 않으며, 대기업이라고 해서 예외는 아니다. 결국 회사는 학교가 아니기 때문이다.

막상 입사하면, 업무가 바빠서 도와줄 시간이 부족하거나, 회사에 개발자가 나 혼자인 상황, 혹은 전임자가 갑자기 퇴사해 남겨진 소스를 분석해야 하는 경우도 종종 발생한다. 

이러한 상황에 대비해 마음의 준비가 필요하다.


구글과 StackOverflow가 최고의 동료

선임이 있다고 해도, 여유롭게 질문하고 답을 구하는 일은 생각보다 드물다. 

그 결과 개발자들이 의존하게 되는 것은 구글StackOverflow다. 

검색 후 복사하여 붙여넣는 과정이 실제 개발에서 큰 비중을 차지하게 된다. 

구글이 선임보다 더 친근하게 느껴질 때도 많을 것이다.


개발자의 현실: 천재 연구자 vs. 빠른 문제 해결사

많은 사람들이 개발자라 하면 흔히 구글 엔지니어를 떠올리며, 창의적이고 혁신적인 기능을 연구하는 사람들을 상상할 것이다. 

그러나 현실은 그와는 조금 다르다. 

현재의 개발자들에게는 얼마나 빠르고 정확하게 주어진 미션을 수행하느냐가 중요하다. 

여유롭게 시간을 쓰며 고민할 수 있는 상황이 많지 않다. 

진도가 나가지 않으면 부적응자나 무능한 사람으로 낙인찍힐 수도 있다.

과거에 필자가 몸담았던 회사에서 만난 한 후임 개발자는 "개발자가 생각을 멈추면 개발자가 아니다"라고 조언을 해주적 있다. 

처음엔 이해가 잘 안갔지만 최근에 들어서는 이 말이 마음에 와 닿는다.

속도만 생각해서 의식이 흐름대로 코드를 짜면 얼마나 큰 재앙이 된다는것을


완벽주의의 함정

완벽한 코드, 더이상 손을 대면 안되는 코드에 집착하다 보면 기존 코드 구조를 변경하거나 확장해야 할 때 방어적인 태도를 보이거나, 코드가 너무 정형화되어 새로운 기능을 추가할 때 어려움이 생기기도 한다. 

하지만 필자가 신입사원 시절에 함께 일했던 Oracle 출신과 Microsoft 출신의 개발자들은 코드의 완성도가 매우 높았고, 그들의 코드는 확장성과 유지보수가 용이한 형태였다. 

이처럼 첫 단추를 누구와, 어떤 환경에서 끼우느냐는 개발자의 성장에 큰 영향을 미친다.


급변하는 시장에서의 개발

국내 개발 환경에서는 여유 있게 코드 품질에 신경 쓸 기회가 그리 많지 않다. 

시장은 빠르게 변하고, 요구사항도 수시로 바뀐다. 

이러한 상황에서 지금 작성한 코드가 곧 무용지물이 될 수도 있기 때문에, 완벽에 공을 들이는 개발자는 많지 않다. 

그렇다고 해서 무조건 빨리 코딩하라는 뜻은 아니다. 

중요한 것은 코드 자체에 집착하지 말고 유연하게 대처하는 것이다. 

어느 정도 유연성을 가지고 있어야 선임과 후임에게 좋은 개발자로 인정받을 수 있다. 

특히 국내의 급변하는 환경에서는 더욱 그렇다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari