처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막
개발자를 넘어 기술 리더로 가는 길
타냐 라일리 지음, 김그레이스 옮김 / 디코딩 / 2023년 5월
평점 :
장바구니담기


개발자에서 개발팀장으로 개발실장으로 역할을 옮겨가면서 붙들고 있는 주제가 있다.

 

'나는 개발자의 정체성을 잃지 않겠다.'

 

처음 개발자에서 관리 업무를 겸하는 팀장으로 역할이 바뀔 때의 다짐이었는데, 현 시점에서 개발 업무와 관리 업무 사이에 몇 퍼센트의 역할 분담이 되고 있는지는 정확하지 않지만, (점차 관리 업무 비중에 높아짐을 느낀다) 개발에 영 손을 놓을 생각은 없다.

 

(나와 비슷한) 이 고민 때문에 시니어 개발자에서 관리자 트랙으로 넘어가지 못 하고 있는 고연차 개발자들이 많고, 또 관리자 수요가 아무래도 개발자 보다는 제한적이기도 하기 때문에 개인으로써도 조직으로써도 개발자의 경력 관리가 그 만큼 어려워지는 측면이 있다.

 

최근 들어서 시니어 개발자 이후의 개발자 트랙에 대한 논의가 활발해 지고 있음을 느낀다. "TL(테크 리드)"에 관한 이야기는 지난 글 2021.12.31 - [서평] - 개발 7년차, 매니저 1일차 에서도 소개한 바 있는데, 최근에는 "스태프 엔지니어"에 관한 소개가 주로 회자되고 있는 편이다.

(한편 매니저 트랙에서는 PM - 여러 역할 중 프로덕트 매니저 - 에 대한 논의가 활발)

 

"스태프 엔지니어"는 주니어와 시니어 개발자를 넘어서 팀 또는 조직에 얽매이지 않고, 팀장(매니저)와는 다른 리더십을 견지하며, 개발자들의 멘토와 코칭, 난도 높은 묹제의 해결 및 재발 방지, 조직 간의 기술 조율, 전체 제품이나 전사 개발 전략의 제안 및 조언 등을 주 역할로 하는 개발 트랙의 최상위 역할로 소개된다.

 

이 책의 저자는 구글과 그 이후 회사의 스태프 엔지니어로써 오랜 기간 활동하면서 '스태프 엔지니어'의 정의와 역할에 대해 여러 기고와 컨퍼런스를 통해 활발한 논의를 이어가고 해당 직군을 정립해 나가고 있으며, 이 책을 통해 막연하게 여겨졌던 '스태프 엔지니어'를 개발자의 다음 역할 중 하나로 자신있게 소개하고 있다.

 

구체적으로는 '스태프 엔지니어'가 가져야 할 3가지 덕목 즉, '빅 픽처 관점의 사고력', '성공적인 프로젝트 실행력', '조직 차원의 레벨업'을 각각 한 개의 부로 나누어 설명한다. 단지 어떤 역할을 해야 한다는 선언적 문구 뿐 아니라, 실행에 관한 이야기도 다루고 있는 점은 저자의 경력에 따른 역량이 잘 드러나는 지점이다.

 

다만, 국내 특히 소규모의 개발 조직은 아직까지 개발과 관리의 역할 분리가 명확하게 이루어지지 않고 있고, 특히나 조직 위계가 명확한 편이어서 관리자와 비슷한 권한과 역할을 가진 '스태프 엔지니어'에 대한 이질감이 적지 않을 듯 하다. 그래도 조직 내 구성원의 선순환과 조직의 경쟁력인 실력 향상을 위해 각자 처한 환경에 맞게 개발자의 다음 경력을 준비하는 편이 도움이 되리라 생각한다.

 

앞서도 말했지만, 현재 나의 역할은 개발자로써의 역할 보다는 관리자로써의 역할이 더욱 확대되는 경향성이 있으므로 이 책을 참고로 매니저의 경력 트랙에도 좀 더 관심을 가져볼 생각이다. 최근에 '프로덕트 매니지먼트'를 위시하여 여러 관리자 트랙의 좋은 책들이 나오고 있다. 양 측면을 잘 보완하면서 관리자로써도 개발자로써도 만족하는 경력을 쌓고 싶다.

 

 

프로덕트 매니지먼트 - 8점
김영욱 지음/한빛미디어

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
직장인을 위한 챗GPT - 업무 스킬업부터 자기 계발까지! 694개 ChatGPT 파워 프롬프트 가이드 | 추가 프롬프트 치트시트 부록 제공
이안 클레이턴 지음, 김상규 옮김 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기


알파고의 충격이 아직 생생한데, 근래 가장 쇼킹한 AI 이슈, chatGPT.

chatGPT에 관한 책이 쏟아지고 있지만 이 책은 그중에서도 효과적이고 생산적인 답변을 위한 '프롬프트'에 관해 소개하는 책이다. 이 책을 통해 chatGPT와 프롬프트에 대한 이해를 높이고, 직장인으로서 업무 효율성 향상과 자기 계발에 chatGPT를 활용하는 방법을 배울 수 있다.

 

프롬프트는 chatGPT와의 상호작용에서 핵심적인 역할을 수행한다. 사용자는 명확한 질문이나 지시를 프롬프트에 입력하여 chatGPT에게 원하는 정보나 답변을 얻을 수 있다. 이때, 프롬프트의 정확성과 명확성은 모델의 이해도와 생성된 응답의 질에 직접적인 영향을 미친다.

 

이 책은 사용자에게 어떻게 효과적인 프롬프트를 작성할 수 있는지에 대한 가이드를 제공한다. 이를 통해 사용자는 프롬프트를 효과적으로 작성하고 chatGPT와의 상호작용에서 최적의 결과를 얻을 수 있다. 뿐만 아니라, 프롬프트를 활용하여 chatGPT와의 대화를 이어가는 방법도 안내한다. 사용자는 이전 대화 내용을 적절히 프롬프트에 포함시킴으로써 chatGPT와의 지속적이고 심도 깊은 대화를 가능하게 할 수 있다.

 

또한, 책은 사용자가 프롬프트에 대해 주의해야 할 점을 알려준다. 프롬프트의 선정과 작성에 신중함이 필요하며, 명확한 지시와 의도를 표현해야 한다고 조언한다. 모호하거나 모델을 혼동시킬 수 있는 프롬프트는 정확한 응답을 얻는 데 방해가 될 수 있다. 한편, 이전 대화 내용에 모델이 과도하게 의존하지 않도록 필요한 경우 대화를 초기화하여 새로운 주제에 대한 대화를 시작할 수 있고, 모델의 답변이 적절하게 조정되도록 할 수 있다.

 

책은 다양한 측면에서 프롬프트의 활용 방법을 소개한다. 1부에서는 chatGPT 및 프롬프트에 대한 일반적인 설명을 다루고, 2부에서는 대표적인 산업군 26개를 목록화하고 각 산업군의 핵심 과제와 역할에 대해 설명한다. 2부의 시작부터 끝까지는 모두 chatGPT의 응답을 기반으로 하였다고 하니 신기하기도 씁쓸하기도 하였다. 3부에서는 개인적인 관점에서 업무 효율화나 자기 계발을 위해 chatGPT를 활용하는 방법을 제시하며, 4부에서는 chatGPT를 더 효율적으로 활용하는 방법 즉, 참조 모델, 방법론, 인터프리터 역할을 부여하여 chatGPT를 활용하는 방식을 안내한다.


이렇게 보면 chatGPT는 만능의 도구같다. 산업군 종사자에게 핵심 현안을 알려주고, 자기 계발에도 응용할 수 있고(글짓기도 가능하다), 심지어 개발자에게 인터프리터로 사용될 수도 있다. 하지만, chatGPT를 사용할 때 가장 주의해야 할 점(halucination)이 최근 뉴스에서 화제였다. chatGPT는 모델이 학습한 데이터를 기반으로 응답을 생성하므로 잘못된 정보나 편향된 응답을 생성할 수 있고 심지어 거짓 정보를 기반으로 답변을 생성할 수도 있기 때문에 사용자는 chatGPT가 제공하는 정보를 확인하고, 필요한 경우 추가적인 검증을 수행해야 한다는 점이다. 요컨대 최종 검수는 인간이 해야 한다는 것. (검색 근거를 제시하는 구글의 모델-바드-도 있지만, 기본적으로는 인간이 정보의 정확성을 확인해야 한다.)

 

책의 머릿말에 있는 ‘책임면책조항’과 곳곳에 보이는 ‘정보의 유효성을 확인하라’는 문구는 이를 잘 대변한다. 사용자는 생성된 정보를 신중하게 검토하고, 다른 출처에서 해당 정보를 확인하는 것이 중요하다. chatGPT는 도구로서 활용되어야 하며, 책임 있는 사용이 필요하다.


한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
실습과 그림으로 배우는 리눅스 구조 - 개발자가 알아야 하는 OS와 하드웨어의 기초
다케우치 사토루 지음, 신준희 옮김 / 한빛미디어 / 2019년 2월
평점 :
구판절판



<요약>

  1. 프로그램을 처음 배우는 공학계열 학생이나 devops를 꿈꾸는 신입 사원에게 적합한 책
  2. 본격적인 커널 학습 전에 가볍게 읽기 좋은 책
  3. 인터럽트나 커널 동기화 등 고급 주제를 다루지 않은 부분은 아쉬움
  4. 오탈자가 일부 있음

오랜만에 술술 잘 읽히는 전공 기초 서적을 찾았다.

다케우치 사토루 씨 (사실 누군지 잘 모름) 가 쓴 '실습과 그림으로 배우는 리눅스 구조' 라는 책인데, 정말 '제목'과 '책 소개 내용'에 충실한 책이라 느껴진다.

실습과 그림으로 배우는 리눅스 구조 - 8점
다케우치 사토루 지음, 신준희 옮김/한빛미디어

먼저 제목.


각 장에서 소개하는 구조나 기술마다 실습과 그림을 붙여 이해하기 매우 쉽게 썼다.

그림과 실습 (간단한 프로그램과 스크립트를 이용)을 통해 리눅스 OS 상의 프로그램을 실제로 동작시키면서 OS의 역할과 특징을 설명하고 있기 때문에 처음 리눅스를 접하거나 OS의 역할과 특징을 공부하고자 하는 사람들도 쉽게 접근이 가능하다.

또한, '책 소개'에서 설명한 것 같이(개발자 레벨업 프로젝트, 컴퓨터 공학 기초) 같이 특징적으로 설명할 부분이 있다면, 비슷한 테스트를 여러 차례 수행해서 차이와 결과를 비교하면서 설명하기 때문에 이해가 빠르게 된다.


책은 다음과 같이 총 8장으로 구성되어 있는데, 편의상 2장씩 묶어 설명하는 것이 자연스럽고 저자의 의도도 그러하리라 예상된다.


- 1-2장 : OS의 일반적인 특징 설명 (특별히 리눅스라 하지 않더라도)

- 3-4장 : 프로세스와 스케쥴러 설명

- 5-6장 : 메모리 관리

- 7-8장 : 저장 장치


핵심만 간략하게 정리하고 있지만, 인터럽트와 커널 동기화, 타이머 등 리눅스 커널과 관련한 깊이 있는 분야 설명이 부족한 부분은 '리눅스 커널의 이해' 나 '리눅스 커널 심층 분석' 등 다른 책으로 보완이 필요하다.

리눅스 커널의 이해 - 10점
다니엘 보베이.마르코 체사티 지음, 박장수 옮김/한빛미디어
리눅스 커널 심층 분석 - 10점
로버트 러브 지음, 황정동 옮김/에이콘출판


저자가 서문에서도 밝혔듯 프로그램을 처음 배우는 공학계열 학생이나 devops를 꿈꾸는 신입 사원에게 OS의 기본적인 정보를 알려줌으로써 자신의 프로그램이 동작하는 방식이나 운영하게 되는 시스템의 기본에 충실하게 해 주고, 레벨업을 원하는 개발자들에게 본격적인 커널 학습 전에 개념을 잡는 데 도움이 될 만한 책이다.


다만, 몇몇 부분에서 오류가 있다. 번역의 문제인지 원작의 문제인지는 모르겠으나, 특히 3장의 경우 핵심 알고리듬 설명 오류가 보이는 점은 다음 쇄에서 개선이 필요해 보인다.

3장에서 copy on write를 설명하는 부분인데, 앞 장과 절에서 충분히 copy on write를 설명해 놓고 (심지어는 '미주'에서도 copy on write를 설명하고 있음) 제목은 "메모리 부족" 으로 뽑았다.

또한, Copy on Write의 설명에서 '테이블의 주소값 (600-700 -> 700-800) 이나, 빠진 주소 (800), 빠진 번호 (3 업데이트) 등은 '옥의 티' 다.

이 외에도 6장 등에서 코드의 indent가 맞지 않는 점 등은 다음 쇄에서 개선이 필요해 보인다.


부족한 부분의 수정, 보완은 필요해 보이고 무엇보다 OS에서 특히 중요한 주변 장치의 제어에 관련된 내용이나, 커널 프로그램을 위해 필요한 동기화, 타이머 등의 설명은 다른 책을 참고할 수 있도록 하는 부분도 추가되면 좋겠다. 어쨌든 전반적으로 쉽게 잘 읽히도록 만든 책이어서 오랜만에 기억을 되새기며 잘 읽었다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
이펙티브 디버깅 - 디버깅 지옥에서 탈출하는 66가지 전략과 기법
디오미디스 스피넬리스 지음, 남기혁 옮김 / 한빛미디어 / 2017년 5월
평점 :
품절


- effective software development series의 최근판

- 효과적인 디버깅을 위한 전략과 기법을 설명한 책

  - 부제인 "디버깅 지옥에서 탈출하는 66가지 전략과 기법" 에서 책의 주제와 개략적인 내용이 파악된다.

- 책은 크게 "전략과 기법", "기술과 도구", "디버깅 요령" 등 기본적인 개발 자세부터 상세한 디버깅 팁까지 전반적인 개발 단계에서 디버깅을 효과적으로 실행하기 위한 것들을 다룬다.

  - 다만, 너무 다양한 환경(OS, 개발언어)과 경우의 수에 대응하려고 하다보니 큰 주제인 디버깅의 이모저모를 보여주는데는 성공하지만, 특정 상황에 맞는 레퍼런스로써의 역할은 기대하기 어렵다.

  - 특히, 개발 초기 단계에서 명세서를 작성한다던가, 이슈 추적 시스템을 사용하는 등의 조언은 매우 중요한 요소이긴 하지만, effective 시리즈를 구매하는 독자가 기대하는 수준은 아닌 것으로 보여진다.

  - 반대로, 깊이 있는 주제는 너무 구체적이고 언어/환경 의존적이어서 그  언어나 그 환경을 이해하지 못하는 독자에게는 '소 귀에 경 읽기'가 될 확율이 높다.


- 책의 디자인과 관련해서는 좋은 점수를 주기 어렵다.

  - 일단 표지 소재가 너무 특이한데, 기분 좋은 촉감은 아니다. (물론, 개인의 취향이니 판단은 각자의 몫)

  - 글이 너무 길게 늘어지는 점도 읽는 사람으로 하여금 책을 쉽게 질리도록 만든다. 원본을 보지 않아 평가가 쉽지 않지만, 번역본에서는 조금 더 문단을 나누어 글을 단순하고 간략해게 썼으면 어땠을까 하는 아쉬움이 든다. 

  - 글자 크기가 작고, 영어와 한글이 동시에 쓰여지는 부분에서 구분이 쉽지 않는 점도 문제다.

  - 가장 심각한 문제는 각 '아이템' 별 장 구분(페이지 넘김)이 없어 글 읽기가 불편하고, 필요한 부분을 찾기가 쉽지 않다는 것이다.

  - 이건 지극히 개인적인 부분인데, 요즘 노안과 백내장이 동시에 와서 내지 재질이 번쩍번쩍하고 빛반사가 심한 책은 읽기가 여간 힘든 게 아닌데, 이 책이 거의 최고였다. (심지어 전자책보다도 더 읽기 힘들었다.)


- 책에 대한 기대가 커서인지 단점으로 보이는 부분도 많은 것 같다.

  - 차라리 특정 언어나 특정 환경을 기준으로 책이 쓰여졌다면, 예제와 툴이 설명되었다면 더 좋은 책이 되지 않았을까 아쉬움이 든다.

  - 이대로는 특정 상황의 레퍼런스로 활용하기도 어렵고(어느 부분에서 내가 참조할 팁이 있는지 찾을 길이 없음) 특정 언어의 디버깅 교재로 쓰기에도 부족한 점이 많다.


- 기존의 effective C++ 이나 effective java 시리즈와는 구성이나 내용 전개가 좀 다른데, 아쉽다.

- 뭐, 아쉬우면 아쉬운대로 해결하는... 그게 디버깅 아니겠나.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Hello Coding 그림으로 개념을 이해하는 알고리즘 Hello Coding
아디트야 바르가바 지음, 김도형 옮김 / 한빛미디어 / 2017년 4월
평점 :
장바구니담기


프로그램을 구성하는 요소 중 크게 2가지를 꼽으라면, 코드와 데이터이며 각각 알고리듬과 자료구조로 연결된다. 이 둘을 알지 못 하고 프로그램을 개발할 수 없고, 개발한 프로그램은 효율성과 제 목적을 벗어난 프로그램이 되기 쉽상이다. 이번에는 '프로그램을 알지 못하는 사람'들 - 프알못 -을 대상으로 쉽게 쓰여진 책(Hello Coding 알고리듬)을 소개하고자 한다.

IMG_20170520_212215.jpgIMG_20170520_212549.jpg

 
 

 

이 책은 '그림으로 개념을 이해하는' 이란 부제가 붙어 있다. 알고리듬을 그림으로 설명하고, 문법이 비교적 쉬운 python 코드를 이용하여 구현체(코드)를 보여주기 때문에 전공을 계획하는 신입생과 비전공자들도 쉽게 알고리듬 학습을 시작할 수 있다. 특히, 문제를 해결하기 위해 문제 자체를 단순화하고 핵심 알고리듬을 적용하고, 이 알고리듬이 문제를 처리하는 과정을 단계별로 각각 보임으로써 알고리듬이 동작하는 방식을 이해시킨다.

 

IMG_20170520_211157.jpgIMG_20170520_211238.jpg IMG_20170520_211119.jpg

 

 

특정 알고리듬을 처리하기 위해서는 적절한 자료구조가 필수적이다. 이 책에서는 '배열', '연결리스트'와 같은 기본 자료구조와 이를 이용한 '선택정렬', '스택'과 '재귀', '해쉬 테이블'과 '그래프', '큐'와 '분할정복' 등을 함께 설명하여 알고리듬뿐 아니라 자료 구조까지 함께 고민하도록 훈련시킨다.

이후 구현을 한 줄 단위로 살명하여, 알고리듬이 실제 코드화되는 전 과정을 상세히 설명한다.

 

 

IMG_20170520_211328.jpgIMG_20170520_211334.jpg

 

IMG_20170520_211344.jpgIMG_20170520_211352.jpg

 


기본적인 정렬부터 NP문제와 머신러닝 알고리듬까지 입문서이지만, 아주 간단한 알고리듬 뿐 아니라 최근 경향을 반영하는 내용까지 담았다.


최근 속해 있는 회사에서 신입사원 교육을 진행하고 있는데, 자료 구조와 알고리듬의 선택이 문제의 해결과 효율성에 큰 기준이 되는 것을 새삼 느꼈다. 개발자로써 시작하는 신입사원들에게 읽을 만한 책으로 이 책의 일독을 권하겠다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막