728x90

행운의 사진.. 쓸 썸넬이 없다면 무조건 이놈이다

그토록 원하던 서버개발자가 되고 힘들었지만 어느덧 100일차가 넘어가고 있는 시점이 되었다.

100일간 어떻게든 1인분은 하기 위해서 노력했고 물론 1인분은 못하지만 나름 도움이 되고 있지 않나?혼자서 위로할 수있는정도는 된것 같다. 

 

100일간 크게 서버 개발자로써 나름 여러가지 경험과 성과를 이룬것 같다.

1. ORM만 사용하다 SQL의 묘미를 알아내다!

솔직히, 취업 전까지 sql을 직접 쓰는 일이 없었다. 애초에 orm만 사용하다 편리함에 잊혀졌고 sql 사용하는 방법도 가물가물했다. 그러다 json 필드에 데이터를 막넣어서 꺼내쓰던 비정규화의 끝판왕이던 테이블을 정규화하는 작업을 하게 되었고 기존의 데이터를 정규화한 필드에 알맞게 넣어야하는 일이 생기며... sql을 쓸수 밖에 없게 되었다. 하지만 이게 뭐람 python 스크립트로 django 임포트후 for문을 돌려 하나하나 넣어야 하지않나? 밖에 생각못하던 것과 달리 postgres의 문법은 update에 특화 되어있지 않나? 생각했다. 물론 sql의 묘미는 이것이 아니라 group by를 탑재하신 Read에서 성과를 드러냈다. 여러 이슈가 생기는 실서비스에서는 원인이 무엇인지 데이터베이스에서 조금만 찾아보면 다나온다 그리고 다른팀에서 데이터를 요청했을때 sql을 사용하면 쭈르륵 나오게 된다ㅎㅎ 매번 print문으로 뽑아서 주던 이전의 나의 모습은 잊게 되었다.

2. 성능을 끌어올리는 법을 알아 가고 있다.

1번의 경험과 이어지는데 기본적으로 정규화 vs 비정규화를 비교한다면, 항상 그렇지는 않지만 조회시 정규화가 잘된 구조가 성능이 더 좋다는걸 몸소 알게 되었다. 물론 생성 삭제, 수정시에는 안그럴수도 있겠지만 기존에 비정규화되어있던 테이블에서 데이터를 가져와 2중 반복문 구조를 벗어던지고 쿼리 한번으로 해결하게 되어 속도가 기존과 비교해 굉장히 빨라졌다. 이작업을 하며 몸에 익힌 팁은 아래와같다.

 

- 서버에서 데이터베이스 호출은 최대한 줄여야한다. 비용이 상당히 높다.

- 데이터호출 2번 vs 데이터 호출 1번 + for문 이라면 예외 상황을 제외하고 보통 후자를 선택해야한다. 네트워크 호출 한번이후 메모리에 데이터를 올리고 작업하는것이 확실히 빠르다.

- 결과가 true, false로 구현되는 구조라면 exists를 애용하자! 모든 데이터를 끝까지 조회하는것은 굉장히 비효율적이다. exists면 해당 조건에 걸리는순간 결과를 반환한다. 물론 false라면 끝까지 가겠지만? 조금이라도!!데이터가 많으면 많을수록 개선효과가 두둑할꺼다.

- 언어의 내장함수를 애용하자! 사실 내장함수는 내가 그냥 구현하면 되는거잖아?라는 생각을 가지고 있었고 필수적인 것을 제외하고는 일부러 익히려고 하지 않았다. 하지만, 내장함수의 내부구조를 까보면(물론 python에만 해당할수도있는얘기!) 그건 아니였다. 내가 구현한 방법보다 훨씬 최적화되어 구현되어있고 또 알아가다보면 python comprehension처럼 일반 적인 for append구조보다 성능을 배로 띄어나게 만들수 있는 좋은 함수들이 있다.

 

말이 너무길어지는데 이번 챕터는 따로 블로그에 게시를 해야겠다.

 

3. 테스트와 문서화는 선택이 아닌 필수다. 

사실 나는 이두가지가 필요없는것이라 생각했다. 테스트 자체는 예를 들면 3과5를 더했을때 8인가요?라는걸 확인 하는것과 같이 느껴왔고 문서화는 내가 코드를 가독성 좋게 짜고 폴더 및 파일 구조도 잘배치 하면 해결된다 생각했다. 내생각이 먼저 바뀐 건 문서화부터였다. 이미 몇년간 서비스를 지속하며 여러명의 개발자들이 거쳐간 서비스는 대체로 나같은 신입 뿐만 아니라 경력직분들도 파악하는데 굉장한 어려움을 느끼며 초반에 먼저해야하는 작업이다. 해당 서비스의 목적과 히스토리 그리고 배포 및 빌드 방법과 같은 문서가 제대로 정리 되어있다면 후에 오는 개발자들을 위해 도움이 될뿐만아니라 시간이 지나고 다시 유지보수를 해야할때 자신에게도 굉장한 시간절약이 될것이다. 

 

테스트의 경우, 코드 리팩터링 과정을 거치고 당연히 내가 만진 부분만 테스트 후 커밋해서 서비스 배포를 진행 했는데 주문을 하는과정에서 내가 고친 코드의 오류로 인해 다른 증정 상품이 나가게된 상황이 발생했다.... 이때 굉장한 멘붕이 왔고 정신을 차리고 난후 테스트의 중요성이 여기서 나오는구나라고 느끼게 되었다. 3+5=8이라는 당연한 결과를 테스트 하지 않는것은 수백 수천개의 함수와 클래스로 이뤄진서비스에서 하나가 바뀌게 되면 3+5=300이라는 결과를 초래할수 있다. 이는 내가 고친 부분이 다른곳에도 영향을 끼치기 때문이며 시간을 생각했을때도 매번 고칠때마다 직접 하나하나 확인하는것이 아닌 똑같은 상황을 테스트 코드로 미리 설정해둠으로써 우리가 예상한 3+5=8이라는 결과가 커밋시에 매번 서비스 전체적으로 동일해야함을 확인하는 과정을 거침으로써 문제발생을 대비할수 있다.

 

 

주저리 주저리 말이 많았는데 100일간 나도 모르는 사이에 실력이 많이 늘어난것 같다는 느낌을 받고 있고 새로운것을 습득하는 재미를 느낀다. 사실 나는 도움이 안되고 그냥 민폐만 끼치는거 같다라는 생각때문에 조급해하며 회사일에만 메달려 있었는데 매번 조급해하지 않아도 된다는 좋은 동료분들이 있어서 다행이고 그런 조급함이 오히려 나의 성장에 도움을 줬다는 생각도 한다. 이제는 워라벨을 찾아 보려 하는데 취미중 하나로 기술 블로그를 활성화 시키는걸 해볼까 한다. 암튼! 다음 마음가짐 카테고리는 200일차에 오늘걸루!!! 그때 까지 화이팅이다~

728x90
728x90

그동안 꿈꿔왔던 백엔드 개발자가 8월 1일부로 되었다!

 

사실 자세하게 말하면 원래는 6월 27일부터 다른 회사의 서버개발자로 들어가긴했지만ㅎ... 여러 사정으로인해 첫회사를 다닌지 15일? 만에 조금은 두려워도 퇴사를 마음먹고 다시 새롭게 출발하게 되었다.

 

간단히 말하자면 퇴사이유내가 생각했던 신입이 성장하기 좋은 회사가 아니라고 생각이 들었기 때문이다. 당장 1년뒤의 모습을 생각했을때 더 성장하기 좋은 회사로 빠르게 옮기는 것이 좋다고 생각되어 두려웠지만.. 퇴사를 했고 다시 취준을 하며 다행스럽게 합격하게 되었다ㅎㅎ

 

1,2차 취준간 총 50군데 정도 지원한것 같고 절반정도의 면접 기회 최종합격은 8곳 되었다. 이래저래 자존감도 많이 내려가고 퇴사후 이직이다보니 불안함도 많았는데 주위의 친구들 그리고 함께 공부해주는 일명 GODJANG팀원들 덕분에 견딜수 있었다!!

 

다행히? 회사에서는 내가 좋아하는 django프레임워크를 사용하고 있어서 당장의 코드 파악은 어렵지 않은데 스타트업 규모다 보니 데이터를 정제해서 bi툴도 만들고 인프라까지 관리를 해야할것 같아 이래저래 배울건 많지만 그래도 너무 만족하고 근무중이다. 무엇보다 같이 일하는 개발자 분들 모두 5년차~20년차까지 다양한 경력을 가지고 계셔서 배울점도 많다.(하지만 질문드리기 부담스럽...)

 

당장은 매번 orm만 사용하다 보니 잊어버린 sql문을 부랴부랴 다시 공부하고 대시보드를 제작하고 있어 바쁜 하루하루 지내고 있지만 다음주 새로운 기능 마이그레이션 회의에 참가할수 있는 기회가 생겨서 설레는 맘으로 자진해서 주말에도 코드리뷰 진행중이다ㅎㅎ

 

최근 큰 변화라면 주말에 따로 약속 없으면 그냥 카페에 노트북 들고가서 사이드 프로젝트 만지작만지작 했는데 요즘엔 그냥 회사로 출근해서 회사에서 작업하는 변화가 생겼고 회사끝나고 칼퇴보단 퇴근후엔 개인공부를 회사에서 하고 있어서 집 -> 회사 -> 운동 이패턴이 자리잡아 오히려 건강해진거 같은느낌이다. +) 7년간 못해오던 금연도 성공 했다!

 

대학교 3학년때까지는 컴공이지만 개발자가 될것은 생각도 안했고 영상, 영업, pd가 되지 않을까? 했는데 어찌저찌 열심히 다시 하니 개발자가 된것에 매우 만족한다ㅎㅎ 인턴 종료후 7개월만에 새로운 회사의 신입으로써 일원이 됐으니 인턴 처음 시작당시 먹었던 마음인 "회사에 실질적으로 도움이 되는 인재가 되자!"라는 마인드를 다시 갖추고 일할것이다~

728x90
728x90

올해 2월말 부터 드디어 연합 개발 동아리를 할수 있게 되었다!!

아무런 준비가 안된상태로 지원만 하다가 매번 떨어지기 일쑤였는데 어느정도 프로젝트를 할수 있겠다!라고 생각될때 지원을 하게 되었고 다행히 합격 하게 되었다!!


리쿠르팅 절차는 서류 -> 과제 -> 면접의 과정을 거쳤고 3주정도 소요된것 같다.

 

과제를 각자 지원한 node, django, react, ios, android, design파트에 맞게 서류를 통과하면 과제가 제시되었고, 나는 당연히 django 과제를 받았고 todolist를 만드는것이였는데 단순히 CRUD구현이 아니라 여러 생각해볼만한 조건에 맞게 API를 설계하는 과제였다. 그동안 생각지 못했던 조건이 있어서 과제를 하면서도 공부를 할수 있는 좋은 과제였다.

 

면접같은경우, cs나 알고리즘 자료구조와 같은 지식을 확인하는 것이 아닌 제출한 과제에 대한 코드리뷰와 함께 인성면접?을 봤는데 비교적 편안한 분위기에서 볼수 있었다. 나중에 들어보니 여기는 회사 개발자를 채용하는 곳이 아닌 함께 프로젝트를 진행하며 매끄럽게 협업을 진행할수 있는 사람을 뽑는 자리이기 때문에 이런 분위기의 면접을 봤다고 했다!


아직 프로젝트 개발에 들어가지는 못했지만 그래도 1달정도 프로그라피를 하며 정말 좋은점이라고 느꼈던것은

1. django에 대해서 궁금한점을 질문하고 내코드의 개선점을 피드백해주시는 멘토가 생겼다.

프로그라피에 지원한 가장큰 이유중하나가 아무래도 node나 java기반의 개발자분들이 많다보니 내가 짜고 있는 코드가 현업에서 활용되는건지? 필드명은 맞게 짓는건지? 구현을 이렇게 하는것이 최선인지?등 모든것이 불확실했는데 1달여간의 세션을 장고 운영진 분이 해주셔서 정말 많이 배우고 그동안 내가 짯던 코드들의 허점을 많이 느낄수 있게 되었다. 정말 생각을 하며 개발을 하는 방법이 먼지 절실하게 배우고 있다.

2. IT업계에 종사하는 현업자분들과의 소통의 장을 얻을수 있게 되었다.

프로그라피에는 대학생들도 많지만 많은 분들이 현업에서 일하고 계시는 분들이 많다. 특히, 우리의 멘토가 되어주시는 운영진분들은 대부분 현업자분들이신데 개발 지식뿐만 아니라 다른 분야의 동료들과 소통을 할때 어떻게 해야 상대방이 기분이 나쁘지 않게 말할 수 있는지 협업은 어떤식으로 진행해야 하는지를 느끼게 되었다. 사실 지금까지 내가 협업을 할때는 대부분 회의의 준비부터 결과까지 내가 직접 다운영을 하고 대부분 내의견에 따라서 진행된 경험이 많았기 때문에 이부분은 따로 생각할 기회가 없었는데 덕분에 다른사람과의 협업을 어떻게 해야하는지? 많이 배우고 있는것 같다.

3. 기획을 폭넓게 생각할수 있게 되었다.

아무래도 포트폴리오 목적의 프로젝트를 많이 진행하고 별생각없이 항상 커뮤니티 위주의 프로젝트를 기획을하게 되었고 당연히 어플이라면 커뮤니티성 프로젝트가 인기가 많을거라고 생각했다. 하지만 이번에 기획을 뒤집게 될 상황이 생겼는데 도움을 주러오신 멘토 분께서 실질적으로 사용할 유저들의 폭을 꼭 한국의 유저 뿐만이 아닌 그리고 커뮤니티 앱이 아니더라도 간단한 유틸성 앱또한 사람들이 많이 사용한다는 것을 설명해주셨다. 항상 유저끼리의 소통이라는 곳에만 꽂혀 있던 나에게 약간은 충격이 된 기회였다. 아직 3개월여간 진행할 프로젝트의 기획을 확정짓지 못해 고민이 많긴 하지만 정말 유저가 사용을 할 매력있는 어플을 기획하고 개발에 진지하게 임할 생각이다.

 

암튼, 대학교 졸업전에 it연합동아리를 꼭 경험해보고 싶었는데 이런 기회가 생겨서 너무 좋고 처음 마음 먹었던 것처럼 한기수를 끝낼때 보람찰수 있도록 미루지말고 열심히 공부하고 참여해야 겠다~

728x90
728x90

사실 나는 돈을 많이 벌고 싶다는 목표가 있다.

당장엔 취업할수 있는 가장 큰 방법은 개발자라는 직업이며 솔직히 개발하는것 자체가 즐겁다. 사람들과 소통하며 에러를 밤새서 수정하고 났을때 쾌감이 너무 좋다. 그리고 최종적으론 나만의 서비스를 만들어 창업을해서 좋은사람들과 팀을 꾸려 수익을 창출해보고싶다.

 

예전부터 혼자서 여행다니며 게스트하우스 파티에 참석하다보니 이렇게 즐거운 파티를 집근처에서도 모르는사람들과 진행할수 있는 서비스가 있으면 좋겠다라는 목적을 가지고 이번 bora팀을 꾸려 창업을 목표로 프로젝트를 진행하고 있는데 이번 기획회의 단계에서 이런걸 만들고 싶다 라는 목적만 있지 세부적으로 컨텐츠내용이 너무 부실하다는 피드백이 나왔다. 사실 어느정도 기획적으로 완성됐고 이제 네이밍만해서 디자인나오고 평소했던 개발을 통해 앱을 만드려고 했는데 당장 성공 할지 않할지 모르는 앱을 기획자분이 시간을 투자하기 힘들다는 피드백이 나와서 살짝 당황했다. 왜냐면 나보고 이 서비스의 확실한 컨텐츠가 뭐고 경쟁사와 비교했을때 특별한점이 무엇이냐? 라고 질문을 하셨는데 제대로 답을 못했기 때문이다. 그저 좋은 개발품을 만드려했지 좋은 서비스를 만드려고 노력을 안했다는 생각이 들었다..

 

20대초반부터 생각했던 아이디어였고 개발 실력이 늘면 내가 직접 개발해봐야지 라는 생각만 가지고 프로젝트에 임한것 같아 왠지 모르게 내 서비스에 미안해지는 마음이 생긴다. 

 

그래서 생각해본것이 당장 내목표가 무엇일까?였다. 개발자로 취업해서 돈을 버는거냐? 아니면 창업을 해서 성공을 하고 싶은거냐 였는데 당장은 개발자 취업에 목표를 정했던것 같다. 사실 요즘 현장실습이 종료된 이후 cs공부만 하면 된다라는 생각에 기획쪽은 내영역이 아니라고 공부시간외엔 아무것도 안하고 쉬고만 있었는데 쉬는걸 좀 줄이고 bora에 좀더 애정을 가지고 다시 열심히 창업도 준비 해봐야겠다.

 

결론! 현장실습이 종료된 이후 긴장이 풀려서 많이 논것도 사실이니 cs공부와 동시에 bora 프로젝트 개발만 신경쓸게 아닌  기획자분의 요구에 맞춰 열심히 기획부분도 참여를 해봐야겠다. 갑자기 든 생각인데 당장 1년뒤 내가 어디에 취업해서 무엇을 하고 있을지 궁금하다. 현재의 시간이 낭비 되지 않도록 열심히 살아야 겠다ㅎ..

화이팅!

728x90
728x90

오늘 EOx요기요의 채용설명회를 듣게 되었다.

결론부터 말하면 회사의 오너분들과 직원분들의 열정과 미래에 대한 준비가 엄청 좋아 보였고 보다보면 나도 같이 일을 해보고 싶다는 느낌을 받았다.

먹는것과 관련된 데이터가 많이 쌓이기때문에 그것을 개인화 시키는 시스템뿐만아니라 운영관련 개발업무가 많이 쌓여있기 때문에 경력 뿐만 아니라 신입 개발자들에 대한 대규모 채용이 열린다고 하였다. 딜리버리히어로에서 매각을 했다고 성장성이 낮은게 아닌 그동안 제한되어있던 투자들이 이제 새롭게 시작하는 회사라는 이미지가 각인되었다.

 

BUT... 내가 준비하던 PYTHON개발자의 경우 신입은 1년에 한번 뽑는다는 청천벽력같은소식을 듣게 되었다 허허...

일단 첫번째로 지원서를 작성하려고 했던 기업이다 보니 실망감이 크긴하다 약간 목표가 사라진 느낌이였다

 

결론! 요기에 취업에만 한정해서 나의 취업문을 좁히진 말자! 첫회사에서는 django를 쓰고 싶다는 생각에 요기요에 관심이 있었는데 django기반의 좋은 회사도 충분히 많고 지원하기전까지 일단은 아직 한학기 더남았으니 준비를하며 충분히 열심히 공부하여야 겠다 일단은 현재 진행하고있는 회사 프로젝트와 팀프로젝트들먼저 책임감 있게 끝내야 겠다ㅎㅎ 

 

프로젝트 진행간 느끼는점이 다만들었다 해도 계속해서 일거리가 나오는것 같다는 생각이 들었다... 이래서 좋은 기획자, PM이 필요한것같다는생각을했다. 항상 기획자없이 내가 PM과 같은역할로 기획과 개발, 일정들을 잡았는데 아무래도 이런 역량도 많은 경험을 해서 키워내야하지 않을까?라는 생각이 많이드는것 같다! 암튼 의기소침해지지말고 다시 열심히 해보자! 

728x90
728x90

가고싶은회사


항상 원픽은 딜리버리 히어로코리아이다. 이유는 내가 현재 가장 자신있게 사용할수 있는 DJANGO를 활용하여 대용량의 트래픽을 경험할수 있는 우리나라의 유일한 회사라고 생각하며 그에맞게 연봉또한 나쁘지 않게 주기 때문이다. 그리고 관심있는 다른 회사로는 원티드, 피플펀드컴퍼니장고나 파이썬기반의 언어를 사용하는 회사이며 개발자들또한 어느정도 규모가 잡혀있는 회사이기 때문에 선정하였다. 

 

장고를 고집하는 이유는 그냥 다른 프레임워크 아니 다른 언어로 개발할때는 즐긴다는 생각이 들지 않지만 파이썬으로 개발할때는 즐겁다. 자신있는 언어라 그럴수도 있지만 C언어 이후로 처음 개발이란걸 알게 해준 언어기도 하고 약 9개월동안 불티나게 사용하는 언어라 그런지 정감가는 내맘속의 고향같은 언어라서 평생 파이썬과 살아가고 싶다ㅎㅎ(물론.. 회사에서 JAVA하라고 하면무조건 한다...ㅎ)

나의 실력


딜리버리히어로와 같은 어느정도 규모가 큰 회사의 경우, 취업을 할때 명함이라도 내미려면 A~Z까지 진행한 제대로된 프로젝트 최소 한가지 이상, 튼튼한 CS지식 및 알고리즘, 그밖의 서비스 운영 경험 및 DOCKER, AWS등의 인프라 운영경험과 +알파이다.

 

나의경우, 로그인 인증부터 시작해 DRF로 RESTAPI를 사용해 A~Z까지 만든 프로젝트가 있다. 하지만 항상 자신있다고 생각했던 CS지식같은 경우 인턴을 진행하며 부족하다는 생각을 갖게 되었으며 알고리즘또한 손을 놓은지 3개월여정도 된다. AWS,DOCKER와 같은 인프라는 어느정도 다뤄봤습니다라고 말할정도만 된다ㅎ.. +알파는 당연히 없다!!

현실 


지금당장 취업에 대해 고민에 빠지기엔 아직 인턴기간이 70여일정도 남아있기때문에 11월말부터 진지하게 생각해봐야겠다. 오늘 안그래도 리드님께서 회사 공채가 열렸으니 지원해보라는 권유가 와서 정말 기분이 좋았지만 막상 공채 내용을 보니 내가 원하는 서버개발자는 기본이 SPRING기반의 프로젝트 경험인것 같아 지원할 자리가 없었다... 그리고 현재 내실력이 준비가 안된 신입이라는것을 알고 있기 때문에 무턱대고 리드님의 추천으로 지원을 해봤자 추천을 해주신 리드님께 죄송한 마음만 들것 같아 일단은 마음을 접으려고 한다 하하... 

 

리드님께서 지원할때 준비해야 하는 팁을 알려주셨는데 내용은 아래와 같다.

  • 자신을 어필할수 있는 강력한 장점(무기)가 꼭 한가지가 있어야한다.
  • 개발자라면 CS, 알고리즘은 선택이 아닌 필수다. 잘해서 +가 아닌 못하면 -가 된다.
  • 강점외의 경험들은 깊게 파고 드는것도 중요하지만 일단 신입이라면 한번씩 넓게 경험해봤다라고 하는 지원자가 매력적이다.

라고 말씀해주셨다. 위의 내용을 토대로 슬슬 준비를 해봐야겠다~

 

오늘 밤샘계획중에 갑자기 집중력이 흐트려져 마음다잡을겸 글을 주저리주저리 썻는데 언젠간 좋은 개발자 또는 CTO가되서 많은 사람들에게 내경험이 도움이 될수 있는 그런 사람이 되고싶다. 자나깨나 번아웃조심!!!!!!! 화이팅이다~

728x90
728x90

이번 한학기는 나에게 여러모로 열심히 해보려고 노력해본 학기 였던것 같다.

일단 작년 까지는 진로를 제대로 잡지 못하고 방황하는 시간을 보냈다면 이번학기는 백엔드 개발자라는 진로를 잡고 최대한 열심히 여러가지 공부를 했다. 

 

1. 깃허브

여러 개발자 지망하는 친구들이나 인터넷 서핑을 해보면 항상 깃허브는 기본이라고 말해줬다. 사실 깃허브의 존재를 알고 있었지만 당장 무엇을 커밋해야 하는지 그리고 어떻게 커밋을 해야하는지 공부할 엄두가 나질 않아서 피하기만 하다

Do it! 버전중하나인 깃허브 입문 책을 구입해 하나하나 따라치며 공부하게 되었다. 실제로 진행해보니 딱히 별로 어려운것은 없다고 느꼇고 매일매일 커밋하는 습관을 들이려 했으나 결국은 매번 실패하게 된것 같다...ㅎ

 

깃 커밋 메시지 컨벤션(Git Commit Message Convention)

커밋 메시지는 타입, 제목, 본문(선택), 꼬리말(선택) 세 부분으로 작성한다.타입(Type) 제목(Title)본문(Body)꼬리말(Footer)커밋 메세지 제목의 맨 앞에 타입(Type)을 붙여준다. 각 타입의 종류는 아래와

velog.io

암튼 위의 깃허브 컨벤션에 맞춰커밋 하기 위해 노력중이고 readme의 중요성 또한 느끼며 다시 한번 커밋을 진행하려 한다.

 

2. 장고

드디어 나왔다. 나중에 어떤 프레임워크를 사용하며 일하게 될지 또는 웹프레임워크를 사용하지 않게 될지는 몰라도 나에게 처음 개발이란것이 무엇인지 뚜렷하게 알게 해준 프레임워크인 파이썬의 django이다. 

워낙 django의 공식 문서가 잘나와있어서 따로 강의를 구입할 필요는 없었다 생각되지만 처음 입문을 패스트캠퍼스 강의로 한것은 절대로 후회하진 않는다. 기초부터 차근차근 알아가는 것을 좋아하는 나로써는 세세하게 나와있던 패캠의 강의가 만족스러웠고 현재도 까먹은 개념들을 참고할땐 가끔 들어가 본다.

이후엔 코멘토의 직무부트캠프 django를 통해서 drf의 존재에 대해 알게 되었고 그속에서 나보다 월등히 뛰어난 사람들이 많다는 것을 알고 다시 열심히 해봐야 겠다는것을 알게된 계기였다. 실제 백엔드 개발자가 무슨일을 하고 어떤 준비를 해야할지 확신을 가지게 된 프로그램이였다.

3. 블로그

현재 사용하고 있는 블로그는 기술블로그로 작성하며 현재 카테고리인 마음가짐이란 곳에 일기처럼 작성을 하고 있는데 지금와서 생각해보면 지난 1달이란 시간동안 블로그를 작성하며 큰 도움을 얻었다. 무엇보다 인턴으로 합격하는데 면접관 분들께 좋은 인상을 심어주는 계기가 되지 않았나? 생각이든다. 

4. 인턴

아직 시작은 하지 않았고 7월1일부터 진행하는 인턴이지만 현재 내가 학습에 집중하는 마음가짐이나 분야가 다르게 되는데 큰 영향을 끼쳤다. django웹프레임워크를 사용하는것은 아니지만 백엔드 개발자를 지망하는 나로써는 중요하다 생각한 devops분야의 업무를 경험할수 있고 무엇보다 python언어로 한다는것때문에 정말 좋은 기회라고 생각된다. 아무래도 업무를 파악하고 가야한다는 생각에 devops가 무엇이고 python을 통한 크롤링 업무를 진행하기 때문에 현재 python 크롤링에 대해 다시 공부중이고 시작전까지 간단한 프로젝트 하나 만들어보려한다.

 

후기

사실 학교 공부에 크게 집중하지 못했는데도 나름 학점도 잘나왔고 무엇보다 정말 운좋게 인턴을 할수 있는 기회까지 생겼다. 아직 2021년도가 반밖에 오지 않았는데 지금까지는 아주 좋은 한해라고 생각한다. 앞으로 어떻게 상황이 변할지는 모르겠으나 당장 멀리 생각하기 보다는 눈앞에 닥친 어려움을 헤쳐나가기 위해 노력을 꾸준히 해야한다고 느끼고 있다. 항상 자만하거나 게을러지지 말고 앞으로는 다시 1일1커밋, 1일 3블로그글을 올려야겠다! 좋은 백엔드 개발자가 되기까지 화이팅이다!

728x90
728x90

1. 기회

으앗!! 너무나 갑자기 좋은소식이 전해졌다...

이번 방학때는 없을 기회라 생각했던 인턴의 기회가 갑자기 나에게 다시찾아왔다!!

서류에서 떨어졌다는 소식에 의기소침해져 있던 나였지만... 오늘 채용담당자님께서 전화로 추가합격후 면접 가능시간을 말해달라는 말씀에 기회를 잡아야 겠다는 생각만 하고 "1시간 30분후인 17시에 면접을 보겠습니다!"하고 전화를 끊었는데 정말 실감이 나지 않았다...

메일로 오고 나서야 실감이 났고 순간 준비도 안된 상태에서 무엇을 준비해야하지?라는 생각뿐이었다. 

 

2. 면접 준비

평소 파이썬 장고 공부를 할때 질문드리는 오픈톡방에 급하게 면접예상 질문에 관해 여쭤봤고 화상면접을 볼 장소인 카페까지 가면서 devops에 관해 여러가지 찾아보며 지하철에 달달 외우고 갔던것 같다. 

-devops란?

-Docker, K8S은 무엇이고 각각 장점은 무엇인가? 그리고 컨테이너는 무엇인가?

-CI/CD 파이프라인이란?

-TCP/UDP는 무엇이고 차이점은 무엇인가?

-1분 자기소개

이렇게 총5가지를 집중적으로급하게 유튜브와 구글링을 통해 알아봤었다.

 

3. 면접

면접은 생각보다 위에서 공부했던 기술적인 부분보다는 아무래도 인턴이다보니 그동안 공부하고 진행했던 프로젝트에 관한 내용을 집중적으로 질문해주셨다.

 

-자기소개(뭐라고 한지 기억나지않는다...)

-파이썬과 C언어를 주로 공부했다고 했는데 두가지 언어로 서버를 만들경우의 차이점과 파이썬만의 장점은?

-프로젝트를 진행하며 겪었던 어려움과 그원인, 그리고 해결방법은?

-인턴간 진행할 devops업무와 자신의 성격을 생각했을때 잘맞다고 생각하나요?

-장고 프레임워크만 사용하다보니 파이썬 자체의 언어 활용법에 대해 잊지는 않았나요?

 

생각보다 긴장을 많이 한탓에 위의 질문정도 밖에 생각이 나지 않고 면접은 한4~50분 진행했다.

지난번 면접경험이후 떨지 않을것이라 생각했는데 오늘 갑자기 잡히기도 했고 스스로 기초가 많이 부족하다는걸 알기때문에 대답 못할 질문이 나올까봐 덜덜 떨며 면접을 봤다...

 

4. 후기및 다짐

올해 목표로 잡았던인턴이 갑자기 빠르게 할수있는 큰 기회가 온것같아 너무 행복하다ㅠㅠ 원래는 연합동아리에 지원을 해서 활동하는것이 이번방학의 목표였는데 이번 방학부터 인턴을 하게 연말까지 인턴을 진행하게 됐으니 전에 다짐했던 회사에 실질적으로 도움이 될수 있는 그런 인턴이 되자!! 라는걸 이뤄낼것이다. 장고 공부는 꾸준히 하겠지만 지금보다는 비중을 조금 줄이는 대신 회사업무에 도움이 될수 있도록 devops에 카테고리를만들어 그에관한 지식을 학습할 것이고 무엇보다 python으로 업무가 진행될것 같으니 기존에 부트캠프의 일정에 맞춰 진행하려했던 TIL을 python에 대한 문법학습, 크롤링등 python언어 자체에 대한것으로 채울 것이다. 물론 cs지식 스터디 같은경우는 원래부터 온라인으로 진행 하고자 했으므로 종강후 꾸준히 학습을 병행할것이다. 아무튼 이런 좋은 기회 너무너무 감사합니다! 화이팅:)

728x90
728x90

요즘 부트캠프가 대세이다. 짧은기간동안 집중교육을 통해 3~5개월여만에 취업에 성공하는 그런 누구나 구미가 당기는 교육 캠프인것 같다. 나도 너무 듣고 싶다. 전공생인 나조차,,, 나는 사실 암거도 못하는 ,,하하,,,

 

but.. 가격이 기본 700만원이상씩한다.. 후... 

그래서 생각했다 뭐가 다르길래? 

내가 가고싶어하던 부트캠프인 wecode이다! 이번 컨텐츠가 실패하면 대출받아서 들어갈 생각이다ㅋ....

 

WeCode | 위코드 | 코딩 부트캠프 | 코딩교육

WeCode(위코드)의 부트캠프를 통해 개발자로서 커리어를 시작하세요.

wecode.co.kr

위의 도메인에 들어가보면 위코드의 상세 커리큘럼이 나와있다 나는 이커리큘럼을 따라서 학습해볼 생각이다.

Pre-Course

1 ~ 2

본격적으로 코딩 부트캠프 과정을 진행하기 전에 HTML, CSS, 그리고 JavaScript의 기본 문법과 핵심 개념을 배우고 응용 하는 법을 학습하는 과정입니다.
총 2주로 진행되며 첫주는 프론트엔드 프로그래밍 언어인 HTML, CSS, JavaScript를 배우고 두번째 주는 첫주에서 배운 지식들을 응용하여 자신만의 프론트엔드 시스템을 개발하는 프로젝트를 진행합니다.

  • 다른 수강생들 / 멘토 들과 소통 및 질문을 할 수 있는 온라인 협업 채널
  • 멘토들에게 직접적인 피드백과 도움을 받을 수 있는 오프라인 세션
  • 학습 장소 필요시 위코드가 위치해 있는 WeWork에서 코스 진행 및 협업 가능

프론트엔드 부분을 공부하는 기간인것 같다. 음... 일단 기본적인건 아니 pass!

 

Advanced Group Projects

1. Prepwork

모든 학생들이 WeCode 코딩 부트 캠프의 다양하며 intense한 과정을 성공적으로 진행할 수 있도록 학생들을 준비 시켜주는 기간입니다. 본격적으로 개발을 시작할 수 있도록 필요한 개발 환경 설정 및 기본 지식들을 습득하는 과정입니다.

  • Developer Culture and Philosophy
  • Git & Github의 기본 개념과 기능들
  • 기본적인 Linux 터미널 설정 방법과 명령어들
  • Windows 사용자들을 위한 Ubuntu 설치 및 설정
  • 다양한 개발 tool 들 소개 및 사용법
  • 인터넷에서 기술적인 문제 해결 방법과 지식 찾아내는 법

실습 Project: 나만의 개발 환경 설정하기. 학생들이 스스로 앞으로 개발에 필요한 tool들을 설치하고 환경을 설정.

2. Backend Development

앞선 Pre 코스에서 개발한 프론트엔드 시스템과 연결 될 수 있는 백엔드 API 시스템을 직접 구현해보는 과정입니다.
Python, database, HTTP 등 백엔드 API 시스템을 개발하기 위해 필요한 모든 지식들을 배우고 응용해봄으로써 백엔드 시스템의 대한 개념을 확실히 이해하고 개발 할 수 있도록 하며 더 고급 시스템도 개발 할 수 있도록 기초 체력을 탄탄히 잡아 주는 과정입니다.

  • Web Service Development History
  • Python 핵심 개념과 기본 문법 및 응용 학습
  • Database 핵심 개념과 python을 통한 응용 및 사용법 학습
  • SQL 핵심 개념과 기본 문법 및 응용 학습
  • HTTP의 구조와 개념 그리고 기능 이해
  • 백엔드 API 시스템 개념 이해와 개발
  • Python에서 널리 사용되는 프레임워크 Django 사용하여 API 시스템 개발

실습 Project: Python, Django, MySQL을 사용하여 백엔드 API 시스템 개발

3. Data Structures & Algorithms

개발에서 가장 중요한 요소중 하나인 자료구조와 알고리즘을 학습하는 과정입니다.
먼저 자료구조와 알고리즘의 핵심 개념 을 이해하고, 가장 자주 사용되는 자료구조와 알고리즘들을 배우고 직접 응용해보도록 하여 더욱 상급 개발자로서의 역량을 갖출수 있도록 하는 과정입니다.

  • List
  • Set
  • HashMap (Dictionary)
  • Queue
  • Stack
  • Tree
  • Sorting
  • Search

실습 Project: 각 자료구조와 알고리즘을 직접 구현하고 응용하여 개발

4. Unit Test & Debugging

시스템 개발에서 꼭 필요한 unit test와 debugging 스킬에 대해서 이해하고 응용하는 과정입니다.
오랜 경험과 경력의 전 문가 mentor들의 unit test와 debugging 노하우를 전수 받을 수 있는, WeCode 만이 제공할 수 있는 기회입니다.

  • Unit Testing 핵심 개념과 구현 방법 학습
  • Debugging을 더 효과적으로 할 수 있는 방법 힉습
  • Unit test 친화적인 코드 구현하는 법 학습

실습 Project: Unit test를 직접 구현하고 debugging 스킬들 응용

5. Programming Best Practices & Design Patterns

저명한 개발자들과 학계가 연구해 놓은 programming best practice(정석)와 design pattern 들에 대해 배우고 이해하고 응용 함으로서 더 상급 개발자로서 역량을 키우며, 효율적이며 탄탄한 시스템을 구현할 수 있도록 학습하는 과정입니다.

  • Clean Code, DRY, Abstraction 등의 programming best practice 개념 이해 및 응용 학습
  • Git Flow Model을 사용해서 더 효과적으로 코드버전 관리와 팀원가의 협업할 수 있도록 학습
  • MVC, Layered Pattern 등 각 시스템에 적합한 패턴 선택 및 적용 능력 학습

실습 Project: 적합한 programming best practice 선택 및 적용

 

Oh My GOD!!!!! 이때부터 찐인것 같다... 다행히? 1번 Prepwork는 어느정도 익혔고 2번 같은경우도 익히긴 했으나

2번은 블로그에 포스팅을 하며 제대로 복습해봐야겠다. 3번 자료구조 알고리즘이야... 매일 공부하는중이니 이것도 블로그에 올리겠다. 4번은? 잘모르겠다 알아보며 해야겠다. 5번또한... (ㅋ나그동안 뭐했지?)

 

Advanced Group Projects

 

프론트엔드 부터 백엔드까지 전부 완성된 고급 시스템을 구현하는 프로젝트들을 하는 과정입니다.
2개의 프로젝트를 진행 하게 되며 각 프로젝트마다 2주씩 총 4주동안 프로젝트들을 진행하게 되며, 3~4명이 같은 팀이 되어 프로젝트를 진행합니다.
지금까지 배운 지식들을 응용할 뿐만 아니라 더 상급의 지식들을 배우고 응용하여 고급 시스템을 구현할 수 있는 기회입니다. 또한 개발팀의 일원으로서 팀워크와 커뮤니케이션 역량을 키울 수 있고 팀원과 서로 배우고 도와주며 성장할 수 있는 과정입니다.

  • Responsive Web Development, DOM Manipulation, NPM / WebPack / YARN 설정 등 상급 프론트앤드 기술 학습 및 응용
  • REST 아키텍쳐 기반의 API 구현
  • Python 과 Django를 사용하여 advanced Backend API 기능 구현
  • AWS 기반으로 시스템 인프라스트럭쳐 디자인과 구현 및 시스템 deploy
  • MVP, Layered Pattern 등의 최적의 패턴 적용하여 시스템 구조 디자인 및 구현
  • 코드 전반적으로 programming best practices 적용
  • 적절한 data structure와 알고리즘 적용을 통한 코드 효율성 최적화
  • Unit test 구현을 통한 시스템 안정성 강화
  • Agile 방식의 team project 진행을 통해 팀원으로서의 개발 역량 강화

내가 볼땐 이때가 위코드의 취업에 있어 가장중요하게 작용하는 주차인것 같다. 이건뭐 현재 하고있는 프로젝트간 적용시켜 봐야겠다.....

 

Advanced Projects

위코드의 마지막 과정으로, 다음 중 한 가지를 선택하여 진행하게 됩니다.

  • 기업 협업
  • 개인/그룹 프로젝트
  • Advanced Study

기업협업을 선택할 경우, 3-4명이 한 팀이 되어 4주동안 실제 기업에 출근해 프로젝트를 개발하게 됩니다. 기업 협업 프로젝트는 참여가 항상 가능한 것은 아니며 기업의 사정 및 기타 여러가지 사정에 따라 진행이 어려울 수 있습니다. 해당 사항 충분히 인지하시고 위코드 코딩 부트 캠프에 참여하셔야 합니다.

개인/그룹 프로젝트를 선택하는 경우 두 번째 달에 진행하는 그룹 프로젝트와 진행 방식은 비슷하나, 시간 제약 때문에 해보지 못했던 기술이나 기능들을 구현해 볼 수 있습니다. 또한 그동안 배운 내용들을 정리하면서 동시에 취업준비도 할 수 있습니다.

취업준비를 선택하는 경우, 개발자로 도약하기 위한 고급 개념을 다져서 더 탄탄한 실력을 쌓을 수 있습니다. 체계적인 4주 커리큘럼을 통해 효과적인 학습을 할 수도 있고, 본인이 부족한 부분은 직접 계획하여 추가 학습을 할 수도 있습니다. 최근 6개월 이내 면접 기출문제 중 자주 묻는 질문 위주로 코딩테스트, 코딩과제, 면접 스터디 등을 동기와 함께 준비할 수 있습니다. 현업 개발자와의 모의 면접 또한 진행할 수 있습니다.

 

위코드의 가장 큰 장점이라고 생각한다. 기업협업 이부분은 너무나 부럽기도 하고 취업에 있어서까지 도움을 준다하니 너무 부럽다... 후하...열심히 달려봐야겠다.

느낀점: 근데 이걸 3개월만에 할수있나?????라는 생각이 들었다.. 밤새도 안될꺼 같은데?라는 생각이 들긴하는데 아니 안될께 머가있어 2~3주뒤 기말고사가 끝나고 종강이니 일단 그기간은 Pre course라 생각하고 장고 컨텐츠 게시물이나 계속 올리고 있겠습니닿ㅎ 6월에까지 Advanced Group Projects 까지 끝내고 방학동안 클리어 한후 2학기때는 장기 현장실습으로 인턴들어가는걸 목표로 나아가보겠습니다!! 이글이 성지글이 되길 바라며!!!!!!!!! 화이링!!!!!!!!

728x90
728x90

이렇게 글을 쓰게 된이유는 목표로 삼게된 회사가 있기 때문이다.

언제 들어가게 될지는 몰라도 언젠가는 한번 경험해고픈 회사이다.

그곳은 바로 딜리버리 히어로 라는 회사이다. 

회사의 성장성 연봉 그런걸 제쳐두고 무엇보다 회사의 분위기가

경험해보진 못했지만 그래도 정말 좋아보였고, 백엔드 서버를 파이썬으로

다룬다는게 가장이목을 끌었다. 전글에서 언급했던것 처럼 요즘 파이썬에

푹빠져있는 상황이라 더욱 호감가는 회사이다!!

 

What you will get

  • Python으로 개발하는 대용량 서비스 back-end의 모든 것
  • 공부하고 성장하는 Python 개발자 동료
  • Microservices architecture 구현과 운영 knowhow
  • 우리가 원하는 것을 개발하여 사용자들에게 영향을 주는 서비스를 만드는 경험
  • 급성장하는 회사와 같이 성장하는 기회
  • 전세계 개발자들과의 교류

 

What you will do

  • Open API 기반 서버 시스템의 개발 및 유지보수/운영
  • 대용량 서비스에 적합한 서버 아키텍처 구현/개발
  • Cross-functional team의 일원으로 서비스의 기획부터 출시, 운영까지 전 과정 참여
  • 연동하는 시스템과의 데이터 형식 전환 모듈 작성 및 이를 이용한 작업
  • 글로벌 서비스 프러덕트를 개발하고 전세계 사용자에게 제공

 

What we expect from you

  • Python 개발 경험 있는 분
  • 웹 서비스 개발 경험 있는 분
  • 코드리뷰와 테스트코드 작성을 즐기시는 분 
  • 만 1년 이상의 개발 경력 있는 분

 

그 외 이런 것이 있으면 더 좋겠어요

  • 기초 전산 지식
  • 관계형 데이터베이스(RDBMS)의 이해
  • Web framework (Django, Flask, Spring 등) 또는 ORM 사용 경험

(boards.greenhouse.io/deliveryherokoreatech/jobs/4713964002?gh_src=4f11b4bc2us)

이것이 채용공고에 나와있는 준비사항들인데 하나하나 준비해가야 겠다.

 

 

728x90

+ Recent posts