코딩이 미래다 - 대학과 취업으로 이끄는 코딩의 A to Z
김기영 지음 / 넥서스 / 2019년 4월
평점 :
절판


초, 중, 고등학교 코딩 교육과정이 개편 되었다. 이제는 학교에서도 코딩을 필수과목으로 배우게 되었다. 영어가 세계화 시대의 공통 언어였다면 디지털 시대의 공통 언어는 컴퓨터 언어이다. 코딩 교육을 중심으로 교육의 패러다임이 전환기를 맞고 있다. 선진국에서는 STEAM 융합인재 교육에 힘쓰고 있다. STEAM은 Science(과학), Technology(기술), Engineering(공학), Arts(예술), Mathematics(수학)의 약자이다.


10년전만 해도 미국 증시에서 시가 총액 5위안에 드는 기업은 석유, 자동차, 금융기업들 이었는데 지금은 애플, 구글, 아마존, 페이스북, 마이크로소프트과 같은 소프트웨어 회사이다. IT기업의 최고경영자들도 코딩 능력이 탁월한 개발자 출신이다. 미래인재가 되기 위해서는 비판적 사고, 창의력, 커뮤니케이션 능릭 및 협업 능력 등이 필요하다.


Code.org와 코드아카데미에서 온라인으로 코딩 교육을 들을 수 있다. URL은 아래에 있다.

https://code.org/


국내 주요 대학에서 소프트웨어 전형에 학생부종합전형과 특기자전형으로 모집하고 있다. 두가지 전형에 대한 대학별 상세정보를 책에서 정리해 두었지만 자세한 내용에 대해서는 인터넷 검색을 통해 알아보자.



댓글(0) 먼댓글(0) 좋아요(6)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
IT에 몸담은 이들을 위한 지적 생산 기술
니시오 히로카즈 지음, 김완섭 옮김 / 제이펍 / 2019년 10월
평점 :
장바구니담기


이 책의 원제는 "エンジニアの知的生産術 ─ 効率的に学び、整理し、アウトプットする(엔지니어의 지적 생산 기술 ─ 효율적으로 배우고 정리하고 출력하기)" 입니다. IT에 종사하는 사람뿐만아니라 일반인에게도 유익한 내용으로 구성되어 있습니다. 주요한 키워드는 배움, 동기부여, 기억력, 효율적 읽기, 생각 정리, 아이디어, 학습 결정입니다.



1장 새로운 것을 배우려면

학습은 정보 수집 - 모델화 및 추상화 - 실행 및 검증이라는 사이클이 존재한다. 의욕과 동기부여를 유지하고 실행가능한 튜토리얼을 참고하여 성취감을 얻을 수 있는 학습범위를 선정한다. 정보 수집은 알고 싶은 것과 호기심이 있는 것을 대상으로 하는 것이 좋고 달성 조건이 명확해야 한다. 먼저 전체적인 모습과 대략적인 구조를 확인하고 나서 세분화해 나가는 것이 좋다.



2장 동기부여를 하려면

GTD(Getting Things Done)이란 신경 쓰이는 것을 전부 한 곳에 정리하고 나서 나중에 처리하는 방법이다. 전체를 정리하는 것은 많은 시간이 소요되므로 분류나 구역을 나누어서 '정리된 상태'로 만드는 것이다. 그리고 나서 ToDo리스트를 정리하고 오늘 해야할 태스크를 선별한다. 태스크는 금전적 가치와 리스크가 높은 것을 우선으로 하고 긴급한 것보다 중요한 것을 먼저 처리해 나간다. 태스크는 25분과 같이 정해진 시간만큼 맞추어 나누는 것이 좋다.



3장 기억력 단련하기

사람은 언어로 표현할 수 있는 기억과 손을 움직이는 운동 기능의 기억을 가지며 근육과 같이 반복할 수록 더 강해진다. 시험은 기억을 출력하는 과정으로 인해 기억을 강화시키는 효과가 있다. 너무 어려운 것을 접하면 고통스럽고 너무 간단한 것을 접하면 지루해 진다. 의욕을 잃지않고 몰입상태를 유지하기 위해서는 적당한 난이도가 필요하다. 입력과 출력과정을 병행하고 다양한 감각으로 접할수록 효과가 있다.



4장 효율적으로 읽으려면

빠르게 읽기 - 포토 리딩, 패스트 리딩, 포커스 리딩, 홀 마인드 시스템

느리게 읽기 - 슬로 리딩, 조합하는 읽기, 독서노트에 기록하며 읽기, 증분 읽기



5장 생각을 정리하려면

우선 생각나는 데로 메모로 남긴다. 100장정도의 메모라도 보기쉽게 나열하고 관련이 있어 보이는 것을 가까운 곳에 위치하며 분류에 따라 정리해 그룹을 만든다. 이 때 책상이나 화이트보드 대신에 A4 용지를 사용해도 좋다. 정리된 메모 그룹을 문장화 한다. 이 때 새로운 메모가 떠오르거나 연결 문장이 생각날 수도 있다.



6장 아이디어를 떠올리려면

아이디어는 경작 - 발아 - 성장 단계를 거쳐 생겨난다. 배우는 것은 자신 밖에 있는 것을 자신 속에 넣는 것이고 아이디어를 만드는 것은 자신 속에 있는 것을 밖으로 꺼내는 것이다.



7장 무엇을 배울지 결정하려면

먼저 배우고 싶은 대상을 찾는다. 지식을 이용하여 확대 재생산을 한다. 배움을 통해 차별화와 탁월함을 추구한다.



댓글(0) 먼댓글(0) 좋아요(7)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
프로그래머의 리더십
정영훈 지음 / 한빛미디어 / 2015년 1월
평점 :
장바구니담기


이 책은 어느날 갑자기 프로그래머에서 프로젝트 관리자가 되었을 경우, 어떠한 것들을 준비해야 하는지에 대해, 저자의 경험과 생각을 잘 정리하여 공유하고 있습니다. 




우리나라 IT업계에서 프로그래머를 위한 커리어 패스는 '주니어 프로그래머 -> 시니어 프로그래머 -> 고급 프로그래머'가 아니라 '프로그래머 -> 중간관리자 -> 경영진' 입니다. 전문가가 되기 위해서는 자신이 활동하는 분야에서 무슨 일이든지 한 가지 일에 능통하는 것이 제일 바람직합니다. 어디서나 인정받는 전문가가 되기 위해서는 10년이라는 시간동안 1만 시간의 노력이 필요합니다. 이미 많은 경험이 있는 상태라면 10년의 기간은 줄일 수 있습니다.


리더(Leader)는 이끌어 주는 사람으로 먼저 나서서 구성원과 함께 목표지점에 도달할 수 있도록 해주는 사람입니다. 전문성과 리더십을 바탕으로 같이 일하는 프로그래머에게 희망을 주고 그들이 전문가가 될 수 있도록 비전을 제시해야 합니다. 팀원과 한배에 탔다는 생각으로 모두에게 좋은 결과를 낳을 수 있게 만들고, 본인도 한단계 성장할 수 있는 계기로 만들어야 합니다. 그리고 본인이 자리를 비웠을 때도 업무가 정상적으로 잘 돌아가게 해야 합니다. 


새로운 프로젝트에 대한 두려움은 누구에게나 생깁니다. 두려움은 스스로 만들어 내는 것이기 때문에 자신의 능력과 가능성을 의심하지 말고, 성공에 대한 목표의식을 갖고서 두려움을 해결할 수 있습니다. 기술적 난관과 지식의 부족함에서 오는 두려움은 유사 경험자의 도움을 받아서 해결할 수 있고 프로젝트 중요도나 실적에 대한 압박감에서 오는 두려움은 성공 확률응 객관적으로 산출하여 막막함을 줄임으로 두려움을 해결할 수 있습니다. 


"독서는 해박한 사람을 만들고, 대화는 현명한 사람을 만들며, 필기는 정확한 사람을 만든다" - 프란시스 베이컨


리더는 많은 책임을 지고 있으니 부담감도 팀원에 비해 배가 됩니다. 처음부터 끝까지 완벽과 성공을 살아온 사람은 없습니다. 자신을 인정하고 받아들임으로써 지금하고 있는 일에 최선을 다하는 마음가짐을 갖으면 됩니다. 요구사항을 정확히 기록해 두는 것은 오류나 오해를 최소화 할 수 있기 때문에 업무에 관한 것은 꼼꼼히 필기해 두어야 합니다. 기록을 통해 뇌에 기억에 대한 부담을 줄여주고 보다 창의적이고 생산적인 일에 집중할 수 있습니다. 


댓글(0) 먼댓글(0) 좋아요(6)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
소프트웨어 개발의 모든 것 - 경영자에서 개발자까지 소프트웨어 회사에서 반드시 알아야 할 핵심 노하우, 완전개정판
김익환.전규현 지음 / 페가수스 / 2010년 6월
평점 :
품절


이 책의 주제를 한 문장으로 말한다면 "소프트웨어를 구현하고 개발할 때 기본과 원칙에 충실해야 한다."입니다.



뛰어난 기술을 가진 소프트웨어 회사들이 주먹구구식으로 구현하고 개발하고 있는 것이 대부분의 모습입니다. 오랜 시간 소프트웨어 공학은 발전하고 진화를 해왔지만 국내 프로젝트에서는 정해진 일정에 급히 개발하려는 상황이다 보니 기본과 원칙을 무시하고 바로 프로그래밍에 들어가는 것이 일반입니다.


 


소프트웨어 프로젝트 팀의 역량 평가표

[소스코드관리시스템]

1. 전사적으로 소스코드관리시스템을 사용하고 있다.

2. 모든 소스코드는 소스코드관리시스템에 저장되어 있다.

3. 개발 마일스톤마다 베이스라인을 설정하고 있다.

4. 소스코드 관리시스템에 체크인 시 메시지를 작성하는 규칙이 있다.

5. 모든 소스코드를 리뷰하고 있다.

6. 자동으로 일일빌드를 하고 있다.


[버그관리시스템]

7. 전자적으로 버그관리시스템을 사용하고 있다.

8. 모든 버그를 버그관리시스템에 등록하고 있다.

9. 모든 직원이 버그관리시스템에 스스로 이슈를 등록한다.


[스펙(요구사항)]

10. 프로젝트의 스펙문서를 가지고 있다.

11. 스펙문서를 모든 관련자가 충분히 리뷰한다.

12. 스펙이 바뀜에 따라 스펙문서가 변경되고 있다.

13. 스펙변경이 통제관리되고 있다.


[일정]

14. 1, 2일 단위의 상세한 일정을 가지고 있다.

15. 일정은 개발자가 직접 산정한다.

16. 일정은 지속적으로 업데이트되고 있다.


[테스트] 

17. 별도의 테스트 팀이나 테스터가 있다.

18. 테스트 케이스를 가지고 있다.

19. 프로젝트 리스크관리를 하고 있다.

20. 리스트에 대한 플랜이 있으며 리스크관리계획이 주기적으로 갱신된다.



소프트웨어공학에서의 전문성 10가지 분야

1. 요구사항 (Requirements)

2. 설계 (Design)

3. 개발 (Development)

4. 테스트 (Test)

5. 유지보수 (Maintenance)

6. 형상관리 (Configuration Management)

7. 공학관리 (Engineering Management)

8. 프로세스 (Process)

9. 공학도구와 방법론 (Engineering Tools and Methods)

10. 품질 (Quality)






댓글(0) 먼댓글(0) 좋아요(4)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
IT 전문가로 사는 법 - IT 개발자, 엔지니어, 컨설턴트의 길을 걸어가는 당신을 위한 안내서
장동인 지음 / 한빛미디어 / 2016년 11월
평점 :
절판


"직장을 구하지 말고, 자기가 평생 추구해야 할 직업을 먼저 찾아라"


이 책에서 말하고 있는 IT 업종의 핵심은 서비스이고 트렌드이며 결국 사람입니다. IT 분야는 논리적으로 사고할 수 있고 이를 즐기는 사람이 일하는 분야입니다. IT 전문가가 되기 위해서는 마음의 두려움을 없애고 호기심을 갖고 즐기며 거대한 지도를 완성해 나가는 것입니다.


최근에는 Social Network, Mobile, Cloud, BigData, IoT, Artificail Intelligence가 IT 세상을 이끌고 있습니다. IT를 잘하기 위해서는 IT 기술 뿐만 아니라 특정 업무와 산업까지 함께 잘 알아야 합니다. 끊임없이 학습하여 전체 시스템을 이해하고 단순한 코딩이 아니라 설계를 철저히 익여나가야 합니다. 그렇게 하여 인더스트리 스페셜리스트가 되던지 테크놀로지 아키텍트가 되는 길도 있습니다.


한 분야에서 전문성을 갖추는 것은 쉬운 일이 아닙니다. 한 가지 기술에 정통하는 전문가도 많지 않습니다. 하지만 장인 정신을 가지고 IT 기술분야와 산업분야에서 꾸준히 발전해 나가게 되면 진정한 전문가가 될 수 있습니다. 그리고 10년을 주기로 변화하는 트렌드를 따라가야 합니다.


자기 자신이 스스로 이력관리를 하면서 미래의 트랜드를 먼저 읽고 그 속에 들어가는 것이 중요합니다. 프로의 자세로 특정한 솔루션이나 특정한 산업에 정통하는 것도 필요합니다. 그렇게 하면서 자신의 가치를 스스로 만들어 나가는 것입니다. 그리고 할 수 있으면 영어나 다른 외국어에도 정통하는 것이 좋습니다. IT 업계에서는 단순히 개발만 하는 사람보다 여러 분야에 지식을 갖고서 가치를 창출하는 사람을 원합니다.


댓글(0) 먼댓글(0) 좋아요(7)
좋아요
북마크하기찜하기 thankstoThanksTo