중급 소프트웨어 엔지니어의 자질은 무엇일까요?
소프트웨어 엔지니어 커리어를 시작하셨다면, 이제 자신이 중급 엔지니어인지 아닌지, 어떻게 판단할 수 있을까요? 엔지니어들이 모든 것을 다 기억할 수는 없기때문에 구글을 사용하거나 스택오버플로우를 이용한다는 것만으로 레벨을 정할 수는 없을 것입니다. 중급 엔지니어라면, 구글에서 몇 단어를 찾아서 보는 것만으로도 바로 필요한 코드를 사용할 수 있을 것입니다. 하지만, 초급 엔지니어라면 아직 배워야 할 지식도 많고 찾더라고 이게 무슨 말인지 다른 사람에게 물어보거나, 아는 것이 나올 때까지 계속 찾아야 할 경우도 많을 것입니다.
오늘은 몇가지를 기준으로 자신이 중간 레벨의 소프트웨어 엔지니어인지 아닌지 알아보도록 하겠습니다.
자신의 프로젝트나 숙제를 자기가 알아서 끌고 나갈 수 있다
이 점은 어떠한 환경에서 일하는 지에 따라 다를 수 있습니다. 하지만 중급 정도의 엔지니어라면 프로젝트를 이끌어 나가는데, 잦은 질문 없이 해낼 수 있어야 할 것입니다. 물론, 타 부서와 일한다면 그쪽의 요구사항을 계속 물어봐야 되기 때문에 질문이 많을 것입니다. 강조할 부분은 프로그래밍 관련 기술에 대해 크게 질문을 할 필요가 없다는 뜻 입니다.
기본과 컨셉에 대해 명확한 지식을 가지고 있다
아직까지 기본과 컨셉에 대해서 물음이 있다면, 당신은 아직 초급입니다. 여기서 기본이라면, 프로젝트를 만들때 필요한 기본적인 도구들에 대해 익숙하지 못하고, 컨셉에 대해 쉽게 이해하지 못한다면, 중급 엔지니어라고 할 수는 없을 듯 합니다.
새로운 특징을 바로 만들수 있다
어느날 프로덕트 매니저가 와서, 이러한 특징을 개발해 줄 수 있느냐라고 했을 때, 어떤 부분의 코드를 어떻게 바꿔야 한다고 바로 캐치할 수 있다면 당신은 중급 엔지니어라고 할 수 있습니다. 이는 코드가 어디에 있고 어디를 어떻게 바꾸면 될 지, 데이터베이스와 파이프라는 어떻게 바꿀지 머리속에서 바로 계획할 수 있는지를 말합니다.
구글에 어떻게 물어볼 지 알고 있다
다른 소프트웨어 엔지니어들에게 물어보지 않고, 구글에서 어떤 식으로 물어보고 답을 찾을 수 있다면 당신은 중급 엔지니어라고 할 수 있습니다. 중급 엔지니어들은 문제가 있을 때, 어떠한 키워드를 넣어야 가장 빠르게 답을 찾을 수 있는지 알고 있습니다.
언제 다른 엔지니어들에게 물어봐야 할 지 알고 있다
중급 엔지니어라면 언제, 어떠한 문제를 다른 엔지니어에게 물어봐야 할 지 알고 있습니다. 그들은 문제에 대해 물어보는데 두려움이 없습니다. 그리고 다른 엔지니어들의 시간을 많이 허비하지 않고 어떻게 핵심을 물어보는지 알고 있습니다.
어떠한 기술이나 문서를 봐야하는 지 알고 있다
새로운 기술이나 문서를 보더라도 어떠한 섹션을 봐야되는지 알고 있다면 중급 엔지니어라고 할 수 있습니다. 처음부터 끝까지 다보고 기술을 파악하는 초급 엔지니어와는 그 컨셉을 판단하는데 절대적으로 짧은 시간이 듭니다.
복잡한 문제를 간단하고 작게 나눌 수 있다
큰 프로젝트를 어떻게 작고 간단하고 나눌 수 있는지 알고 있다면, 중급 엔지니어의 초입에 있다고 할 수 있겠습니다. 완벽하지는 않지만, 어느 정도 틀이 잡힌 상태라면, 충분히 중급 엔지니어라고 할 수 있습니다.