안녕하세요.
이전에도 글을 썼었는데 최근 웹 개발 부트캠프를 이수하고 한 SCM업체에서 소프트웨어 개발직으로 신입 입사를 앞두게 된 사람입니다.
웹 백엔드 개발자로써 처음에는 시작을 하기 위해 노력했으나, 알고리즘, 인터뷰, CS지식등 많은 것들을 준비할 여유가 없어 상대적으로 보수적이면서도 최신 기술보다는 비즈니스 로직에 대한 이해가 중요한 분야로 넘어왔습니다.
현실과 어느 정도 타협을 한 셈인데, 제가 더이상 경제적으로 취업을 미룰 수 있는 여유가 없었던 점이 가장큽니다. 물론 아주 엄격하게 말하면 제 실력이 뛰어나지 않아서라고 볼 수도 있겠네요(혹시라도 이런 말 하실 분 계실까봐 말씀드립니다.). 어쨌든 선택을 했고, 30대 중반인 이상 다른 분야로 나중에 틀기도 어렵다는 사실을 알고 있습니다. 저는 어쨌든 그래도 비즈니스 로직을 스스로 구현하는 개발자가 될 수 있음에 만족합니다.
아무튼 SCM 개발은 ERP/MES처럼 최신 기술보다는 비즈니스에 로직에 대한 이해가 중요한 분야라고 합니다. 최신 기술을 쓰지 않는다고해서 이 분야가 만만하다고 생각하지는 않습니다. 오히려 공급망 관리에 대한 공부를 해야할 것 같더군요. 그래서 관련 온라인 과정까지 물색해 놓았습니다.
일단 직장에서는 C#을 위주로 쓴다고합니다. 아마 많은 MES/ERP관련 개발하시는 분들이 비슷한 환경일 것이라 봅니다. 그나마 다행인 점은 현재 업계도 웹의 경량성과 속도를 인정한 것인지, 백은 C#으로 처리를하되, 프론트는 React나 Vue를 통해 반응형으로 구성을 하려는 움직임이 있다고 합니다(그러나 저는 아마도 SCM 백엔드 단을 다루게 되는 포지션으로 알고 있어서, 이 부분에 얼마나 관여할지는 모르겠습니다.).
많은 분들이 이 분야에서는 프로그래머로써 성장하기에는 한계가 있다고 합니다. 현실적으로 코드리뷰를 하기는 어렵고, 고객 요청을 그때 그때 반영해서 넘겨주는게 중요하다고 하네요. 이 부분이 조금 걸리기는 하지만, 어쨌든 제가 선택한 이상 감안해야하는 상황입니다. 아마 이런 환경에서 일하는 많은 분들도 비슷할 것이라 봅니다.
만약 회사가 코드리뷰가 잡혀있지 않은 곳이라면, 그런 환경에서 일하시는 분들은 개인의 실력을 어떻게 끌어올리시나요? 한정된 환경에서, 최신기술을 바로 도입하지 못하는 분야에서 더 나은 개발자가 되기위해서 어떤 노력을 할 수 있을까요? 물론 가장 이상적인 것은 코드리뷰 같은 프로그래밍의 품질 보완 시스템이 도입되는 것이 좋겠지만, 현실적으로 모든 회사들이 그런 시스템을 갖출 수는 없다는 것을 저도 알고 있습니다. 이런 환경에 놓인 개발자 분들은 어떻게해서 커리어를 관리하시고, 본인이 스파게티 코드를 짜지 않도록 주의하시는지 궁금합니다. 예를 들어서 C#을 활용하는 분들은 MVVM 원칙에 따라 프로그램을 작성하시나요? 그 이외에도 다른 노력이 있으시다면 조언 부탁드립니다.
이 사이트가 웹 개발자들 위주이지만, 간혹가다가 이 스마트 팩토리나 자동화, ERP, SCM등 응용 소프트웨어 개발 분야에서 일하시는 분들의 글도 보여서 조언을 주실 분이 있으실거라는 생각이 들어 질문드립니다.