일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- FLASK
- keras
- Machine Learning
- detection
- 머신러닝
- 데이터
- 지능형
- Deep Learning
- Video
- 고급C
- 안드로이드
- Linux
- Android
- C언어
- sw
- tensorflow
- IMAGE
- 영상분석
- php
- 라즈베리파이
- tracking
- MySQL
- Python
- Raspberry
- RapidCheck
- Object Detection
- 서버
- 가상환경
- 디버그모드
- 정리
- Today
- Total
건프의 소소한 개발이야기
[SW Maestro/소프트웨어 마에스트로] 7기 합격 후기 본문
안녕하세요, 건프입니다.
소프트웨어 인재육성 프로그램, 소프트웨어 마에스트로 선발과정이 2016년에도 어김없이 찾아왔었고, 벌써 7기째입니다.
저는 6기 모집때 도전했다가 탈락을 하고, 7기모집때 재도전을 한 케이스입니다.
따라서 어째서 떨어졌고, 어째서 합격한 것 같은지 나름대로의 기준을 설명드릴 수 있을 듯하고, 이후에 도전하시는 꿈많은 엔지니어 분들에게 작은 도움이라도 되길 바라면서 합격 후기를 적습니다.
우선 과정을 살펴보면,
서류평가 -> 인적성검사 -> 심층기술면접
이 프로세스는 크게 달라지지 않습니다. (인적성 검사의 경우는 기수마다 다양한 시도를 하는 것 같지만 크게 비중은 없어보입니다.)
1. 서류 전형
우선 서류에서 붙는게 중요합니다. (서류에서 붙지 않으면 면접가서 자신을 어필할 기회조차 얻을 수 없으니까요)
서류에서 붙는데는 제가 생각하는데 몇가지 포인트가 있습니다.
학점? => No. 학점 쓰는 란도 없습니다. (학점이 높으면 무조건 좋은 개발자인가요? 합격생들중에서는 애초에 대학교를 나오지 않은 학생들도 많습니다.)
학벌? => No. 인적사항에 쓰는 란이 잇긴 하지만, 자기소개서를 등록하는 란에서 주의사항이 있습니다. 학교와 인적사항에 관한 내용을 절대 쓰지 말라는 문구가 있습니다. 즉, 평가하는데에는 학벌과 각종 인적사항을 고려할 생각이 전혀 없고, 순수하게 학생의 역량과 의지를 보겠다는 의도입니다.
외모? => ㅋㅋ..
그렇다면?
성실성?
=> 자신이 어떤 프로젝트를 했는지 적습니다. 프로젝트 1개는 필수, 총 3가지 프로젝트를 쓸 수 있습니다. 사실 여기서 서류통과의 당락이 많이 결정된다고 생각합니다. 소마에서 팀프로젝트는 빼놓을 수 없는 부분입니다. 따라서 팀프로젝트 경험이 얼마나 되는지 확인하려고 노력할 겁니다. 즉, 팀프로젝트의 경험치와, 그 질이 얼마나 되는지를 확인하려고 할 것이라는 의미입니다.
막상 작성을 시작하려고 하다보면 프로젝트 하나 자세히 작성하기도 쉽지 않습니다. 특히 오래된 프로젝트 일 경우에 기억이 안나거나, 자료가 부족한 경우가 허다합니다. 그런데 3개를 작성하려고 하면, 시간이 꽤 걸립니다. (어떤 수준이든, 시간들여서 작업한 프로젝트라면, 그 자료들을 소중히 보관하세요. 모두 당신의 자산입니다.)
하지만 여기서 귀찮다고 자신을 대표하는 프로젝트 하나만 딱 올려놓고 지원서를 제출하면, 소마에서는 "얘는 의지가 없거나, 프로젝트 경험이 많지 않구나" 라고 생각할 수 밖에 없습니다. 학교 프로젝트라도 괜찬습니다. 어차피 학생들에게 엄청나게 거대한 프로젝트 기대하지 않습니다. 자신이 의지를 가지고 꾸준하게 진행했던 프로젝트면 됩니다. 지원서 작성은 미리미리 시간을 두고 진행하고, 꼭 3개를 꽉 채우는 열정을 보여줍시다. 이것이 곧 당신의 성실성을 증명하는 또 하나의 방법입니다.
목적성?
=> 당연한 이야기지만, 본인을 대표하는 프로젝트 간에는 어느정도의 "스토리" 가 필요합니다. 단순한 수상작이나 프로젝트에 대한 나열일 수도 있지만,
왜 이 프로젝트를 했었고, 앞으로는 어떤 방향으로 개발공부 방향을 잡을 것이지를 암시하는 것입니다. 그렇다면 소마에서는 "이 학생이 미래발전가능성이 뚜렷하구나" 라고 생각하고 일단 면접으로 불러서 확인해 봐야 겠다는 생각을 하겠죠. 그렇게 만드는 것이 목적입니다.
전문성?
=> 학생에게 무슨 전문성을 기대하느냐고 할 수 있는데, 사실 선발과정에 있어서 굉장히 중요한 부분입니다. 또한 팀프로젝트를 소개하는 부분에서 약간의 모순성도 존재합니다. 왜냐하면, 팀프로젝트는 다른 인원과 함께 개발을 하기 때문에, 아무리 멋진 기능을 개발하고 연구했다고 하더라도, 다른사람 능력과 희석이 되어버리거든요. 따라서 반드시, "이 프로젝트에서 내가 무엇을 도맡아서 개발을 했다" 고 명확하게 설명을 해주는 것이 필요합니다. 이거 정말 중요한 것 같습니다.. 다시 말하면, 앞으로 프로젝트를 할때, 전문적으로 내가 도맡아서 진행할 부분을 정하고 하는게 좋다는 것도 곁들여서 말씀드리고 싶습니다.
2. 인적성 검사
1차 서류 합격 통보를 받으면 이제 소마센터에 가서 인적성검사를 보게 됩니다.
인성검사는 문제가 많을뿐, 정답이 없는 문제라서 크게 부담은 없는데,
적성검사의 경우에는 일종의 아이큐 테스트 같았습니다.
규칙성찾기, 전개도에 구멍을 뚫었을때, 완성하면 어디에 구멍이 생길까 같은 문제들?
이게 시간 문제가 있습니다. 시간이 엄청없습니다..
사실 제가 적성검사 스타일을 이때 처음 겪어 봐서, 처음에는 재밋다? 이러고 하고 있었는데 타임오바가 될때마다 한페이지씩 못풀어서 엄청 당황했었습니다..
근데 사실 인적성검사는 솔직하게 풀고 오면 되는 것 같습니다. 중요한 건 이어지는 "심층 기술 면접" 이죠.
3. 심층기술면접
심층기술면접은 코딩테스트(30분)과 면접(40분)으로 이루어져 있습니다. (코딩테스트는 시간 칼같이 지킵니다.)
각자 주어진 시간 센터를 도착하면, 함께 문제를 풀 면접자들 3명정도가 대기합니다.
같은방에서 랜덤하게 뽑은 문제로 같은 문제를 같은 시간동안 풀게되고, (문제의 난이도는 본인의 운입니다 ㅎ..)
푼 문제는 센터에서 나눠준 USB에 담아갑니다.
언어는 사실 상 자유이고, OS는 Window입니다. 제 기억에는 Visual Studio 와 이클립스 정도 깔려 있었던 것 같습니다.
문제의 난이도에 따라 다르겠지만, 컴파일을 해서 그 결과값이 나오지 않으면 빵점 은 아닙니다.
면접관분들이 어떤식으로 문제를 풀었는지, 로직을 확인하고 싶어하는 것이지, 실행여부를 묻지는 않았습니다.
따라서 코드를 짤때는 최대한 협업이 가능하도록 변수명과 구조를 잡아야 합니다. (사실 여기서 평소 코드를 얼마나 깔끔하게 짜는지 실력이 판가름 납니다.. 코드는 깨끗하게 짜는 연습을 하세요.)
저의 경우에는(이거 밝혀도되나?) 진법 변환 문제를 받았습니다. 인풋받는 10진수를 그 뒤 인풋받는 숫자의 진법으로 바꿔서 표현하는 것이죠.
나름 재귀함수를 써서 깔끔하게 풀었다고 생각했는데, 답지에 비해서 길게 풀었다고 한소리 들었었습니다 ㅠ_ㅠ
코딩테스트(30분) 을 마치고, 잠시 대기를 하고 난뒤, 면접장으로 들어갑니다. 면접관분이 4분정도 계셨고, 저는 혼자였습니다.(1:4)
자기 PR를 먼저하고 코딩테스트 얘기를 할지, 코딩테스트 먼저 보고 자기 PR을 할지는 면접방마다 다른 것 같습니다.(사실 순서는 그리 중요하지 않습니다.)
본인 PR 은 5~10분이 적당한 듯 합니다. (PPT 준비해갈 수 있습니다. 웅변 스타일을 좋아한다면, 없이 진행해도 상관없긴한데, ppt를 준비해가면 막히지 않고 진행하기에 좋습니다. 만약 ppt를 사용하지 못한다고, 현장에서 갑자기 그렇게 얘기한다고 해도, 일단은 준비해가는게 맞습니다.)
저의 구성은
- 간단한 소개
- 개발 철학
- 진행했던 프로젝트 => 내가 무엇을 중점적으로 개발했고, 왜 개발했으며, 그 결과로 어떤 것을 얻을 수 있었는지에 초점
- 앞으로의 일정
- 마무리 => 소마를 왜 들어가려고 하는지
이렇게 틀을 짜서 가져갔습니다. 내용은 최대한 알차게, 글자는 최대한 넣지않고, 사진과 도표를 주로 넣어 설명하는게 좋습니다.
본인PR이 끝나고 코딩테스트도 끝나면, 이제 질의응답 시간을 갖습니다.
본인PR때 주로 했던 기술스택 에 대해 전문가가 계신다면, 그쪽 방면으로 약간 심도있는 질문도 하십니다. 따라서 본인 주기술스택으로 설정한 분야에 대해서는 진짜 많이 공부했어야 하고, 프로젝트에 대해서는 빠삭하게 이해하고 들어가야 합니다.
예를들어, 본인이 안드로이드 서비스를 구글 스토어에 올려서 런칭해봤고, 그 서비스의 서버사이드 개발을 맡았었다고 얘기했다면,
거의 100%
- 현재 이용자가 몇명인지
- 트래픽 관리를 해본적은 있는지
- 갑작스럽게 사용자가 몰리는 경우에 서버사이드에서 어떤식으로 대응하고 있는지 알고 있는지
- 사용자 데이터는 어떤식으로 처리하고 있는지
- 어플리케이션의 버전 업에 따라서 생기는 충돌은 어떤식으로 해결할 것인지
등등 질문이 줄줄이 나오게 됩니다. 평소에 그 프로젝트를 진행하면서 생기는 여러가지 이슈에 대해, 머리 싸매고 고민했었던 경험이 있다면, 그 경험담과 이슈해결과정을 찬찬히 차분하게 설명하면 됩니다.
그리고 무엇보다 중요한 것이 있습니다.
겸손 vs 자신없음 // 자신감 vs 건방
본인이 어떤 스타일인지 알아두는게 필수적입니다.
- 자신감이 있게 보이려다가 건방지게 보이는 타입인지
- 겸손하게 보이려다 자신없게 보이는 타입인지
사실 둘다 치명적인데, 후자쪽이 더 치명적이라고 생각합니다(제가 후자 타입이었습니다). 제발 본인의 실력을 깍아내리지 말아주세요. 스스로 자신의 실력에 대해서 자부심이 없다면, 평가하는 사람 입장에서는 "얘가 자신감이 좀 부족하구나. 소마 과정을 하면서 버틸 수 있을지 의문이다" 라는 생각을 하게 되는 순간 끝.. 인 것 같습니다.
소마를 준비하는, 특히 심층기술면접까지 준비중인 당신은 분명 SW개발에 열정을 가지고 있고, 성장가능성이 풍부한 멋진 분들일 것임이 자명합니다.
면접의 목적은 "이 학생 생각이 참 패기롭다. 그런데 본인이 아는 바를 제법 논리적으로 설명한다. 한번 키워보자" 라는 생각을 하게 만드는 것이라고 생각합니다.
다시 정리하면, 명료하고 자신감있는 본인 PR로 면접관의 의심을 기대로 바꾸는 것. 심층기술면접의 초점이 되어야 할 사항입니다.
-- 마무리
6기때 부족한 실력이지만 패기롭게 도전했다가 낙방했었습니다. 그때는 하늘이 무너진 것 것 같았지만, 다시 1년동안 열심히 갈고닦게 만들어준 소중한 초석이 되었던 것 같습니다.
결과는 본인이 선택할 수 없지만, 도전여부는 본인이 선택할 수 있는 것이고, 도전한 당신은 이미 멋진 사람입니다.
앞으로 7기 생활을 하면서, 일어날 여러가지 에피소드들을 올리도록 하겠습니다. 대한민국 IT산업을 이끌어갈 학생 SW 개발자들을 응원합니다 :)
'잡다한 이야기' 카테고리의 다른 글
[imac] 아이맥 OS 재 설치 이야기 (2) | 2016.09.11 |
---|---|
[Tistory] 초대장 나눔합니다 (19) | 2016.06.22 |