개발자가 힘든 이유
1. 바라보는 시점이 다르다
- 현업과 기획자, 설계자, 관리자, 디자이너, 개발자
서로 바라보는 시점이 다르다
특히 앞단에서 방향이 조금만 어긋나도
전혀 다른게 만들어진다
- DA, DBA, AA, TA 등등
서로의 역할이 다르고 이해도가 달라
엇박자가 나는 일이 비일비재하고
개발자들도 큰 프로젝트일수록
서로의 비지니스 업무가 다르고
그로인해 같은 업무를 바라보는 시점이 달라
정확하고 합리적인 협의가 어렵다
2. 개발자 개개인의 기술이던 업무던 이해도가 다르다
- 다 각자 다르게 만든다
공통으로 개발가이드를 만들어도 읽어보지 않고
공통으로 만들다가도 기술적 한계로 인해 결국 가이드를 따르지 않고 만든다.
- 하나의 개념에 대한 테이블이 있다면 여러명이서 지지고 볶는다 나는 내 업무를 할뿐인데 데이터가 자꾸 망가진단다 서로의 업무 이해도가 없고 서로 이해하기 힘들다 그러한 대화를 누가 나서서 정리를 해줘야하는지도 모르고 다른사람들 또한 내 업무만 잘하면 되지 다른 사람 업무까지 이해할 여유가 없다
3. 프로젝트마다 기술이 다르다
- 이에 따라서 기술에 대한 이해도가 필요하게되고 생산성이 떨어지고 표준화가 어려움
리소스관리, 형상관리, 배포관리, 서버관리 등등 다 다르고 다 할줄알아야한다.
- 많은 범위에서 신기술과 신규기능업데이트 등으로 기술이 다각화 되고 트렌드화 되고 세분화 되었다.
예를 들자면 for반복문은 촌스러운것이고 stream 한줄코딩이 유행하는등.. 로직을 구현하는 방식이 다채로워졌고 그로인해 어려워졌다.
4. 유지보수시 남의 소스를 봐야한다
위 3가지의 상황이 만들어낸 결과물을 관리해야한다.
다른 여러 사람이 생각해서 각자의 스타일로 만들어낸 소스는 정말정말 이해하고 파악하기 힘들며 수정하기도 힘들다. 매번 볼때마다 새로운 소스를 일관적으로 변경하기 힘드니 땜빵식으로 계속 일을 처리해나간다.
5. 사용자 위주의 생산성 없는 야근
배포는 항상 퇴근시간 이후에 한다..
야근한다고 대체되는보상이 없으니
빨리 끝내고 갈 생각밖에 안든다.
신기술이라 무중단배포니 뭐니 열심히해봤자 어차피 야근 배포인데 무슨 의미가 있나 싶다
6. 고연차가 될수록 전문성이 떨어진다.
기술이든 업무지식이든 한분야만 파고 들어선 안된다..
적당히 골고루하면서 결국은 협의와 관리가 주업무인 설계도하고 개발도하고 다 땜빵 가능한 어정쩡한 관리자가 되어야하고 그래야 살아남는다.