승돌 쓰다.
안녕하세요? 글 쓰는 프로그래머 승돌입니다.
오늘은 신입 개발자를 위해서 또 하나의 두 번째 시즌?!을 준비했습니다.
지난번, 신입 개발자의 개발력을 높이는 방법??이라는 글로 많은 공유!를 얻었습니다.
그래서 두 번째를 써보고자 합니다.
지난 내용을 축약하자면, 아래와 같습니다.
맥을 쓰자. (실은, 리눅스와 친해지는 것이 목표입니다.)
터미널과 친해지자.
디버깅을 잘하자.
책을 읽자.
사실, 이 정도가 거의 대부분이기 때문에 뭔가를 더 설명하자니 애매모호하더군요.
하지만, 또 새로운 건 존재하기 마련이죠???
들어갑니다.
신입 개발자의 개발력?!과 깃hub가 무슨 연관관계가 있냐고 하신다면...
딱히 좋은 걸 좋다고 말하려는데 어찌 설명할 단어가 없네...라고 말할 수 있습니다.
깃허브를 관리하면 좋은 점이 뭘까요? 깃허브는 구직자 활동을 하는 기간에만 관리하는 대상이 아닙니다.
우리는 분명 회사에서 일을 하면서도 업무 외적인 지식의 탐구를 해야 합니다.
고로, 토이 프로젝트 혹은 개인 프로젝트 (aka. 개발이 취미인데요?)라는 것을 하는 것이
개발력에 도움이 됩니다.
이를테면, 깃허브에는 무수히 많은 좋은 연습 대상 코드들이 올라옵니다.
제가 팔로우하는 유저분이 취한 액션 어떤 프로젝트에 star를 누르거나,
fork를 하거나 하는 내용이 저에게 알림으로 옵니다.
더군다나, 대부분의 오픈 소스 프로젝트들이 깃허브에서 소스를 관리합니다.
그런데도, 깃허브에 소스를 관리 안 하시겠다고요?! (헤에에엑)?
쿨럭, 저도 어쭙잖지만...깃허브에 소스를 관리하고 있습니다. (너무 창피하여 private화 하고싶...)
깃허브는 또 하나의 개발력을 높이는 창구입니다.
친해지면 친해질수록 코드 독해력은 증가합니다.
(우리는 학생 때 얼마나 많은 토마토, 해커들의 LC/RC를 겁나게 보고 듣고 씹고 했습니까?)
(Programming) Code Reading skill 또한 중요한 능력이라고 생각하는 편입니다.
(그래서 제가 토익 RC도 못한다죠..)
(알흠다운 코드를 보기도 하고... 아 뭐 이런 개... 고양이 말미잘 두루미 삼천갑자.. 같은 난해한 코드도 있겠죠)
사실, 경험이 중요한 법이기 때문에, 다른 사람은 같은 기능이라도 어떻게 구현하는지?
파라미터 명은 어떻게 작명하는지? 변수명은 어떻게 쓰고, 작명을 하는지? (작명의 연속이 개발자 같습니다.)
코드 컨벤션은 어떤 기준인지 알 수 있습니다.
JavaScript라면, 요즘 Airbnb의 JavaScript style guide를.
Python이라면, pep8을 따라서 작성하는 것이 대부분의 Python 프로젝트들이 따릅니다.
Java라면, Godgle..(응?!) Google Java Style Guide를 대부분 따릅니다.
제가 이런 내용은 어디서 알게 되었을까요? 대부분, 오픈 소스 프로젝트에 명시되어 있습니다.
대부분의 오픈 소스 프로젝트 코드는 lint로 코드 컨벤션을 통일하기 때문입니다.
대부분의 개발자들이나, 개발을 하시는 분들이 뒤에서 말하려고 하는 개발 일기 = 블로그를 운영하십니다.
사실, 블로그를 운영하시는 분들은 많기에 좋은 정보,
번역서보다 빠른 기술 스택의 번역글이라던지를 쉽게 만날 수 있습니다.
당연히, 공짜죠. 그런데도 블로그를 구독 안 하실 생각이십니까?
그럼 구독을 어찌하냐!! (신문 구독도 아니고 어디 가서 구독 신청하냐!!) 물으실까 봐..
잠시 소개합니다.
요즘 대부분의 블로그는 Github pages, tistory, naver blog가 주류입니다.
사실, Naver Blog가 가장 구독하기 까다로운 편인데요. (자체 구독 시스템이 있어서...)
예로, tistory blog를 예로 들자면, 제가 좋아하는 분의 블로그를 들어가면 RSS 혹은 Feed 마크가 보입니다.
아래처럼 말이죠.
그리고 github page를 들어가 볼까요?
github page는 jekyll이라는 정적 페이지 엔진 기반으로 렌더링 됩니다.
보통, 마크를 블로그 주인이 표시해줄 수도 있고, 그렇지 않을 수도 있습니다.
이런 버튼을 누르면, 보통 /feed.xml을 url을 가진 페이지로 이동시켜줍니다.
보통 세 가지 종류입니다.
/feed.xml
/feed
/rss
위 웹페이지 경로를 복사하여, RSS 구독을 해주는 프로그램에 등록하면 됩니다.
RSS에 대해 잘 모르시겠다고요?
쉽게 말해, 블로그 주인장! 너는 글을 쓰거랏.
나는 따끈한 아티클을 받아 보겠다!로 설명할 수 있습니다.
(참 좋은 세상이죠? 우리가 석봉 엄마도 아닌데, 석봉이의 글을 바로 볼 수 있으니 말이죠.)
그렇습니다. Github page를 가진 개발자분들이 정말 많습니다. RSS 마크가 없다고 해도 걱정 마세요.
대부분, 위 3가지 종류의 경로를 직접 입력하여 치셔도 됩니다. (간혹 RSS설정을 안 해둔 블로그가 있음 주의)
추가적으로, 아래의 4가지 구독할 수 있는 곳을 소개해드립니다.
이상한 모임 블로그 - 말 그대로 이상한 모임...(정보를 공짜로 나눠줍니다.) 참 이상하죠?!
readtrend - 격주 Email로 front-end 뉴스를 전달해줍니다.
javascript weekly news - (한국어라고는 제가 말하지 않았습니다.)
startup weekly news - (온갖 컨퍼런스, IT 기사 등등의 정보 쓰나미)
등등... 심지어 구독 email을 지정하면, 메일로 보내주기까지 합니다.
우린, 숟가락으로 퍼먹기만 하면 된다죠?!
제가 근래 들어 감명 깊게 읽은 IT서적(프로그래머, 열정을 말하다.)인데,
중간, 중간, 자기계발 서적 같아서 계륵 같기도 합니다.
하지만, 책 한 권이 저의 뒤통수를 쳐준 책이라 계륵이라고만 치부하기 어렵더군요. (비속어 죄송합니다.)
그 책에서 나온 구절을 공유합니다.
제가 운영하는 티스토리 블로그만 봐도, 글의 품질은 낮지만, 무언가 꾸준히 쓰고 있습니다..
요즘은 일하느라 제 업무 쪽 기술 관련 포스팅을 못하고 있지만, 정리가 되면 연재를 할 주제를 찾았습니다.
최근에는 주로, (영화), (책 리뷰), 그냥저냥 위클리 뉴스를 올리고 있습니다.
그럼에도 불구하고, 하나씩 올리다 보면 저만의 삽질 매뉴얼, 삽질 참고 레퍼런스 페이지가 됩니다.
여러분도 충분히 개발 일기를 쓰실 수 있습니다.
단, 블로그 운영은 최소한의 시간으로 유지해야 하며, 글의 품질에 더 힘쓰시길 바랍니다. (전 틀렸습니다. )
물론, One Note라던가, Evernote라던가?!
제가 좋아하고 베타 유저였고...(얼마 전부터 결제 유저가 된) Beecanvas
여러 가지 클라우드 환경의 노트 어플리케이션이나, 클라우드 환경의 Board에 자신만의 개발 일기를 쓰십시오!
혹은 slideshare도 좋습니다.
전문적이지 않은 내용이라도 좋습니다.
자신이 알게 된 것들, 그리고 공부한 내용을 남이 이해하기 쉽게 기록하십시오.
어떤 지식을 자신만의 언어로 설명할 수 없다면, 저의 것이 아닙니다.
그 훈련을 할 수 있는 중요한 배움이 여러분을 기다리고 있습니다.
자신만의 개발 일기 내용을 공유해주십시오.
저도 전문적인 기술 자료를 작성하는 편은 아닙니다.
개발 일기 작성하고, 그것을 공유하는 것!
그것이 신입 개발자의 개발력을 높이는 지름길이 아닌가?! 생각합니다.
또한, 저만 그런 생각을 가진 것이 아니라는 것을 확인시키기 위해
이쪽 업계에서 유명하신 jayjin님의 sosocon발표 자료를 허락 없이 퍼왔습니다. (죄송합니다.)
개발을 아무리 잘해도 사람마다 잘하는 영역이 다릅니다.
그리고 개발은 혼자 하는 일이 아닙니다.
고로, 경쟁이 아닙니다.
이상으로 신입 개발자의 개발력을 높이는 방법 두 번째 글을 마무리합니다.
이제 막, 1년이 조금 지난.. 신입에서 시닙으로 전직한 서비스 개발자의 잔소리?!였습니다.
긴 글을 읽어주셔서 감사합니다.
댓글은 저를 춤추게 합니다.