저는 비전공자 입니다.

SW비전공자가 취업 준비하기 - SW기초지식이 취업에서의 중요성

by SW Career Lab

늘 그렇듯 취업을 준비하는 분들을 대상으로 오프라인 멘토링을 하고 나면 많은 분들께서 저의 연락처를 받아가곤 합니다. 그런데 실상 연락이 오는 경우는 많지 않습니다. (오히려.. 이상하게도 스팸문자가 증가하는 이유는 무엇일까요? ㅎㅎ)그러다 보니 저에게 연락처를 받아가신분이 나중에 연락을 주시면 무척 더 반갑습니다.


B양이 저에게 연락한 이유는 아마 취업준비 중 떠오르는 여러가지 고민들에 대해서 진지하게 저의 의견이 궁금했던 모양입니다. 그렇게 서울 시내의 한 카페에서 만나게 되었습니다.


B양은 산업공학과를 졸업하고 졸업하는 시점에 IT분야 - 특히 SW개발자 - 에 대한 꿈을 갖게 되었고 어쩌면 다른 또래보다는 늦었지만 꿈을 위해 한걸음씩 나아가고 있는 중 이었습니다.


조금 더 B양에 대해서 부연 설명을 하자면 사실 B양은 이미 한번 취업을 경험했습니다. 자신의 전공을 살려서 중소기업 플랜트건설 회사에 취업해서 6개월간 열심히 근무했는데, 실제 업무를 하다보니 자신이 좋아하는 일을 하는게 좋겠다는 생각에 과감하게 퇴사를 선택하고 SW와 관련한 공부를 시작했다고 합니다.


(적어도 제가 보기엔) B양은 정말 열심히 노력했습니다. 전공자도 힘들다는 정보처리기사 자격증도 취득했고, 6개월짜리 국비 교육과정을 통해 웹개발 과 안드로이드 앱 개발도 익히며 자기스스로 프로젝트도 하고 있었습니다. 어떤 분들은 이 과정에서 자신의 적성과 SW분야가 맞지 않음을 깨닫기도 하는데 다행스럽게도 B양은 SW개발에 대한 희열을 느끼면서 더욱 더 열심히 몰입했습니다.


그렇게 1년정도 노력한 지금 B양은 앞으로 취업준비를 어떻게 하면 좋을지를 고민하고 있었습니다.


특히


'비전공자로서의 전공지식이 취업에 얼마나 영향을 미치는지' 와 '대기업이 좋을지 중소기업이 좋을지' 에 대한 고민을 이야기할 때 B양의 얼굴에는 씁쓸함이 느껴졌습니다.


두가지 고민 중 후자에 대해서는 바로 앞선 포스트


합격했어요!! 그런데 입사해도 될까요?


에서 실마리가 있는 내용이기에 이번 포스트에서는 첫번째. 비전공자로서 SW와 관련된 지식들(흔히 말하는 CS 지식)이 얼마나 필요한지에 대한 이야기를 해볼까 합니다.


------------------------------------------------------------------------------------------------------------------------

20250301_085655.png


많은 SW엔지니어를 준비하시는 분들이 묻습니다. "CS(=Computer Science) 지식은 정말 중요한가요?"


사실 저도 학부생때는 이런거 왜 배우는지 몰랐습니다.


'나는 어플리케이션 개발자가 되고 싶은데, CPU가 어떻게 동작하는지 메모리는 어떻게 동작하는지 이런 어려운 지식을 왜 배워야 하는가?' 라고 생각하곤 했습니다. (하지만 전 착한 대학생이니까 열심히 머리에 집어넣기만 했죠.)


아무래도 당장의 필요성을 못 느끼는 과목이니 만큼 학점을 얻기 위한 공부만 하게 되었고, 막상 신입으로 첫 회사에 취업하고 나선 그렇게 외우고 외우던 것들을 한동안 잊고 살았습니다.


적어도 회사에 입사하고 실무적 SW개발을 조금씩 배워갈 때 만 해도 이런 기초지식은 중요하지 않았다고 느꼈고, 당장 해야 하는 코딩을 하느라 바빴습니다.


한 3년이 지났을까요? 보통 3년차가 되면 신입이라는 날개(?)를 떼어내고, 본격적으로 '주니어' 라고 표현하는 연차에 들어가게 됩니다. 흔히들 말하는 회사 입장에서 가성비가 좋은 (적은 임금대비 성과가 좋은) 주니어 엔지니어가 되었다는 것은 다시 말해 아직 젊음이라는 체력도 갖추고 있고, 업무에 대해서 어느정도 익숙함도 갖게 되고 또 약간 기술에 대해서 어느정도 뽕(?)이 차오르는 연차라고 할 수 있을거 같습니다.


저도 3년차가 지나고 나니 이전처럼 단순한 코딩이 아닌 조금 더 복잡하고 고민을 해봐야 하는 문제들을 해결해야 하는 상황들이 종종 생기게 되었습니다. 사실 주니어 연차들이 겪는 대부분의 문제들을 해결하기 위해선 인터넷을 조금만 검색해보면 이세상 누군가가 비슷한 문제를 해결한 내용을 꽤나 많이 찾을 수 있습니다.


그런데 문제는 지금 나에게 떠맡겨진 문제해결이 이세계에서 유일하가 나만 겪는 것 같은(실제론 아니겠죠) 문제들 이라면 이야기가 조금 달라집니다. 검색을 아무리 해봐도 힌트조차 얻지 못하는 문제라는게 느껴지면 머릿속이 아득해짐을 느끼게 되면서 고민과 시름이 깊어지게 됩니다.


예를 한번 들어볼까요? A와 B가 서로 데이터를 주고받아야 하는 기능을 SW로 만들어야 합니다. 사실 데이터 주고 받기야 SW개발에선 가장 기본이므로 쉽게 개발이 가능합니다. 그리고 정상적으로 잘 동작합니다. 하지만 대부분 SW기능은 보다 복잡한 상황에서도 잘 동작해주길 바라는 경우가 많습니다. 가령 데이터를 주고 받는 와중에 B가 비행기를 타고 있어서 통신이 되지 않는 상황에서 말이죠. A가 B에게 데이터를 보냈는데 하필 그 타이밍에 B가 비행기를 타고 하늘에 높이 올라 있어서 통신이 중간에 끊기는 경우 같이 말이죠. 이런 경우는 A가 데이터를 하나씩 하나씩 주고 B는 하나씩 하나씩 받으면서 A에게 어디까지 받았는지 알려주도록 만들어도 됩니다. 그런데 하나씩 하나씩 데이터를 주고 받는건 너무 느리기 때문에 보통 많은 데이터는 한꺼번에 여럿 묶어서 처리하길 요구하죠. 그럼 데이터를 어떻게 한꺼번에 묶을것인가도 또 생각해야 하는 문제입니다. 중간에 끊기면 처음부터 할지 끊긴지점부터 할지 이런 부분을 챙겨야 하는데 그럴 수록 SW구현은 복잡해지죠. 처음부터 데이터를 다시 전송하면 중복으로 데이터가 전송되면서 생기는 문제도 있고, 끊긴지점부터라고 하면 끊긴지점이 어딘지를 A와 B가 둘다 잘 인지해야 하는 문제도 있습니다. 점점 복잡도가 높아지죠. 모두를 만족시킬 방법을 찾으려면요.


이것은 아주 아주 작은 예시일 뿐입니다. (물론 요즘은 chatGPT 같은 생성형 AI가 조금 더 도움이 될수는 있겠네요.) 따라서 SW개발자에게 오롯이 이 문제의 해결방안을 찾아 구현해야 할 의무가 부여됩니다.


이럴때 빛을 발하는게 기본적인 원리, 이론, 기술 같은 것들입니다.


저도 학부 과정에서 왜 배워야(=외워야) 하는것인지 몰랐던 모든 것들이 SW개발자로서 연차가 쌓이고 다양한 문제 해결방안을 찾아야 하는 상황에 놓이게 되면서 필요해지는 것을 깨닫게 되었습니다. 그때서야 내가 그래도 머릿속에 우겨넣었던게 있었다는 사실을 상기하면서 전공 서적을 뒤적이게 되었는데 전공서적에서 문제 해결의 실마리를 많이 찾게 되었습니다. (아울러 졸업과 동시에 전공서적을 버리지 않았던 저의 행동에 감사했습니다.)


다시 본론으로 돌아와 그럼 저와 같은 SW분야 전공자가 아닌 비전공자들은 어떻게 해야 할까요? 비전공자는 너무 불리한 부분 아닐까요?


객관적으로 말하자면 당연하게도 그렇습니다. 4년제 대학에서 전공자들이 2년~4년정도 시간을 들여 배우는 것을 비전공자들은 아무래도 학부과정에서는 많이 배우지 못했으니까요. 당연히 뒤늦게 공부해야 하니 시간적으로나 지식의 양 자체에 대해 비전공자들이 불리한 측면이 있습니다.


그런데 한편으로는 다행인 부분도 있습니다. 전공자들이 신입사원으로 회사에 입사하자마자 전공 지식을 마구마구 뿜어내면서 업무를 수행할까요? 위에서 언급했듯이 당장은 눈앞의 코딩도 바빠 이론을 생각할 겨를이 많지 않다는 사실입니다.


따라서 단편적인 모습만 놓고 보면 신입사원 시절에는 전공 이론 지식보다는 코딩을 하기 위한 기술들에 국한되어 중요도가 높기 때문에 취업준비 기간동안 전공자와 비전공자의 지식의 간극을 좁히는게 불가능하지 않습니다.


다만, 앞서 언급한것 처럼 결국 연차가 올라갈 수록 기초지식들이 상당히 중요해지는 만큼 비전공자라 할지라도 전공자들 이상으로 공부해나가야 하는 부분이죠. (물론 전공자들도 계속 공부해야 합니다!)


물론 취업하는데 있어서 SW기초지식이 필요하지 않다는게 저~얼대 아닙니다. 매우 중요합니다. 따라서 취업을 준비할 때는 전공자들은 자신이 공부했던것들을 다시 정리해야서 이해해야 하고, 비전공자로서 SW엔지니어링 세계에 입문하시는 분들도 하나씩 하나씩 공부해야 합니다. 깊이는 조금 얕더라도 큰 그림에서 이해하는것은 전공 불문 필수 입니다.


아울러, 예전에 비해서는 기업에서도 비전공자의 기초지식 수준을 높게 요구 하지만 전공자와 동등하게 바라보진 않습니다. 어떤 기업에서는 비전공자라는 이유만으로도 전공자에 비해 상대적으로 깊은 이해를 요구하지는 않는 경우도 암묵적으로 존재 합니다. (적어도 저는 그렇습니다. 저는 오히려 잠재성을 더 높게 보거든요.)


결국

그동안 얼만큼 노력했고 앞으로도 꾸준하게 노력할 수 있다는 것을

보여주는게 더 중요합니다.


절대적으로 전공자에 비해 불리하지 않다는 저의 이야기를 차근차근 들어보던 B양의 안도하던 모습과 씁쓸하면서도 다행스러워 하던 모습이 생각나네요.


# 이 이야기는 실제 상담 사례를 기반으로 내용을 일부 각색한 부분이 있음을 알려드립니다.


keyword
작가의 이전글합격했어요!! 그런데 입사해도 될까요?