ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 비전공자 iOS 신입개발자 취업 성공기 feat. 우아한형제들
    내 이야기/취업정보 2021. 12. 11. 18:35
    반응형

    안녕하세요!

    우아한형제들에서 iOS 개발자로 일하고 있는 레인스톤입니다.

    iOS 개발자로 커리어를 시작하기 위한 분들에게 조금이나마 도움이 되고자 글을 작성합니다:)

     

    학습(취준)기간을 바탕으로 정리한 글인만큼 지극히 주관적인 의견임을 감안하고 읽어주세요!

    불필요한 파트는 넘기시고 공감되지 않는 파트는 무시하셔도 무방합니다.

     

    학습기간

    21 01 04일 개발자가 되기 위해 공부를 시작하여  
    21 11 16일 iOS 신입 개발자로 우아한형제들에 합류하게 됐습니다.

     

    비슷한 시기에 네이버, 카카오 공채에 합격을 했던 거 보면?

    개발자로 어느 정도 인정받을 수 있을 만큼의 실력을 갖추기까지 10개월 정도 시간이 걸린 것 같습니다.

    물론 이 글을 읽게되는 모든 분들이

    10개월이란 시간만에 흔히 말하는 '네카라쿠배'에 취직할 수 있다고 말하는 건 아닙니다.

    다만, 비전공자가 iOS 신입 개발자로 취직하기 위해 어떤 방법으로 공부했는지 그 경험을 공유하고자 합니다.

    학습 방법과 방향 설정에 어려움이 많으신 분들에게 조금이라도 도움이 될 수 있으면 좋겠습니다:)

     

    긍정적인 & 적극적인 자세

    개발뿐만이 아니라 모든 분야에서 적용되는 말입니다.

    누군가의 성공스토리를 들을 때, 사람들의 반응은 일반적으로 두 가지로 갈립니다.

    1. 그건 너니까 된거지 나같은 환경에서는 어렵지.
    2. 저 사람도 했는데 나도 한 번 해보자!

     

    사실 긍정적인 자세 파트는 22년 1월 21일에 추가된 파트입니다.

    짧은 기간 동안 많은 분들이 개발자 취업관련해서 문의를 주셨고 답변도 드렸습니다.

    또 제가 도와드릴 수 있는 간단한 컨설팅은 도와드리기도 했습니다.

     

    그 과정에서 결국 취업에 성공하신 분도 있고 당연히 여전히 실패하고 계신 분도 있습니다.

    그리고 실패하신 분들의 특징을 정리하면 다음과 같습니다.

    1. 성공스토리를 듣고 부러워합니다.
    2. 그 사람만의 특별한 점이 보이기 시작합니다.
    3. 그 특별한 점은 나한테는 없을 것만 같다고 느낍니다.
    4. 아~ 이 사람은 특별한 사람이니까 됐구나...

     

    취업뿐만 아니라 모든 분야에 적용되는 이야기입니다.

    이런 태도를 가진 분들이 원하는 목표를 성취하는 것은 정말 쉽지 않습니다.

     

    제가 투자 공부를 하고 있는데 (투자하시는 분들 화이팅 ㅋㅋㅋㅋ)

    성공하신 분들의 책이나 강연을 봐도 결국 부자가 되는 못하는 사람은

    위에서 언급한 1~4번의 특징을 그대로 가지고 있다고 하시더라구요.

     

    긍정적이고 적극적인 자세는 아무 것도 아닌 것처럼 보이지만, 사실 가장 중요할 수 있습니다.

    저도 면접에 수없이 많이 떨어졌고 다시 자소서를 쓸 때 귀찮고 힘들었습니다.

    특히 최종면접까지 가서 떨어질 때면 기대를 많이했던만큼 더 좌절했습니다.

    또, 어쩔 때는 '와... 이렇게 작은 회사도 떨어지나?' 싶을 순간도 있었습니다.

     

    하지만 지금와서 생각해보면 떨어질만해서 떨어졌거나,

    실력과는 무관하게 스타일이 안 맞아서 떨어진 경우도 있었습니다.

    (그리고 사실 면접은 '운'도 정말 중요합니다. 어떤 면접관이 들어오느냐에 따라 합격여부가 좌우될 수도 있습니다.)

    그 모든 실패 케이스에 너무 큰 의미를 부여하면 아마 중간에 무너져버렸을 겁니다.

     

    실패를 통해서는 나의 부족한 점이 무엇인지 찾는 것에만 집중하면됩니다.

    자괴감을 갖거나 자존감이 낮아질 필요는 없습니다.

    충분히 더 좋은 회사에 붙을 수 있는 실력을 가지고 있어도, 컬쳐핏이 안 맞아서 떨어지는 경우도 많습니다.

     

    취업전략

    사실 취업전략은 반드시 다뤄야하지만, 동시에 다루고 싶지 않는 파트이기도 합니다.

    취업의 관점에서보면 매우 중요하지만... 학습의 관점에서는 별로 좋지 않은 내용일 것 같아서요 ㅠㅠ

    그래도 일단 취업이 우선일 수도 있으니까 전략적인 준비를 위해 간단하게 살펴보겠습니다!

     

    1. 어떤 기업이 목표인가?

     

    흔히 말하는 '네카라쿠배' 또는 그에 준하는 회사에 취직하는 것이 목표인 경우와

    일단 좋은 스타트업에서 경험을 쌓는 것이 목표인 경우 준비해야할 내용이 확실히 다릅니다.

     

    큰 기업들은 컴퓨터사이언스 지식과 코딩테스트 준비가 프로그래밍보다 중요한 경우가 많습니다.

    제가 가장 충격을 받았던 경험은 '네카라쿠배' 중 한 기업의 채용전환형 코테를 합격하고

    합격자들을 대상으로 설명회(?) 비슷한 걸 참여했던 순간입니다.

    사실 꽤 오래 전 일이라 정확히 어떻게 불리던 자리였는지 기억이 애매해서 설명회라고 적어놨는데...
    코테 합격자들을 대상으로 다음 전형이 어떻게 진행되는지? 설명해주는 자리였습니다.

     

    제가 충격을 받았던 질문의 예시입니다.

    - git을 사용할 줄 알아야하나요?
    - 각 포지션별(프론트/클라이언트/백엔드 등 프로그래밍) 지식이 있어야하나요?

     

    저는 처음에 이게 무슨소리인가 싶었습니다.

    당연히 할 줄 알아야하는 거 아니야!? 저 분들은 할 줄 모른다는 뜻인가?

     

    알고보니 그 분들은 프로그래밍 실무에 대해 전혀 지식이 없고 git을 써본 적도 없는 분들이었습니다.

    나중에 얘기를 들어보니 수학 전공자, 정보올림피아드 출신 등 

    코테에 강한 면모를 보이는 분들이 프로그래밍에 대한 지식 없이 지원하는 경우가 매우 많다고 하더라구요.

    그 분들에게는 기업공채 코테는 너~무 쉬운 수준이라고 합니다... ㅠㅠ

     

    물론 이 분들이 면접도 뚫고 최종합격을 했는지는 알 수 없지만...

    '네카라쿠배' 또는 그에 상응하는 회사가 목표라면 어쨌든 코딩테스트 통과가 우선이라는 뜻이죠.

    아무리 프로그래밍 실력과 지식이 뛰어나도 코테를 통과 못하면 내 실력을 자랑할 기회조차 없습니다!

    코테를 통과해야 내 자소서를 읽어주고 면접의 기회를 줄테니까요 ㅠㅠ

     

    코테를 통과한 이후에는 기술 면접에 대비해서 컴퓨터 사이언스 관련 지식도 필수입니다.

    대기업 코테 통과 후 면접에서 광탈한 적이 있는데 '이산수학'관련 내용을 물어본 적도 있습니다 ㄷㄷ

    물론 일반적으로 이산수학까지 준비할 필요는 없겠지만!?

    대기업들은 면접 때 기초지식을 생각보다 많이/깊게 물어볼 수 있다는 뜻입니다.

     

    여기서 알 수 있는 건 큰 기업들은 당장 일할 수 있는 사람보다

    앞으로 성장 가능성이 큰 사람을 뽑아서 키우겠다는 마인드라는 겁니다.

    개인적으로 친분이 있는 팀장님 한 분은 이렇게 말씀하시더라구요.

    신입사원은 1년정도는 연봉값 절대 못한다. 그걸 바라지도 않는다. 잘 성장하기만 하면 된다.

     

    하지만 스타트업에서 개발자로 첫 커리어를 쌓는 것이 목표라면? 얘기는 많이 달라집니다.

    사실 저는 우아한형제들에 입사하기 전 취준생 시절에 정말 많은 기업에서 면접을 본 경험이 있습니다.

    고기도 먹어본 놈이 잘 먹는다고 면접도 많이 본 사람이 잘 볼 거라는 생각 때문이었죠...

     

    그리고 느꼈던 점은 스타트업은 신입을 뽑아서 가르칠만한 여유가 없을 수도 있다는 점과

    오히려 큰 기업보다 사람을 더 어렵게 뽑을 수도 있다는 점이었습니다.

     

    너무 당연한 얘기지만 많은 사람을 뽑을 수 있는 재정적 여유가 없기 때문에

    가능성이 있는 사람을 뽑아서 키우기보다는 이미 성장해있는 사람을 뽑아서 당장 업무에 투입시킬 생각인 것 같습니다.

    그런 사람을 찾다보니 자연스럽게 경력직 채용 공고만 올리기 마련이고 신입에게는 기회가 없을 수 있습니다.

     

    아, 그럼 신입은 스타트업에서 일할 수 없는 건가요? 라고 물어보신다면 아닙니다 ㅎㅎ

    물론 스타트업은 대부분 경력직 채용 공고만 올리는 경향이 있습니다.

    하지만 여러분들은 그냥 경력직 채용 공고에 지원하시면 됩니다.

     

    스타트업이 바라는 건 실제 업무 경력이 있는 사람이 아니라 우리 회사에 와서 당장 일할 수 있는 사람입니다.

    다시 말하면 경력이 없는 신입이어도 출근해서 당장 일할 수 있을만큼 업무역량이 있다면 채용을 한다는 의미입니다.

    경력은 있지만 일을 잘 못할 것 같은 사람 vs 신입이지만 일을 잘 할 수 있을 것 같은사람 중에서는 후자를 뽑는다는 거죠.

     

    실제로 저도 가고싶은 회사라면 경력직 채용 공고에 그냥 다 지원했습니다.

    그랬더니 생각보다 많이 2년 ~  3년 정도의 경력을 요구하는 회사에서 면접을 보자는 회신을 받았습니다.

    몇몇 회사에서는 최종합격과 처우협의까지 진행한 경험이 있었구요.

    (물론 5년 이상 경력을 요구하는 공고에는 단 한 번도 합격해본 적이 없습니다 ㅋㅋ...)

     

    아! 그리고 스타트업의 경우 코딩테스트 대신 과제 전형을 요구하는 회사가 많습니다.

    과제전형을 통해서 여러분이 당장 실무에 투입할 수 있는 실력인지를 판단하겠다는 의미입니다.

    과제전형을 부여받으셨다면 영혼을 갈아서 과제를 완성시키세요.

    과제에서 요구하는 것 이상을 만들어내세요!

    경력직들은 생각보다 과제전형에 시간을 많이 투자하지 않습니다.

    회사업무가 바쁘고 동시에 진행 중인 다른 채용건들도 많기 때문에 한 회사에 올인하는 경우가 드물기 때문입니다.

    과제 전형은 경력직과의 경쟁에서 이길 수 있는 좋은 기회가 될 수 있습니다.

     

    그렇기 때문에 스타트업에서 커리어를 시작하는 것이 목표라면?

    컴퓨터 사이언스 지식이나 코딩테스트 준비보다  iOS 프로그래밍에 대한 학습과 준비를 하셔야됩니다.

    다양한 앱을 만들어보고 이론적 지식을 학습하고 실제로 개인 프로젝트를 통해 앱 배포를 경험해본다면 매우 좋겠죠?

     

    정리하자면

    1. 대기업이 목표라면 컴퓨터 사이언스와 코딩테스트가 더 중요하다.

    2. 스타트업이 목표라면 실무 능력이 훨~씬 더 중요하다.

     

    반대로 생각해보면 죽어도 컴퓨터 사이언스 공부나 코딩테스트가 싫다면 스타트업을 준비하시고

    컴퓨터 사이언스나 코딩테스트가 할만 하시다면 대기업으로 준비하셔도 좋은 전략이 될 수 있습니다.

     

    2. 자소서와 면접

     

    많은 분들이 자소서와 면접의 중요성을 잘 모르십니다.

    그냥 개발만 잘하면 합격할 수 있을 거라고 생각하시는 것 같습니다만...

    여러분의 개발 실력을 회사가 알 수 있는 방법은 없습니다.

     

    그 개발 실력을 확인하기 위해 자소서와 면접을 보는 것이죠!

    그렇기 때문에 '자소서 쓰기'와 '면접보기'에도 생각보다 많은 시간을 투자하셔야됩니다.

     

    생각보다 많은 시간을 투자한다의 개념은 지원 전에 여러번 수정하라는 뜻이 아닙니다.

    그보다 훨~씬 더 많은 시간을 투자해야한다는 의미입니다.

    개발을 공부하면서도 꾸준히 자소서를 써보시고 모의면접을 진행해보셔야 합니다.

     

    위에서 제가 말씀드렸죠?

    저는 우아한형제들 입사 전에 정말 많은X100 면접을 경험했었습니다.

    정확히 카운팅해본 적은 없지만 적어도 20번은 되는 것 같아요... 과장없이!

    20번의 면접을 보기 위해 몇 번의 자소서를 쓰고 몇 개의 회사를 지원했을까요?

    원티드 기록을 찾아보니 3월 ~ 8월 사이 자소서 컷만 50번 당했네요.

    이 때가 제 인생에서 가장 힘들었던 시기입니다 ㅠㅠ

     

    하지만 그 경험들을 통해 면접에 대해 많이 배우게 됐고

    면접관들이 뭘 물어보는지, 어느 정도까지 물어보는지 등을 알게됐습니다.

    덕분에 우아한형제들 기술면접 때는 '와... 이렇게까지 알고 계시네요.' 라는 답변을 들었죠.

    수많을 실패를 바탕으로 이뤄낸 결과였습니다:)

     

    자소서와 면접의 중요성을 절대 낮게 평가하지마세요.

    취업에 있어서는 여러분의 개발 실력보다도 중요할 수 있습니다.

    가고싶은 기업의 채용공고를 정독하고 그 기업에서 원하는 사람이 되기 위해 노력하세요.

    채용공고에서 원하는 사람처럼 보이기 위해 자기소개서를 쓰시고

    채용공고에 언급된 기술을 공부해서 면접에 참여하세요.

     

    그리고 최종적으로 가고싶은 회사에 지원하기 전에 많은 회사에 지원해서 면접을 경험하세요.

    면접에서 뭘 물어보는지 기억하시고 준비하세요.

    많이 털려볼 수록 많이 성장합니다!

     

    3. 도메인 지식

     

    도메인 지식은 옵션정도의 느낌입니다.

    있으면 좋지만 없으면 말지 ~ 하는 정도?

    그래서 정말 간단하게 설명드리겠습니다.

    하지만 확실한 건 있으면 좋습니다.

     

    특히 핀테크, 블록체인, 이미지/영상 처리 등 조금 특수한 도메인에 종사하고자 하신다면?

    해당 분야에 대한 지식이 면접 때 많은 도움이 됩니다.

     

    블록체인 회사에 개발자로 지원했는데 블록체인이 뭔지도 모른다(?)

    그닥 좋은 이미지를 주긴 어렵겠죠...?

    요건 사실 제 개인적 경험입니다 ㅋㅋㅋㅋ

    블록체인 회사에 기술면접 합격하고 최종면접에서 블록체인의 개념이 뭔가요?

    라는 질문에 제대로 답변을 못했거든요...

     

    결과는 광탈!

     

    학습 방법

    1. 컴퓨터 사이언스(CS)

    • CS공부는 진짜 열심히 했습니다.
    • 컴퓨터 내부구조, 자료구조, 알고리즘, 운영체제, 네트워크 등
    • 많은 책을 읽었고 (어떤 책을 읽었는지는 해당 파트 하단에 정리했습니다.)
    • 해당 내용을 실제 프로그래밍과 연관지어 공부했습니다.
    해당 내용을 실제 프로그래밍과 연관지어 공부했습니다?


    이게 무슨 말일까요?

    간단한 질문을 통해 이해를 해보겠습니다.

    면접이라고 생각하시고 잠깐 답변을 생각해보세요!

     

    Q. class와 struct의 차이점은 무엇인가요?

    A. 

     

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

     

    혹시 메모리 영역에 대한 설명까지 이어가실 수 있으셨나요?

    (물론 지금 당장은 못하셨어도 상관없습니다 ㅎㅎ 예시를 위한 질문일 뿐이니까요!)


    그럼 두 번째이자 마지막 질문!

     

    Q. 친구와 카톡으로 대화를 나누던 도중에 치킨 얘기가 나와서 배가 고파졌습니다.

         잠깐 배민 어플을 켜서 치킨집 리스트를 구경하다 교촌 허니콤보를 주문했습니다.

         이 과정을 프로세스와 스레드의 관점으로 설명해주세요.

    A.

     

    .

    .

    .

    .

    .

    .

    .

     

    답변하기에 무리가 없으셨나요?

    프로세스가 뭔지는 알고 스레드가 뭔지는 알아도 답변을 못하셨을 수도 있습니다.

    앞서 말씀드린 것처럼 지금은 답변을 못하셨어도 전혀X100 상관없습니다.

     

    이 파트에서 하고자하는 말은 CS와 Swift/iOS를 분리해서 생각하지 말자!입니다.

    Swift/iOS에 대한 개념 학습을 CS와 연관지어 공부하거나

    반대로 CS 개념을 Swift/iOS와 연관지어 공부하는 방법으로 학습하는 것을 권장드립니다.

     

    별도로 CS만 학습하기 vs 실제 프로그래밍과 연관지어 학습하기

     

    그냥 딱 봐도 후자쪽이 훨씬 깊게 그리고 제대로 공부할 것 같죠?

    컴퓨터 사이언스 공부의 핵심은 그런거 같아요.

     

    '이런 걸 왜 해야돼?' 라고 생각하면 프로그래밍에 하나도 도움이 안 될 수도 있지만

    실제로 프로그래밍과 연관지어 생각하면 모든 것이 관련이 있더라구요.

    컴퓨터 사이언스 공부는 절대 쓸모없지 않다고 생각합니다.

    열심히 해두시면 많은 부분에서 도움이 될 거에요!

     

    취업 준비 기간 동안 학습했던 책/강의 List

    • 명쾌한 설명과 풍부한 그림으로 배우는 TCP/IP 쉽게, 더 쉽게 - 리브로웍스/신상재
    • 그림으로 배우는 HTTP & Network - 우에노 센/이병억
    • 운영체제와 정보기술의 원리 - 반효경
    • 운영체제(KOCW) - 반효경
    • C++로 나만의 운영체제 만들기 - 박주항
    • 만화로 쉽게 배우는 CPU - Michio Shibuya/최수진
    • *여기부터 아래로는 CS아님 주의*
    • 클린코드 - 로버트 C.마틴/박재호
    • 클린아키텍처 - 로버트  C.마틴/송준이
    • 객체지향의 사실과 오해 - 조영호
    • 오브젝트 - 조영호

     

    2. Problem Solving (코딩 테스트)

    • 코딜리티
    • 프로그래머스
    • 백준

     

    코딜리티 문제 꼭 풀어보세요 X100
    전형적인 네이버, 카카오 코테와는 아예 다른 문제풀이 방식이긴한데
    컴퓨터적으로 사고한다는 게 뭔지 알려주는 좋은 문제들이 많아요.

     

    프로그래머스는 필수죠?
    네이버, 카카오 공채 코딩테스트 프로그래머스에서 진행합니다.
    여기있는 문제는 Lv.1 ~. Lv.3까지는 한 문제도 빠짐없이 다 풀어보세요.

    최근에는 난이도가 올라서 Lv.4 문제도 풀어보면 도움이 많이됩니다!

    Lv.4는 옵션입니다:)

     

    백준은 코딜리티와 프로그래머스를 끝내고 추가적으로 진행하시면 됩니다.

    저는 코딜리티 + 프로그래머스 Lv.3 까지 모두 풀어본 후에!

    백준에서 150 ~ 200문제 풀었을 때부터 대기업 공채 코테에 합격하기 시작했습니다.

    요즘 IDE 사용 못하게 하는 시험이 많아지고 있으니 가급적 사용 안하고 풀어보세요!
    참고로 전 스위프트로 모든 코테를 진행했습니다.

     

    꼭 스위프트로 코테를 봐야하나요?

     

    꼭 그렇다고 생각하는 건 아니지만, 굳이 다른 언어로 볼 이유가 없다고 생각합니다.

    cpp나 파이썬으로 풀었을 때의 장점은 뭔가요?
    기업 공채수준 코딩테스트는 언어의 장벽이 없습니다.
    스위프트로 코딩테스트를 본다고 다른 언어로 코테를 응시할 때보다 어려워지지 않습니다 ㅎㅎ

     

    네이버 또는 카카오 신입공채

    • 많은 문제를 푸는(통과하는) 것이 중요합니다.
    • 다른 언어로 응시했을 때 정답률이 더 높다면 다른 언어로 응시하시는 게 좋습니다.
    • 다만, 다른 언어로 응시하면 면접 때 스위프트를 사용하지 않은 것에 대해 질문이 있을 수도 있습니다.

     

    그 외 코딩테스트

    • 기업마다 다를 수 있어서 사전 확인이 필요합니다.
    • 스위프트로만 응시 가능할 수도 있습니다.
    • 정답뿐만 아니라 코드 퀄리티를 평가할 수도 있습니다.
    • 최근 iOS 포지션에 대해 스위프트로만 응시가능하도록 하는 기업이 늘어나는 추세입니다.

     

    3. Swift && iOS

     

    사실 이 부분 때문에 글을 작성하기로 다짐했습니다.
    생각보다 많은 분들이 책이나 강의 영상으로 공부를 하시더라구요.

    그것도 학습 시간의 거의 전부를 투자해서요...

    No offense
    근데 진짜 그게 도움이 될까요?

     

    저는 프로그래밍 전반(아키텍처, 코드, 객체지향 등)관련 책이나, CS책은 많이 봤어도...

    swift나 iOS프로그래밍 관련 책/강의는 본 적이 없습니다. 무슨 책이 있는지 조차 모릅니다.

     

    물론 책이나 강의가 아예 필요없다고 생각하지는 않습니다.

    개념을 이해하거나 구글링으로 얻을 수 있는 자료가 부족할 경우 최고의 선택이 될 수도 있습니다.

    하지만 책이나 강의가 주(main) 학습방법이되면 안 된다고 생각합니다.

    책이나 강의로 보고 배운 것을 자신의 것으로 만드는 과정이 반드시 필요합니다.

    요점은 책이나 강의는 보조자료로 적극 활용하되 지나치게 의존하지 말자! 입니다.

     

    저는 코드스쿼드라는 교육기관에서 6개월간 공부를 했읍니다(광고 아닙니다 ㅎㅎ 1원도 안받음).

    제가 이 교육 기관을 선택한 이유는 3가지입니다.

     

    1. 방치형 교육 ㅋㅋㅋ
    2. 광고가 없음
    3. 지인추천 - 카카오페이 안드로이드 개발자의 추천

     

    가장 큰 이유가 방치형 교육이었습니다.

    교육 기관에서 공부를 했다고하면 강사님들이 잘 가르치는지? 를 항상 물어보는데, 코드스쿼드에선 강의가 없습니다.

    그냥 미션을 던져주면 학습자들이 알아서 구글링해가면서 미션을 해결하는 방식입니다.

    아 물론, 강의가 아예없진 않습니다만... 일주일에 1번정도? 있었던 거 같은데,
    여러분이 원하는 그런 주입식 강의도 아닙니다.

     

    저는 이게 굉장히 중요하다고 생각합니다.

    한국식 주입식 교육이 마음은 편할지라도 제대로 뭔가를 배울 수 있을까요?

    그런 교육방식 때문에 한 때 저는 수학을 혐오했었습니다.

    덕분에 제가 완전 이과성향 + 수학을 좋아하는 사람이란 걸 29살에 알게 됐습니다.

     

    그래서 사실 여러분이 마음만 먹으면 교육 기관 && 책이나 강의의 도움 없이

    얼마든지 프로그래밍을 공부할 수 있다고 생각합니다.

     

    제가 코드스쿼드에서 배운 유일한 개념은 "자기주도적 학습" 입니다.
    물론 도저히 모를 때 누군가의 도움을 받는 일은 필요하지만

    뭔가 모를 때마다 누군가의 도움으로 문제를 해결하면 장담하는데 개발자 세계에서 살아남기 힘듭니다 ㅠㅠ

    주입식 교육으로 프로그래밍 레벨은 절대 오르지 않는다고 생각합니다.
    삽질하는 걸 두려워 하지마세요!
    삽질하는 걸 조급해 하지마세요!

     

    4. Swift/iOS Detail

     

    그래서 어떻게 공부를 했느냐?

    주구장창 앱을 만들었습니다.
    흔히 앱스토어&&플레이스토어 검색하면 나오는 그런 앱들을 6개월 동안 만들어봤다고 생각하시면 됩니다.

    아 ~ 클론앱 강의 들으셨나요?

     

    아뇨! 클론앱 강의 듣지마세요 ㅠㅠ
    내가 작성하고 있는 코드가 어떻게 동작하는지 모른다면?
    에러가 발생했을 때 절대 해결못합니다 ㅠㅠ

    남이 작성하는 코드보면서 아무 생각없이 따라 작성하지마세요!

     

    좋아하는 앱을 하나 골라서, 그냥 만들어보세요.
    이미 완성된 앱은 훌륭한 디자인 && 기획 가이드입니다.
    여러분이 디자인이나 기획을 할 필요가 없이 그냥 개발만 하면 되는 거에요.

    완성되어 있는 앱을 하나 타겟팅해서 그냥 똑같이 만들어보세요.
    처음엔 당연히 쉬운 앱을 고르셔야합니다.
    메모장, 투두리스트와 같이 쉬운앱이요.

     

    그리고 점점 난이도를 올려가며 여러앱을 스스로 만들다보면 자연스럽게 실력이 향상됩니다.

     

    5. Swift/iOS 이론

     

    이론 공부도 빼먹지마세요.

    주구장창 앱만 만들다보면 빠지는 함정이 있습니다.
    구글링해서 나오는 코드를 그대로 복붙해서 돌아가기만하면 넘어간다는 점이죠.

    저도 한 때 이렇게 공부를 했던 시절이 잠깐 있어서 후회합니다...


    우리의 목표는 앱을 완성시키는 것이 아닙니다.
    남이 만들어놓은 앱 그대로 만들어서 배포할 거 아니잖아요?

    학습을 목표로 앱을 만들고 있다는 사실을 잊지마세요!


    에러가 발생하면 왜 에러가 발생했는지 반드시 학습해보세요.
    원하는대로 동작하지 않으면 그 원인이 뭔지 학습해보세요.

    그 문제들이 개발 실력을 향상시켜줄 것이고 면접 질문에도 나오게 될거에요!

    끗!

    두서없이 글을 작성했습니다.
    다소 긴 ~ 글을 읽어주시느라 고생하셨습니다 ㅠㅠ
    일단 출간해놓고 가끔씩 읽어보면서 수정이 필요한 부분은 수정하겠습니다.

    혹시 피드백을 남겨주시면 피드백 관련해서도 수정하겠습니다!
    개발자가 되는 일은 생각보다 쉽지 않습니다만, 또 비전공자라고 불가능한 일도 아니라고 생각합니다.

    개발자로 커리어를 시작하게 되시는 날까지 화이팅입니다!

    반응형

    댓글

Designed by Tistory.