제품을 개발한다 신제품을 만든다 상품을 발명한다 등의 의미로 쓰인 “개발한다” 라는 의미는 소프트웨어 엔지니어의 입장에서 볼땐 어떤 의미로는 소프트웨어에는 해당사항이 없습니다. 저는 20년째 소프트웨어 개발자로 일하는데 지금와서 보면 과연 소프트웨어가 무언가를 “개발” 하는 의미로는 보이지 않습니다. 단지 가장 상위 개념인 상품을 개발한다할때 거기에 필요한 소프트웨어라는 부품을 “생산” 한다가 더 정확한 표현일듯 합니다.
사람들이 말하는 최첨단이라는 의미는 소프트웨어가 최첨단이라는게 아니라 소비자들이 사고 싶어하는 시장가치를 갖는 “상품”이 최첨단이라는 뜻입니다. 소프트웨어는 그 상품에 들어가는 부속품인거구요. 요즘 인기 있다고 말하는 인공지능분야도 인공지능을 구동하는 소프트웨어 자체는 의미가 없고 인간과 상호 작용을 할수 있는 하드웨어 설계, 소프트웨어의 알고리듬등이 중요한 요소입니다. 하드웨어 설계는 기계나 전기전자 공학자들의 몫이고 알고리등역시 소프트웨어 개발자가 아닌 언어 학자, 행동 분석 학자, 심리학자, 기타 다른 분야의 전문가들이 만들어준 상세한 알고리듬을 소프트웨어 엔지니어들이 프로그램으로 변형 시켜놓은것일 뿐입니다.
소프트웨어 엔지니어가 직업의 한 분야로서는 물론 좋습니다. 장점도 단점도 다 있습니다. 제가 볼때 그 장단점이라는게 다른 직업들과 크게 다르지 않습니다. 소프트웨어 엔지니어라고 해서 뭔가 특별한 혜택이 있는것도 불리함이 있는것도 아니고 그저 고만고만 합니다.
너무 큰기대도 큰우려도 하지 않는게 맞습니다. 그냥 그저그런 보통의 일입니다. 단지 그 일에 관심이 많고 흥미가 많아서 전문성이 많이 올라간거죠. 소설가도 아무나 될순 없지만 그렇다고 아무나 못할일도 아닙니다. 그건 소설쓰는게 쉬워서가 아니라 사람들이 흥미를 갖고 많이 몰려서 일겁니다. 마찬가지로 소프트웨어 엔지니어라는 직업도 아무나 할수는 있지만 사람들이 크게 흥미를 못느끼는거죠. 처음 진입 장벽이 높고 그렇게 매력이 느껴지지 않는게 사실입니다. 물론 시간이 흐르면 어느직업과 마찬가지로 전문성이 생기고 중독성도 생깁니다. 하지만 처음부터 그런 재매를 느끼기는 힘든 직업이라 사람들이 잘 모이지 않고 그냥 천재공학도 괴짜공학도 이런 애들만 하는건가보다하고 선입견이 생긴겁니다. 그냥 다른 직업과 다를바 없는데도 말이죠.