어쩌다 임베디드 개발자?!

Wang_Seok_Hyeon·2023년 10월 8일
0
post-thumbnail

Intro.

  • 2023년 1월 1일 : 제로베이스 백엔드 스쿨 9기 시작

    본격적인 백엔드 개발자 취업을 위한 학습 시작.

  • 2023년 10월 11일 : 임베디드 개발자 취업 후 근무 시작!

과거를 생각하며

처음에는 개발자가 되고 싶다는 생각을 가졌고. 이후엔 백엔드개발자로서 비즈니스 로직을 작성하는게 주요 업무인 일을 하고 싶었다. 그리고 현재는 하드웨어를 제어하고 이를 컨트롤하는 임베디드개발자로 업무를 해 나가며 앞으로의 발전과 새로운 진화를 목표로 하고 있다!

개발이란 무엇일까?

나는 왜 개발자가 되고 싶을까? 많은 개발을 시작하는 사람들의 첫 마디는 이런 이야기로 시작할 것이다.

저는 어릴 때 부터 컴퓨터를 좋아했습니다.

이런 말의 안에는 즈레, 이런 키워드들이 들어있다. 게임 또는 조립 조금 더 잘 가면 프로그램 만들기 하지만 프로그래밍 언어에 관한 깊이 있는 이해보다는 클론 코딩에 가까운 단순한 작업일 것이다.

그런데 위의 항목에 해당하는 내용을 안 가진 현대인이 있을까?
거의 전무할 거라고 본다. 컴퓨터를 좋아한다.는 그냥 지금 상황에서 보면

현실(?) 현장을 본 적이 없는 제대로 된 학습을 해 보지 않았을 수도 있겠다? 그냥 쉽게 말해서 아마추어 느낌의 단어로 느껴진다.

실제로 개발의 칼럼, 아티클들을 접하고 읽으며 느낀 것은 정말 어려운 세계라는 것이다. 하지만 이 어려운 세계는 단지 이해하지 못해서 발생하는 병목현상이며, 이를 이해하고 나면 한편으로는 허탈감이 밀려오고, 위기감 그리고 물경력공포증.과 같은 불안을 느끼는 것이 현실적인 개발의 현장에서 볼 수 있는 풍경이지 않을까 싶다...

제로베이스 과정이 끝나고, 취업하기 까지 대략 3개월 정도의 시간이 걸린 것 같다. 하지만 웹개발과 관련해서 취업을 성공한 것은 아니다. 그렇다고 취업에 절대적으로 실패했냐고 묻는다면 그렇다고 생각되지도 않는다.

시작 연봉으로 웹/앱 개발을 기준으로 봤을 때도 나쁘지 않은 수준이고, 지방에서 취업을 한 경우이기 때문에 실질 소비가 거의 없고 물가가 저렴하기 때문에 대충 계산했을 때 서울에서 생활하는 한 명 사람의 비용으로 환산했을 때 거의 2배 가까운 금액으로 추정했기 때문이다. 물론 근본적인 몸값이 낮다는 것은 팩트지만
현시점의 디메리트는 아닌 라고 판단했다.

최대 메리트는 +경력을 쌓을 수 있다는 점과
이 분야로 지속적으로 성장해 나가고, 뿐만 아니라 개발 전반에 관한 흥미를 잃지 않고 업무를 진행할 수 있으며 이에 따른 성장을 이룩할 수 있다는 점이다.

특히나, 취업 전선에서 이런 이야기를 들었던 기억이 있다. CS지식이 부족한 것 같다. 커뮤니티에서도 OS 전공서적을 한 번 보면 좋을 거 같다는 이야기도 들은 적이 있다.

이런 부분이 전공자와 비전공자를 나누는 벽이다. 라는 이야기였다.

벽 vs. 경쟁력

사실 벽보다는 경쟁력이라고 부르는 것이 맞을 것이다. 하지만 여기서 하나 짚고 넘어가고 싶은 부분은 전공자와 비전공자를 나누는 기준이라고 부르는 것에는 조금 문제가 있다는 생각이 들었다.
전공자와 대화를 나누었을 때 분명 나에게는 빈 페이지가 분명 있고 전체적인 구성을 그만큼 이해하지 못할 수도 있다.

하지만, 결코 전공자라고 해서 모든 부분이 명료하고 똑부러지는 것은 아니다. 전공자 중에서 개발자가 되지 않는 사람도 분명 있기 때문에(PM이라던지...) 더 특히나 이 부분에 동의하기가 어려웠다.

개발자라고 다 개발을 잘 하는 것이 아니듯, 단지 더 좋은 개발자가 되기 위한 하나의 도구로 이런 방향성을 추천한다! 정도가 나의 생각이고, 나 역시 공감하는 부분이 크다. 특히 네트워크 요소의 이해도 중요하고 현재는 ARM 프로세서를 공부하며, 이 부분에서 주요한 어셈블리 언어에 대해서도 알아나갈 예정이다.

더 더 더 밑으로! 이것이 경쟁력이 되리라 생각한다!

더 좋은 경쟁력을 가지자!

어셈블리 언어 뿐만 아니라, 회로, 데이터 시트, 영어 등 앞으로도 학습할 분야가 많고 모든 분야를 통해, 앞으로 이런 어휘를 안 들을 수 있는 개발자가 되고자 한다.

  • CS가 부족한 개발자.
  • 경험이 부족한 개발자.

사실, 정말 나도 공감이 된다. 최근에 대화를 해 본 비전공자 3년차 국비 수강생 개발자와 대화를 할 때, 나 역시 힘든 부분이 있었기 때문이다. 기본적인 개발의 라이브러리 사용 요소 또는 기술 스택에 대한 경험 부족이라던지, CS언어에 대한 소통의 어려움이 해당 항목일 것이다.

기업들은 코로나를 겪으며 이러한 인력을 많이 사용했고, 고배를 마신 기업들이 많았으며 1년~2년 경력의 개발자들이 시장에 쏟아져 나왔다.

뿐만 아니라, 취업을 위한 개발자로 장미빛을 생각하며 현재에도 많은 취준생들이 개발 시장에 불나방처럼 뛰어들고 있다.

그렇지만 이들이 결과적으로 마주하는 현실이 그렇게 달가운 현장이 아니라는 것을 안다. 달콤한 곳은 정말 많은 사람들이 달려들고, 기대 이상의 퍼포먼스를 3배 정도 보여줘야 한다는 말을 얼핏 들은 것 같기도 하다. 무슨 붉은 혜성 샤아냐고(건담 보세요)

안타깝게도 내가 준비할 수 있는 수준은 3배가 되지 못했고 FIT한 수준으로써 회사와 함께 성장하고 싶다는 생각으로 시작했다.

하지만 현재의 기업들은 성장 시켜줄 인원을 채용하지 않는다.
즉시 함께 일할 수 있는 인원을 채용하기를 원한다.

내가 임베디드 개발자 취업 면접에 들어갔을 때 부장님께서 질문을 하셨었다. 다른 회사들 면접은 가 보았냐고.

그리고 다른 회사의 불합격 후, 나는 질문을 했고 피드백을 받았으며 이를 통해 들었던 말 중에, 프로젝트 경험의 부족이라는 이야기를 들었고 그대로 말씀드렸다.

그랬더니, 그게 왜 신입을 뽑는 건지 모르겠다.라는 말씀을 하셨다. 프로젝트 경험이라는 게 신입한테 있을 수 있나? 라는 의문을 가지셨던 거 같다.

이에 관한 내용들은 상당히 복잡한 한국 현재 기업의 가치관과 리스크 관리에 대한 내용이기 때문에 자세히 다루지는 않겠지만...

나 역시 현재 느낀 한국의 개발시장은 그렇다. 경력자를 강력하게 원한다. 그것도 잘 하는 경력자를

이제는 취업 부트캠프에서 물경력이라는 키워드를 가지고 광고를 시작했다. 내가 부족하다고 느끼는 개발자는 정말 정말 정말 많다. 어쩔 수 없다. 개발은 학습하면 학습할 수록 어려워지고 스스로 나중에 벽을 정하게 된다.

가령, 어셈블리 극혐 이런 부분이랄까? 아니면 이진코드를 해석을 어떻게 해?! 더 나아가면 이런 부분이 있을 수 있겠다.

고급언어의 함정이라고 생각되는 부분이지만, 적어도 읽는 규칙이나 방식, 구조를 알아두는 것은 결코 어렵지 않고 그걸 통해 얻을 수 있는 인사이트의 방식에 대해서 알아보는 것이 분명 경쟁력이 될 거라고 생각한다.

그리고 이러한 경쟁력을 쌓을 수 있는 분야가 임베디드라고 생각했다.

임베디드가 돈을 적게 준다는 말이 있다. 그런데 진짜 지이이인짜 나중에 자신이 개발을 하고 싶다. 이렇게 되면 돈은 그렇게 중요한 요소는 아니다. 다만 생활에 있어서 기초적인 부분이 해결될 수 있다면 이 부분은 정말 부수적인 요소다.

돈을 많이 벌기 위해 개발자가 되겠다는 것은 과거의 나도 생각을 했고, 현재의 나도 생각을 하는 요소지만,
실력이 받침이 되면 저절로 따라오는 요소다. 즉, 어떻게 경쟁력을 쌓느냐가 더 중요한 것이다.

여기의 답변은 여러가지일 것이다. 하지만 가장 중요한 것은 정말 자신이 개발을 좋아하느냐일 것이다. 여기서 개발은 무엇이어도 좋다. 하지만 그 좋음을 지속할 수 있고 매일 계속할 수 있고, 꾸준할 수 있어야 한다.

생활적으로 코딩을 하고 생각하고 즐기는 개발자

이런 개발을 현재는 목표로 하고 글을 쓰고 정리하고 학습을 해 나가고자 한다.

Outro.

평생을 개발자라는 기술을 가지고 기계를 조작하고 이를 통해 내가 원하는 결과물을 얻는 것이 소프트웨어 엔지니어링의 전부일 것이다.

그렇다면 더 나아가서 하드웨어까지 더 Fancy하게 다룰 수 있고(반도체(???)) 이를 더 다이나믹한 퍼포먼스로 만들 수 있는 기술자가 될 수 있다면? 생각만으로도 즐거운 것 같다.

나는 개발이 좋고, 이 개발을 통해 내가 원하는 목표들을 모두 이룰 수 있다고 생각한다. 그 과정에 학습이 있고, 이 과정은 지루하고 재미없을 것이다.

하지만, 목표를 성취하기 위해서는 이 계곡을 넘어야 하고, 이 계곡들을 넘었던 경험을 통해 이야기 할 수 있는 것은 내 목표를 성취할 수 있을 것이라는 것이다.

물론 그 과정이 길고 어려울 수 있지만 해낼 수 있다! 이 점이 나에게는 중요하다.

내가 무엇을 만들고 싶은지는 나 역시 아직 명확하지는 않다. 다만 모든 것을 할 수 있고, 특히 컴퓨터를 좋아했다는 것을 증명하고 싶다.

서버를 만들어 보고 싶고, DB도 만들어 보고 싶고, ProgrammingLanguage도 만들어 보고 싶고, OS도 만들어 보고 싶다. 그 수준이 조악하더라도 좋다.

그것이 보잘 것 없더라도 스스로 해 나가고 발전시켜 나가는 형태로 새로운 것을 만들어 나갈 수 있는 기술자가 되고자 나는
임베디드 개발자가 되었다 :)

profile
하루 하루 즐겁게

0개의 댓글