엔지니어 교육에 대해서

누구나 엔지니어가 될 수 있지만, 누구나 엔지니어가 될 수 없다

Photo by NeONBRAND on Unsplash

얼마 전 있던 논의를 통해서 사람들이 생각하는 교육에 대한 생각이 다 제각각이라는 생각을 다시 하게되었다. 언젠가 개발자가 아닌 교육자로서 인터뷰를 보았던 기억이 있는데 그 때에도 ‘보편적인 교육과 선별 교육 중 본인은 어느 방향을 더 선호하는가?’ 라는 질문에 섣불리 답하지 못했던 기억이 난다.

기술 분야는 특히 볼륨이 크고, 돈이 다른 시장에 비해 많이 풀린 쪽이기 때문에 많은 신규 유입이 있을 수밖에 없다. 우리나라 국민 평균 소득보다 높은 연봉을 신입사원에게 준다고 하는데 어찌 눈이 가지 않을까. 다른 업계와 다르게, 기술 분야는 아마 오픈 소프트웨어 시절부터 있던 지식을 본인만 향유하지 않고 주변에 널리 알리는 걸 일종의 사명감처럼 가진 사람도 많다.

‘얼음처럼 냉정하지만 불처럼 열정있는 걸 표현해주세요’ 라는 표현처럼 기술 분야의 양극화는 현재 꽤 심한 상태라고 생각한다. 이미 전문가 단계로 진입하여 다른 그 어떤 시대보다도 좋은 시대를 맞이하고 있는 사람들과, 기술이라고 부르는 새로운 시대의 표준에 맞추기 위해 기술 분야를 억지로라도 접근해야하는 사람들 사이의 편차가 심하다.

모든 교육은 진입 장벽이 낮아야 한다.

언제나 이 미디움에 쓰는 글들은 개인적일 수밖에 없지만, 모든 교육은 진입 장벽이 낮아야한다고 생각한다. 법을 배운다고 하면 왠지 어렵다고 느껴지지 않는가? 하지만 특히 노동법, 부동산법, 도로교통법 등은 우리 사회에서 누구에게나 쉽게 적용되는 법률이다.

대한민국 법제처에서는 이런 법들을 생활법령으로 규정하고, 찾기 쉬운 생활법령정보라는 이름의 사이트로 운영하고 있다. 서울시에서 운영하는 다산 콜센터도 비슷한 정책이라 생각한다.

모든 교육에는 진입 장벽이라는 게 존재하며, 이는 개발도 크게 다르지 않다고 생각한다. 하지만 개발에서는 유달리 ‘개발은 어려우며 쉽게 접근하여서는 안되기 때문에 처음부터 각잡고 들어올 사람이 아니라면 애초에 찍먹도 해서는 안된다’ 라는 접근 방식을 종종 보여준다.

개발이 어려운 것은 사실이며, 쉽게 접근하면 안된다는 것은 명백히 사실이다. 하지만 그렇다고 하여 모든 개발 입문자에게 비슷한 잣대를 들이세우고 ‘이렇게 할 거면 그냥 하지 마라' 라고 하는 게 옳은 자세인가에 대해서는 고민이 된다.

개발을 배우는 사람에게 어떤 자세가 필요한가.

솔직히 어떤 자세도 필요없다고 생각하지만, 내가 개발자로서 커리어를 밟아나가기 위한 준비가 되어있는 지 정도는 깊게 고민해보았으면 좋겠다. 커리어를 시작하기 전에 어느정도 체험해보고, 그 이후에 어떤 자세로 개발에 다가갈 지를 결정해보았으면 좋겠다.

현업에서 일하는 개발자이자 한 기술 챕터의 리더로서 내 태도는 언제나 동일한데, 당신이 내가 기대한 수준의 사람이라면 채용할 것이며 내가 기대한 수준에 도달하지 못한다면 채용하지 않겠다. 그 외 어떤 특징 (학력, 성별, 나이 등)이 당신의 채용에 차별을 두지 않을 것이다.

개발 업계의 무서운 점은 지독하게도 실력 검증이 쉽다는 점이다. 단순한 계산기 하나 짜보는 것만 보아도 이 사람이 어느정도 실력을 가지고 있는 지, 어떤 식으로 이 업계에 접근하고 있는 지가 보일 때가 있다. 그래서 현업에서 일하고 싶은 마음으로 이 업계에 발을 담근거라면, 정말 철저하게 자기 객관화가 필요하다.

개발자는 왜 부족한가?

개발자에게 여러 단계가 있다고 생각해보자.

  • 코딩을 할 줄 아는 사람
  • (최신 트렌드에 맞게) 코딩을 할 줄 아는 사람
  • 어떤 기술이 왜 쓰이는 지 이해하고 있는 사람
  • 어떤 기술의 특징을 이해하고 있는 사람
  • 문제를 찾아내서 해결할 수 있는 사람

업계에서 말하는 개발자는 위의 특징을 모두 어느정도는 잘 하는 개발자를 찾기를 원한다. 프런트엔드 개발자를 채용한다고 한다면 이렇게 된다:

기본적인 React 프로그래밍이 가능하면서 JavaScript, HTML, CSS의 언어적인 특징을 이해하고 있는 사람. 거기에서 왜 React 가 나왔으며, React에서 Hooks는 왜 사용하는 지, 기존에 어떤 문제가 있었는 지를 파악할 수 있는 사람. 기획에서 핵심 문제를 도출해내고, 그 핵심 문제를 기술적인 관점으로 풀어내서 해결해낼 수 있는 사람.

내 기준으로 이게 주니어에게 기대하는 역량이다. 하지만 간혹 취업준비생들에게 조언을 해주면서 이야기를 나누어보면 보통 아래와 같은 답변이 나온다.

리액트를 왜 쓰시나요? > 학원에서 그렇게 가르쳐줬어요.
(Redux를 쓴 분에게) Flux 패턴이 무언 지 아세요? > 모릅니다.
만약 이런 문제가 있다면 어떻게 해결하시겠어요? > 개발적으로 요로케 슉슉 해서 짜잔

모든 회사가 이정도 수준의 개발자를 원하는 건 아닐 수도 있다. 하지만 그럼에도 불구하고 개발 실력이라는 건 코딩할 수 있는 능력과 반드시 1 : 1 매칭이 아니라는 걸 이해해주었으면 좋겠다.

평생을 시작하는 자리에서

가끔 채용 서류를 검토할 때면 이런 생각이 들 때가 있다.

‘나에게는 이게 단순한 탈락 버튼이겠지만 그 사람에게는 그 이상의 무게겠지’ 아마 지금 현업에서 일하는 개발자들에게도, 그리고 새로이 시장에 진입하는 사람들에게도 지금 상황이 그렇게 좋은 상황은 아니라고 생각한다.

모든 접근이 조심스러워야한다는 이유는 이런 점 때문이겠지만, 그럼에도 여전히 제대로 배우는 사람들이 부족하다는 생각은 든다. 무엇보다 우리는 이미 ‘좋은 커리큘럼' 을 판별해낼 수 있지만 그들에게는 그런 능력이 부족할 수 밖에 없지 않은가. 직접 교육하는 게 아니라면 이 현상을 비판으로 끝낼 문제는 아니라고 생각한다. (직접 교육한다고 하여 비판해도 된다는 이야기도 아니다)

내가 생각하기에 몇몇 우수한 교육기관을 추천 해본다. 광고는 아니며, 그 업체로부터 금품을 받은 적도 없다. 그저 좋다고 생각한 곳들을 몇가지 써본다. (다만 인프런과 패스트캠퍼스에는 내 강의가 올라간 적이 있다.)

코드스쿼드

코드스쿼드는 재직자를 위한 전문가 프로그램을 운영하고 있다. 다르게 이야기하자면 정말 현업에서 잘 쓰이는 기술들을 중점적으로 가르치고 있으며, 처음 개발을 배우는 사람이던 지금 성장에 목마른 사람이던 모두에게 추천한다.

패스트캠퍼스 더 레드

패스트캠퍼스 더 레드는 업계에서 말하는 ‘이런게 중요해’ 를 잘 풀어내고 있다고 생각한다. 무엇보다 개발자에게 코딩 스킬만이 중요한 게 아니라는 메시지를 지속해서 주고 있어 나는 굉장히 긍정적으로 바라보고 있다.

우아한 테크코스

우아한형제들에서 운영하는 테크 코스다. 아마 우아한형제들에 입사를 희망하는 사람들이라면 우아한 테크코스를 듣는 게 가장 좋겠지만, 무료로 진행되는만큼 경쟁율이 상당히 높은 것으로 알고 있다.

넥스트 스텝

우아한 테크코스를 운영하고 있는 박재성님이 직접 운영하는 교육 기관이다. 재직자를 위주로 한 교육이 주를 이루고 있으며, 개발자로서의 단계 성장을 위해서는 좋은 곳이라 생각한다.

인프런

인프런은 강의의 퀄리티가 제각각이라는 단점은 있지만, 일부 강의는 다른 곳에서 듣기 어려울 정도로 뛰어난 강의라고 생각한다. 특히 로드맵이라고 따로 뭉쳐져있는 강의 뭉치에 좋은 내용이 많다.

마무리

이런 글의 마무리를 어떻게 해야할 지에 대해서는 언제나 조심스럽다. 꼰대스럽다면 지독하게도 꼰대스러운 글을 썼다고도 생각이 든다. 그럼에도 이런 시기라 더욱 이런 글이 필요하다고 생각했다.

궁금한 점은 메일로 주셔도 되고, 댓글로 남겨주셔도 되니 편히 이야기 나누었으면 한다.

--

--

--

CTO at 밑미, Business: choeun@techhtml.dev

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
조은, John Cho

조은, John Cho

CTO at 밑미, Business: choeun@techhtml.dev

More from Medium

Clean up stale local git branches

Setup Segment and Amplitude in Vue 3 (or React, Angular…)

Version controlling

Polycam can export to several different file formats. What are they?