소프트웨어 엔지니어링 복잡성은 엔지니어와 팀이 하는 작업에 따라 다른거지 절대적인 상한선이 정해져있는게 아닙니다. 모든 문제가 단순히 데이터 재배치한다고 해결되었으면 SW엔지니어링 이란 분야도 안생겨났겠죠.
물리세계가 아니라 형식체계에 기반해서 복잡함이 덜 하다고 주장하는건, 언어학, 수학이 사람이 인공적으로 만들어낸 언어, 숫자 형식체계에 기반하니까 복잡하지 않다는 주장이랑 비슷한 수준입니다.
기후 변화, 질병 치료, 지속 가능한 식량 공급 보장과 같은 복잡한 문제 해결에도 SW기술이 중요합니다. 앞으로 더 중요해질거고요. 왜 전혀 다른 문제인것처럼 이야기 하는지 잘 이해가 안되네요.
Hacker News 의견
소프트웨어 엔지니어가 되는 것은 어렵지 않음. 소프트웨어 엔지니어링은 가장 쉬운 직업 중 하나임. 우리는 너무 보호받고 있어서 이 글에서 설명된 것이 어렵다고 생각하는데, 이는 우리의 직업이 얼마나 어렵지 않은지를 보여주는 증거임
소프트웨어가 점점 복잡해짐. 이러한 복잡성은 이유가 있음. 하지만 좋은 이유는 아님. 과거에는 효율성에 대한 인센티브가 있었음. 인재 부족, 대역폭과 컴퓨팅 파워의 부족, 예산의 부족 등이 있었음
20년간의 "모두가 프로그래머가 되자"는 움직임, 과도한 자금, 위원회에 의한 설계가 매우 복잡한 세상을 만들어냄
30년 경력 동안 앱, 시스템 프레임워크 작업을 했고, 새로운 언어, API, 프레임워크, 도구 등을 배워야 했음. 소프트웨어가 만들어지고 전달되는 방식의 변화도 포함됨: 애자일 개발, 기술 리드 주도, QA에서 무QA, 단위 테스트, 코드 리뷰 등 항상 움직이는 목표임
알고 있는 언어: Pascal, C, 6502 어셈블리, C++, Objective-C, Javascript, Swift 등
경력 초반에는 메모리 관리, 작고 빠르게 유지하는 것이 중요한 기술이었음. 경력 중반에는 동시성에 대한 전문가가 되어야 했음
Apple 같은 큰 회사에서는 "좋은" 팀과 "나쁜" 팀이 있었음. 이는 특정 엔지니어에게 상대적임. 내가 싫어하는 팀이 다른 사람에게는 잘 맞을 수 있음
"나쁜" 팀에서 몇 년간 일한 후, 심각한 위장 문제를 겪었고 수술이 필요했음. 스트레스를 심각하게 받아들여야 함
집을 짓는 것처럼, 전문화가 사라짐. 고등학교 졸업장 이상의 교육이 필요한 직업에서는 다재다능함이 요구됨. 많은 직업이 다양한 기술을 요구함
한 사람이 충분한 지식을 가지고 일을 처리할 수 있다면 두 명의 전문가를 고용할 필요가 없음. 건축 회사들이 최소한의 작업만 하는 경우가 많음
복잡성의 이유는 FAANG 같은 회사의 이력서 작성, 직업 틈새 시장 구축, 직업 보안 자아도취 때문임. 산업 성숙에 대한 근본적인 무시가 있음
좋은 일을 하면 매니저로 승진함. 완전히 다른 일을 배워야 함. 기술을 배우는 데 많은 시간을 보냈지만, "인간을 디버그"하는 능력으로 전환되지 않음
오늘날 웹 페이지는 10년 전과 크게 다르지 않음. 그러나 기계는 훨씬 더 복잡하고, 페이지의 다운로드 크기는 더 크고, 반응성은 떨어짐
소프트웨어 산업에 대한 이론 중 하나는 성숙한 기술 회사를 관리하는 방법을 아는 사람이 없다는 것임. 기술 세계에서 이력서 중심의 개발이 문제임. 기술 관리자는 이를 감지하고 막아야 하지만, 그렇게 하지 못함
몇 가지 프로그래밍 언어와 프레임워크를 배우는 것은 "약간 성가신" 것일 뿐, 어렵지 않음
소프트웨어는 인공적임. 물리 과학 분야가 새로운 기술과 해결책을 발견하는 데 더 어려움. 기후 변화, 질병 치료, 지속 가능한 식량 공급 보장과 같은 복잡한 문제 해결은 매우 어려움
소프트웨어 엔지니어링은 데이터를 재배치하는 것에 불과함. 강력하지만 물리적 세계의 가장 어려운 문제를 해결하는 것만큼 근본적으로 복잡하지 않음