지난 글(참조링크)에 이어서 주절주절 해보려고 한다.
어쩌면, 개발자라는 말을 하기에도 부끄러운 수준이라고 할 수 있지만
지난 글에서 설명했던 이 글의 소계의 목적을 달성하고자
꿋꿋하게 글을 이어서 써보고자 한다
오늘의 글에 대해서도 도움이 되었다면 댓글 좀 부탁드린다!
(물론, 수정이 필요한 부분에 대해서도 댓글은 환영이다)
일단 부트캠프든 국비학원이든 수강하기 시작했다면,
최대한 수업을 따라가면서 이해하도록 노력하는 것이 첫번째 목표가 될 것이다.
다만, 그냥 수업만 이해하자는 것을 목표로 삼지는 않는 것이 좋다.
개발자는 결국 개발이라고 하는 업무를 통해 서비스를 만들어내는 직업이므로,
항상 어떠한 서비스를 만들것인가 생각해보고 적용해보는 것이 중요하다 할 수 있다.
쉬운 예로, 커뮤니티 사이트를 만들고 싶다고 가정했을 때(프론트엔드 기준)
HTML로 사이트의 레이아웃 구성 등을 어떻게 할지 결정하고,
CSS로 사이트의 분위기에 맞는 디자인을 어떻게 할지 결정하고,
JavaScript를 통해 사이트에서 동적인 부분들을 어떻게 동작하게 할지를 결정해야 한다.
기술을 배우는 것은, 결국 도구를 익히는 것과 같은 행위이므로
도구를 어떻게 사용해야 하고 어디에 사용할 것인가를 고민하며 학습해야 한다
(이 쉬운걸 처음에는 모를수 밖에 없고, 알려줄 사람도 많지 않을뿐더러 체득하기도 쉽지는 않다)
본인이 전공한 지식이 아닌 것이라면,
더더욱 이렇게 학습하는 것이 빠르고 더 실무에 도움이 될 것이다
예를 들어, 스마트폰을 구입한다고 했을 때
스마트폰의 모든 기능 하나하나를 다 사용하기 위해서
사용설명서를 1페이지 부터 끝까지 다 읽는 사람은 거의 없을 것이다.
대부분 주로 사용하는 기능이 정해져있고,
스마트폰을 처음 구입하는 것이 아니라면 사용설명서를 읽을 필요가 없을지도 모른다.
기술을 공부할 때도 이와같은 접근 방식을 가지는 것이 도움이 된다고 할 수 있다.
(하지만 부트캠프가 아니라 국비학원을 다닌다면 아마도 정해진 기술을 처음부터 끝까지 세세하게 배울 확률이 높다.)
그렇다면 어떠한 지식이 우선순위가 되는지 알려면 어떻게 해야할까?
그 답은 생각보다 간단하다.
바로 직접 서비스를 만들어보는 것이다
어느정도 기술에 대한 학습이 되어간다면
그것을 어떻게 조작해서 어떤 동작을 하게 하는지 알 수 있을것이고,
서비스를 만들때 필요한 지식을 위주로 습득하는게 빠르게 공부할 수 있는 방법이다.
아마 교육을 듣는 과정 중에도 프로젝트 과제가 당연히 있겠지만,
좀 더 확실하고 빠른 공부를 원한다면 지식을 계속해서 적용해 보는 과정이 필요하다.
(이럴 때 문제를 푸는 것보다는 서비스를 만드는게 더 재미있게 공부할 수 있는 방법이지 않을까 싶다.
수강한 내용을 서비스를 만들면서 복습하는 방법을 적용해 보면 좋을 것 같다)
서비스를 만들다보면 막히는 부분이 너무나도 많이 나올텐데,
그럴때는 개발자의 영원한 친구인 구글을 이용해야 한다
구글에 그때 그때 필요한 내용들을 '영어로 검색'하면 된다.
영문으로 검색하는 이유는 개발 관련 커뮤니티가 가장 발달된 곳이
대부분 영문으로 질의응답을 하고 있기 때문이다.
(가장 대표적인 것이 스택오버플로우)
영어를 할 줄 몰라도 괜찮다.
크롬이라는 브라우저에는 훌륭한 번역기가 탑재되어 있기 때문이다.
(영문과 나오신 분들이 극대노할 일인지 몰라도, 지식을 습득하는 데에 큰 무리는 없을 것이다)
정 두렵다면 한글로 검색해도 초심자 입장에서 질문할 수준들에 대한 답은
전부다 개인 블로그 등에 많이 올라와 있으니 걱정하지는 말자.
이렇게 서비스를 만들다보면,
나에게 어떤 직무가 맞는지 금세 알 수 있을것이다.
그렇다면 이제 진짜 선택을 할 시간이 찾아온 것이다.
사실 본인이 어떤 것이 맞겠다 하는 것은 본인이 제일 잘 알테니
굳이 어떤 성향이 어떤 개발자가 어울리겠다 하는 뻔한 말은 하지 않는게 낫겠다.
(나의 경우에는 나의 코드가 적용된 것을 눈으로 바로바로 확인할 수 있는 프론트엔드가 좋았다)
그리고 어쩌면, 실무를 하면서도 이러한 성향이 바뀔 수 있으므로
본인이 원한다면 끝없이 학습을 통해 성장하는 개발자가 되는 것이 가장 좋겠다
본인이 원하는 직무를 제대로 선택했다면,
개발이 실질적으로 어떤 협업과정을 거치는 지에 대해서 반드시 알 필요가 있다.
개발자라는 사람은 생각보다 다양한 사람과의 협업을 필요로 하기 때문이다.
교육과정 중에는 단순하게 백엔드와 프론트엔드로 나누어서 협업 과정을 진행하겠지만,
실무에서는 기획자, 디자이너, 백엔드, 프론트엔드, IOS, Android 등 다양한 실무자들과
다양한 소통방식을 통해서 협업을 하는 과정을 가지게 된다
개발자는 개발을 잘해야 하는 것이 0순위로 중요한 일이겠지만,
그만큼 중요한 것이 커뮤니케이션이라는 것을 항상 느꼈던 것 같다.
개발이라고 하는 전문성이 가미된 지식에 대해서 다른 사람을 설득해야 하는 일이 생겼을 때,
그것을 어떻게 잘 풀어서 설명할 수 있는가에 대한 것도 개발자에게 반드시 필요한 역량이라는 생각이 들었다.
개발자는 '왕'이 아니기 때문에,
'돼요' 나 '안돼요' 같이 단순한 답변으로 상대방을 설득하려고 하지말고,
협업이라는 큰 틀 안에서 서로를 이해하고 배려하는 차원에서 서비스에 대한 전반적인 지식이 반드시 필요하다.
개발자에 입장에서는 어떤 기능 하나 어떤 버튼 하나 같은 내용이
너무나 크게 크게 중요한 것들이겠지만,
기획자나 디자이너의 입장에서는 그것이 그렇게 크게 보이지 않을 수 있기 때문이고
반대로, 개발자의 입장에서는 어떠한 기능이나 디자인이 반드시 필요한 것인가 생각이 들어도
기획자나 디자이너의 입장에서는 클라이언트(소비자)의 요구에 따른 요청일 수 있기 때문이다.
어쩌면, 나같은 다능인('모든것이 되는 법'의 저자, 에밀리 와프닉이 제시한 개념)이 개발자가 되기에
가장 적합한 사람일지도 모르겠다
이렇게 열심히 공부하고 부단히 노력해도,
한 번쯤 슬럼프가 찾아올 때가 있을 것 같다.
나에게는 지난 1월이 그러했는데,
어쩌다가 코로나에 확진이 되었고 재택 치료를 하던 중에
폐렴소견이 보여서 병원에 입원해 격리된 적이 있었다.
하루 종일 병원 방에만 갇혀 하는것이라곤
눈뜨고 밥먹고, 인터넷이나 보다가 밥먹고, 그러다가 밤이되면 자는것이었다
(심지어 이 때 병원 공유기도 잘 안되어서, 폰 요금제를 바꾸게 된 계기가 되었다)
집에서 가족들과 같이 격리되어 있을 때에도
밖에 한 걸음도 나가지 못하고 아무것도 하지 못하는 것이 싫었는데
가족들과도 이별을 하여 병원에만 갇혀있는다는 게 지옥이 따로 없었다.
(정말이다. 나는 퇴원하고 집에와서 우리집 강아지를 보고 오열까지 해버렸다)
그렇게 일주일 이상을 앓고, 가족까지 잃어보고(?) 나서
몸도 마음도 너무 많이 지쳐 아무것도 하지 못하는 무기력의 상태에 들어갔었다.
이 때는 정말 모든 것을 놓고 싶은 심정이었다.
그치만 나는 부끄럽고 싶지 않았고,
다시 이전 회사와 같은 곳에서 일하고 싶지 않다는 생각이 강하게 있었다.
그래서 항상 포기만은 절대 하지 말자는 생각을 마음속에 품고 있었다.
아마 이 글을 읽는 여러분들 중에서도,
슬럼프가 찾아오는 일이 대단히 많을 수 있을 것 같은데
본인이 가치를 두고 있는 것들을 찾아보았으면 좋겠다.
'내가 여기서 포기하기엔 ~~가 너무 아쉬워..' 하는 것들
그런 것들을 생각해보면 좋을 것도 같고,
그게 아니라면 지금의 나를 위해 애써주거나 힘이 되어주는 사람들을 생각해도 좋을 것 같다.
어떠한 감정이든 상황이든,
이전보다 더 낫게 만들고 싶다는 생각이 있다면
그저 그런 상황에서 포기하는 습관을 버리고 갈때까지 가보자는 마인드로
한 번은 끝까지 가보는게 좋지 않을까 라는 생각이다.
가장 최근에, 개발자 직무의 혹한기(?)가 찾아왔다는 걸 알게되었다.(참조영상 : 개발바닥 유튜브)
하지만 현실이 그렇다고 하더라도 쉽게 마음먹지 않았던 일인 만큼
포기가 빠르지 않았으면 좋겠다는 게 나의 개인적인 의견이자 바램이랄까,
사실은 지금의 나에게 해주고 싶은 말이기도 하다.
지난 1월의 내가 그 때 포기하지 않았던 덕분에,
3월에 교육과정을 무사히 수료하고 4월에는 운 좋게 취업에도 성공할 수 있었던 것 같다
비록, 3개월의 짧은 근무로 운명을 달리한 바 있지만
그래도 그 짧은 시간속에서 나름대로 얻은 것이 굉장히 많다고 생각한다.
그만큼 내가 강조하고 싶은 것은
쉽게 포기하지 않을 만한 힘을 만들어 둬야 한다는 것이다.
지난 글에서도 언급했던 것처럼
개발자는 한계에 수없이 부딪히는 직무 중 하나인데,
쉽게 포기하는 습성을 지닌 사람이라면 절대 개발자로서 살아남을 수 없을 것이다.
나는 다른 건 몰라도 생각보다 끈기가 있는 사람이었던 것 같다.
(제대로 갖추어진 개발지식도 없는데 90군데나 지원하는 패기는 덤이랄까)
과연 그 포기하지 않는 힘은 어디에서 나왔던 것일까?
나의 경우에는 함께 살고있는 가족이 아니었나 싶다.
사랑하는 아내와 귀여운 강아지 한 마리가 나에게 원동력이 되었다.
나는 무슨일이 있더라도 이 가정을 지키는게 내 사명이라 여겼기 때문에,
물러설 곳도 없었지만 쉽게 물러서고 싶은 생각도 없었던 것 같다
여러분들도, 포기하지 않을만한 힘을 만들어 두는 게 좋겠다
그것이 어떤 것이든 긍정적인 영향을 주는 것이라면
그것을 기반으로 하는 끈기의 힘을 만들어 두기를 개인적으로 권면한다.
사실 가진게 부끄러운 경험일 뿐이라 이러한 글이 얼마나 도움이 되겠냐마는
나처럼 처음부터 헤메이는 사람이 없기를 바라는 마음에서 적어보았다
나는 개발자 지인도 지식도 정말 아무것도 없는 무의 상태에서
코딩 국비학원을 어쩌다 그냥 준비도 없이 들어가게 되었던 터라
지금까지의 과정에 전혀 순탄함이 없었던 것 같다.
늘 언제나 열등감 폭발이었고, 뒤쳐진다는 생각에 사로잡혔고
슬럼프가 찾아왔을 때는 아무것도 하지 못하는 바보처럼 느껴지기도 했다.
그러니 이 글을 읽는 여러분들은 부디
아무런 준비나 지식없이 개발 업무에 뛰어들지는 않기를 바라는 마음에서
이러한 글을 적어보게 되었다.
이상으로 아직도 갓난아기 같은 개발자의 글은 마치고
다음 글을 쓴다면, 일단은 두 개의 긴 글을 짧게 요약정리 해보도록 하겠다
정말, 블로그를 쓰지 말아야 할까..? (개발자 블로그) (2) | 2022.08.11 |
---|---|
백엔드 개발보다 프론트엔드 개발이 더 좋았던 건에 대하여(개발자 입문기) - 1 (0) | 2022.07.26 |
댓글 영역