소프트웨어 엔지니어의 가장 중요한 능력은?
2023. 1. 11. 00:00ㆍSE 에세이
문제 정의 능력
문제 해결에 1시간이 주어진다면,
문제를 이해하는데 55분,
문제를 해결하는데 5분을 쓸 것이다.
아인슈타인의 말이다.
과학 연구처럼,
소프트웨어 공학에서도
문제를 명확히 이해하고 정의하는 것이 중요하다.
문제가 무엇인가?
문제의 원인은 무엇인가?
문제가 해결된 모습은?
소프트웨어 공학자의 목적은 프로그래밍이 아니다.
문제를 해결하는 것이다.
소프트웨어 엔지니어의 가장 중요한 능력은
문제정의 능력이다.
***
여담이지만,
문제를 바르게 정의해 놓으면
프로그래밍 없이도 해결가능한 문제가 이외로 많다.
그럼에도, 실전에서는 이런저런 이유로 오버엔지니어링 하는 경우가 많다.
'SE 에세이' 카테고리의 다른 글
소통해야 하는 이유 (0) | 2023.01.13 |
---|---|
소프트웨어 엔지니어의 목표는 무엇인가? (0) | 2023.01.12 |
노키아가 안보이는 이유 (0) | 2023.01.10 |
생산성 높은 소프트웨어 개발 조직의 구조와 프로세스 (0) | 2023.01.09 |
왜 소프트웨어 개발자가 되었는가? (0) | 2023.01.08 |