개발자로 산다는것, 그것은 '개발을 즐겁게 하면서 사는 것이다'.
프로그래밍의 기본
1. 자료를 선언하기
2. 크기를 비교하고 분기하기
3. 정해진 자료를 이동하기
소프트웨어 개발의 무한 반복 사이클
정해진 명세 -> 지시된 설계 -> 구현 -> 그결과 테스트
이러한 과정은 기업용 애플리케이션을 만든 곳이라면 경험하게 될것이다.
2가지 환경이 빠져있음
1. 개발자에게 멋진 아이디어를 묻는다.
2. 고민할 시간이나 구현할 도구를 만들 수 있도록 한다.
정해진 금액과 목표, 명세가 뚜렷한 기업용 애플리케이션을 만드는 현장이라면 두가지는 무의미하거나 무가치적으로 판단되는 경우가 많다.
내가 생각하는 성공이란?
성공은 자신이 정한것을 이루는것.
1. 10년, 20년, 30년 후의 자신의 모습을 상상해보고 정의해봐라.
2. 현재 내가 좋아하는 모든것을 적어봐라.
3. 내가 가장 잘하고 가장 인정받는 것을 적어봐라.
소프트웨어 개발자에게 성공이란 전혀 해보지 않았던 것을 도전해보는것.
소프트웨어 개발자
소프트웨어 개발자란 요구사항을 고민하고 명세화의 범위와 구성, 유지보수성을 고민하기 시작하는 아키텍처링활동과 품질에 대한 고민, 테스트의 범위와 영역에 대해서 고민하는 것까지 전반적인 것을 모두 소프트웨어 개발이라고 한다.
넓은 의미로 소프트웨어 개발은 사용자에게 보여주기 전에 '테스트' 업무까지를 소프트웨어 개발이라고 한다.
소프트웨어 개발에 중요한것은
컴퓨터의 내부 구조를 이해하는 것도 필수이지만, 정작 필요한 최고의 기술과 얻어야 할것은 '사람'에 대한 이해이다.
지식과 기술
지식- 어떤 대상에 대하여 알게 된 명확한 인식이나 이해에 대한 경험과 배움을 넓혀나가는 것
기술-무엇인가를 만들어 내거나 또는 성취하는 방법을 터특해 나가는 것
가치
가치 = 지식 + 기술 통해서 만들어진다.
그리고 경험을 통해서 전달된다.
하지만 가치는 어떤 유형 무형의 서비스나 제품만을 의미하지 않는다.
예) Zappos 쇼핑몰
고객의 가치를 증가시키는 것은 '여유'와 '배려'에서 출발한다.
개발자의 소양
성과, 현업, 사람, 인성, 배움, 일, 자기개발
유명한 개발자가 되는 방법
1. 겸손하지 마라.
- 최고의 개발자가 되기 전에는 '겸손'하지말아라.
- 잘난체하거나 자만하라는 이야기가 아니다. 내가 문제를 해결하거나 처리한 것에 대해서는 명확하게 밝히는 것을 잊지 말아라
2. 툴을 다양하게 다루어라
- 다양한 문제를 해결할 수 있는 툴들은 끊임없이 만들어진다.
- 소스의 정적분석 도구나 동적분석 도구를 사용하면 내 수준 파악도 수월하다.
3. 하나의 언어나 툴을 옹호하는 듯한 발언을 하지마라
- 언어나 툴은 어떤 시대를 풍미한다.
4. 프레젠테이션 스킬을 최고로 준비하라
- 어떤 주제에 대해서 끊임없이 준비하고 그것을 손쉽게 설명할 수 있는 프레젠테이션 스킬은 엄청난 연습을 통해서만 얻을 수 있다.
5. 쉽고, 짧고, 단정적인 말투를 사용하라.
- 높은 수준의 개발자들은 쉽게 설명하는 스킬을 터득했다.
6. 한두문장으로 설명할 수 있도록 문제를 해석하는 연습을 해라.
- 기술이건 설명이건 한두문장으로 설명할 수 없다면 경영진과 고객, 개발자를 설득하기 어려울 것이다.
7. 새로운것을 추구하라.
- 최소한 화려한 것에 대해서 꾸준하게 도전해야한다.
- 초소한 해당 언어나 툴의 기본 사용법 정도는 익혀두고 'Hello World' 정도는 구사할 준비를 언제든 해야한다.
- 시장이 변화하고, 언어가 변화하는 것에 늘 민감하게 반응해야 한다.
8. 너무 한 직장에 오래 머물지 마라.
- 대기업이나 큰 조직에서 10년 이상 한곳에 머무르게 되면 프로그래밍 스킬을 떨어진다.
그 환경의 가이드 라인과 습관에 종속되게 된다.
9. 너무 자주 이직하지마라.
- 최소한 한 프로젝트나 한 기업에 2년 정도는 다니는 것이 좋다.
- 오히려 그 이하의 경력은 아예 없거나 무의미한 것이라고 평가를 하는 것이 현명하다.
- 신입의 기간인 5년 차 이하는 이직을 최대한 줄여라
10. 오픈소스를 믿어라
- 블로그나 외부 발표보다 더욱 더 중요한 것은 오픈소스 프로젝트에 참여한 사람들을 높게 평가한다.
- 장기적인 목표를 세우고 10년 이상 꾸준하게 축적할 프로젝트를 하나만들어서 오픈 소스로 전환시켜라
11. 발표하고 공개하라.
- 블로그, 개발자 커뮤니티의 컨퍼런스 등의 기회를 잡아서 가능한 많이 표현하라.
개발자는 언어에 종속되지 않는다.
다만, 개발 문화가 있을 뿐이다.
언어나 프레임워크가 변화하는 것은 매우 당연한 것이기 때문에 소프트웨어 개발자라면 이 변화를 매우 즐겁게 받아들이자.
출처-백세코딩
'issue & tip' 카테고리의 다른 글
백세코딩 #소프트웨어 개발 방법론과 DevOps (0) | 2018.04.16 |
---|---|
백세코딩 #개발자(이력과 회사) (0) | 2018.04.15 |
Lombok 라이브러리 (0) | 2018.03.31 |
자바 원시타입 (0) | 2018.03.09 |
자료구조 #리스트 (0) | 2018.02.23 |