소프트웨어 개발자가 되고 싶어 하는 사람들은 많다. 하지만 어떻게 어디서부터 시작해야 할지는 모른다. 이번 글에서 소프트웨어 개발자가 되기 위해선 어떤 계획을 가지고 있어야 하는지 알아볼 것이다. 또한 개발자가 되면 어떤 일을 하는지 알아볼 것이다. 구체적인 계획을 위해 Node.js 개발자의 사례도 볼 것이다.
소프트웨어 개발자가 하는 일
소프트웨어 개발자는 내일배움카드를 가지고 많이들 도전하는 직업이다. 그만큼 쉽다고 할 수 있다. 하지만 그 속으로 파고드는 순간 깨닫게 된다. "아 이거 보통이 아니구나"라고. 학원에서는 이론부터 시작해서 실무적인 내용을 배운다. 아니 배운다고 착각한다. 하지만 학원에서 배운 내용들은 정말 수박 겉핥기였다는 것을 깨달았다. 학원에서 진행했던 프로젝트는 정말 단순했으며, 강사님과 함께한 내용은 정말 오랜 기간 동안 갈고 닦여진 상태였다. 실제로 실무에 투입이 되면 무엇부터 시작해야 할지부터 감이 오지 않는다. 우리가 학원에서 배워온 것은 단순한 프로그래밍일 뿐이다. 하지만 실전에서의 개발은 단순한 프로그래밍, 즉 코딩이 아니다. 먼저 자신이 어떤 프로그램을 만들고 있는지를 이해해야 한다. 어떠한 문제를 해결하기 위한 프로그램인지 이해하고, 어떠한 요구사항을 가지고 있는지 파악해야 한다. 문제가 파악되면 그 문제를 어떻게 코드로 해결할지에 대해 설계해야 한다. 코드 작성 전 어떤 방식으로 코드를 만들어낼 것인지에 대한 설계가 필요하다. 설계가 완성되면 코드를 작성한다. 이때에는 추후에 진행할 유지보수 측면을 좀 생각하면서 작성하는 것이 좋다. 코드를 작성하면 테스트를 진행한다. 사소한 테스트는 개발 단계에서 많이 진행하게 되고 큰 틀의 테스트는 일정을 잡고 진행하기도 한다. 테스트가 모두 끝나면 배포를 하여 사용자가 활용할 수 있도록 한다.
되기 위한 방법
정말 단순한 코딩을 하는 사람이 되기 위한 방법은 쉽다. 그냥 코드를 따라 작성하면 된다. 하지만 좋은 소프트웨어 개발자가 되기 위해서는 계획이 필요하다. 우선 자신의 프로그래밍 경험이 있는지, 사용할 수 있는 프로그래밍 언어가 있는지 등을 생각해보아야 한다. 프로그래밍과 관련한 어떠한 경험이라도 있으면 우선 발을 들여놓은 셈이다. 또한 소프트웨어 개발자는 하나만 존재하는 것이 아니다. 사람 수가 아니라 분야가 여러가지라는 뜻이다. 게임 개발자, 웹 개발자, 앱 개발자 등 순간적으로 떠오르는 종류만 해도 3가지가 된다. 이 중에서, 또는 이외의 개발자 중에서 관심이 있는 분야가 있으면 그 분야를 확인해 보면 된다. 무엇을 배우게 되는지 확인해 보고, 어떤 직장이 있는지 확인해 본다. 그리고 그 직장에 들어가기 위해 필요한 기술엔 어떤 게 있는지 살펴본다. 가장 편하고 쉽게 관련 기술을 확인하는 방법은 그 직장의 구직 공고를 확인하는 것이다. 구직공고에는 필요기술이라는 항목으로 이런저런 프로그래밍 언어나 프레임워크가 들어있다. 이러한 공고를 살펴보며 자신에게 맞는 기술이 어떤 것이 있을지 동영상 강의나 책을 통해 겉핥기로 딱 맛보기만 해보는 것을 추천한다. 너무 깊게 들어가다 보면 모든 것이 어렵다.
Node.js 개발자가 되기 위해
예시로 Node.js를 사용하는 엡 개발자가 되고 싶은 사람이 있다고 생각해본다. 이 사람은 자바스크립트의 기초를 다지는 것이 필요하다. 웹 개발자인 만큼 HTML과 CSS 같은 웹 개발 기술은 필수다. 다음 단계로는 Node.js의 기초를 알아야 한다. 기초가 어느 정도 잡히고 나면 Node.js를 사용해서 간단한 웹 애플리케이션을 만들어본다. 한발 더 나아가면 이때 사용할 수 있는 프레임워크와 기술을 배운다. 여기서 데이터베이스 기술을 추가해 준다. 이 단계까지 오고 나면 컴퓨터 공학의 기초들에 대해서도 알아두면 좋다. 알고리즘과 자료구조 내용들이 그 예이다. 자신이 작성한 코드는 나중에 보면 "이런 게 코드야?"라는 생각이 분명히 든다고 한다. 그러니 처음부터 너무 완벽주의의 함정에 빠지지 않아도 된다. 대신 좋은 코드를 위한 모범 사례는 계속해서 보아주는 것이 좋다. 마지막으로 아키텍처 설계 방식까지 배우고 나면 전문적인 Node.js 웹 개발자에 한 발 내디뎠다고 볼 수 있다. 그 이후에는 구인 명세를 살펴보며 추가적으로 필요한 기술을 익히면 된다. 또한 익힌 기술로 취업가능한 기업의 목록을 만드는 것이 좋다. 같은 기술을 사용하는 개발자들과 교류하는 것도 좋다. 포트폴리오를 작성하고 매일 두 군데는 지원한다는 마음으로 구직을 하면 된다.
댓글