아직 아무 것도 모른다는 것을 아는 것이 가장 중요하다
[펌] 20년간 소프트웨어 엔지니어로서 배운 20가지 (simplethread.com)
원본 :
https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/
1. 난 아직 잘 모름 : 우리는 평생 배워야 하는 사람들
2. 소프트웨어의 가장 어려운 부분은 올바른 것을 구축하는 것
3. 최고의 소프트웨어 엔지니어는 디자이너처럼 생각함
4. 최고의 코드는 코드가 없거나, 유지할 필요가 없는 코드
5. 소프트웨어는 목적을 위한 수단
6. 때로는 톱날 가는 것을 멈추고, 뭐라도 자르기 시작해야함
7. 뭐가 가능한지 잘 이해하지 못한다면 좋은 시스템을 설계할 수 없음
8. 모든 시스템은 결국 짜증나니까, 극복할 것
9. 아무도 "왜"를 충분히 묻지 않음
10. 우리는 10x 프로그래머를 찾는 것보다, 0.1x 프로그래머를 피하는데 훨씬 더 집중해야함
11. 시니어 엔지니어와 쥬니어 엔지니어의 가장 큰 차이는 도구나 소프트웨어 작성 방식에 대한 자신만의 의견을 형성 했는지 여부
12. 사람들은 진정으로 혁신을 원하지 않음
13. 당신의 데이터는 시스템의 가장 중요한 부분
14. 기술적 상어(빠른 변화에도 오래 살아남은 기술)를 찾을 것
15. 겸손을 무지로 착각하지 말 것
16. 소프트웨어 엔지니어는 정기적으로 글을 작성해야함
17. 프로세스를 가능한 간결하게(Lean) 유지할 것
18. 소프트웨어 엔지니어도 (모든 인간과 마찬가지로) 주인 의식을 느껴야 함
19. 지원자가 좋은 팀원이 될지, 면접으로 알 수 있는건 없다.
20. 항상 더 작은 시스템을 구축하기 위해 노력할 것
결론
= 항상 매우 작은것 부터 많은 일을 해야하는 작고, 린(Lean) 한 팀에서 일했음
= 특정 도구보다는 "작동하는 소프트웨어"를 중요하게 생각함
= 항상 새로운 프로젝트를 시작하지만, 여러 시스템을 유지보수 해야함
= 대부분의 고려사항들보다, 엔지니어 생산성을 중요시함