본문 바로가기

개발자의 인생6

생활 속 모듈화와 분리가 개발자에게 중요한 이유 한국에서의 개발 경험을 갖고 처음 북유럽에서 일 할 때 가장 어려웠던 점은 개념의 모듈화에 대한 것이었다. 보다 정확히는 객체지향 프로그래밍의 SOLID 원칙의 첫 번째인 단일 책임 원칙(Single Responsibility Principle, SRP)을 의미한다. SRP는 한 클래스(혹은 모듈)는 하나의 기능만을 담당해야 한다는 개념이다. 다양한 재료를 섞어 조화로운 맛을 만드는 비빔밥의 나라답게 한국은 고수준의 개념 설계를 할 때 여러 기능들을 섞곤 한다. 이 섞임을 가장 잘 관찰할 수 있는 부분이 나에게는 인터페이스 구현이었다. 개발자 및 사용자 편의성을 고려하여 하나의 인터페이스를 이용해서 다양한 것들을 다룰 수 있도록 하는 것이었다. (대표적인 예가 채팅, 송금, 쇼핑 등을 한 큐에 제공해주는.. 2024. 9. 15.
세계 최대 해운 박람회 SMM 2024 참석 후기 지난 주는 독일 함부르크에서 열린 SMM에 참석했다. 스타트업 부스에서 우리 솔루션을 전시하기 위한 참석이었다. 어마어마하게 큰 박람회의 스케일과 대조적으로 우리의 부스는 매우 작았다.  그래서 더 진중하고 무거운 마음과 반면에 신입으로써의 홀가분한 마음을 모두 갖고 박람회를 둘러 보았다.  우리가 전시를 진행했던 B6는 Electrical equipment, automation, software, IT 분야 업체들이 참석했는데, 그 홀 하나의 규모만해도 웬만한 박람회 전체 규모 이상이었다. 다른 관에 가보니 나라별로 전시를 하기도 했다. 한국, 덴마크, 영국, 중국, 핀란드 등의 전시관을 둘러보았다. 전시관마다 나라 고유의 분위기가 느껴져서 그 나라로 순간이동한 느낌까지 들었다. 해사 업계가 이렇게 돈.. 2024. 9. 9.
시니어 개발자로 발전하면서 생기는 좌절 시니어 개발자가 되면서 어떤 기술에 대한 요구사항을 들으면그 구현을 위해 어떤 기술 스택이 필요한지,대략의 기간이 얼마나 소요되는지,어떤 부분이 (주어진 자원으로) 완전히 구현 불가능한지,어떤 부분이 기술적으로 가장 도전적인지,예상되는 운영 비용 및 문제 등이 자연스럽게 분석된다. (나의 전문 분야 한정) 시니어 개발자로의 전문성이 발달된건지나이 들면서 고집이 늘어나는건지 모르겠지만개발에 대한 원칙과 절차가 확립되는 과정이내 기준에선 전문성이 날카롭게 다듬어 지는 과정으로 느껴진다. 마치 코드 컴파일러 마냥 내 머리 안에서 개발 요구사항을 컴파일하고 내뱉는 오류나 경고 같달까.전문성은 훌륭한 컴파일러를 가지고 있어서 목적의 본질에 가까운, 즉 중요한 요구사항을 먼저 지적하고 해결 방안을 제시하는 능력이리.. 2024. 8. 23.
덴마크에서 내가 개발자로써 하고 있는 일 나는 현재 덴마크에서 해사(maritime) 분야의 가장 큰 오픈소스 중 하나인 Maritime Connectivity Platform (이하 MCP)이라는 프로젝트의 주 기여자 중 하나로 일하고 있다. 의외로 한국(해양수산부)이 국제 해사 무대에서 큰 활약을 보이는 국가 중 하나이다. 2023년 말까지 국제해사기구의 사무총장이 한국인이었고 그 외 대형 선박 건조 경험을 통해 선박 안전 기준이나 항만 안전 평가 등과 관련한 표준에 목소리를 내는 주요 회원국이다. 해사 분야의 디지털 적용에 관한 국제 표준과 기술에 대한 부분도 한국이 많은 기여를 하고 있는데 MCP 또한 그런 프로젝트 중 하나이다.  MCP의 필요성은 해사 안전 등의 서비스를 제공하는 기관과 서비스를 필요로 하는 소비자의 구도로부터 시작한.. 2024. 8. 15.
내 실력은 어느 정도 일까? - 시니어 개발자의 고민 '나의 진짜 실력은 어느 정도일까?' 소프트웨어 개발 경력이 어느 정도 쌓이다 보면 누구나 하게 되는 고민이고 현 시점 나의 고민이다. 이번 글은 시원한 해결 방안 보다는 이 고민과의 처절한 싸움에 대해 쓰고 싶다.  나는 새로운 것으로의 (소소한) 도전을 즐기고 호기심이 많기에 최근 몇 년 간 다양한 프로젝트를 넘나들며 일을 해왔다. 심지어 분야도 가상/증강현실, 사이버보안, 웹 프로그래밍, 블록체인, 네트워크 등등 종잡을 수 없었다. 그러다 어느 회의에서 각자 자기를 소개하는 순간이 있었는데 엔지니어들 대부분은 '무슨 분야의 전문가'라고 자칭하였다. (실제 그 정도의 경력과 실력을 갖춘 존경스러운 전문가들이었음) 당황한 나는 짱돌을 굴려 그저 하고 있는 일들을 나열하고 턴을 종료했었는데 그 순간부터 .. 2024. 8. 2.
내 실력은 어느 정도 일까? - 주니어 개발자의 고민 어제 일을 시작한지 얼마 되지 않은 따끈한 주니어 개발자와 대화를 나눌 일이 있었다. 그의 가장 큰 고민은 자기 실력이 어디까지인지 가늠이 되지 않는 것이었다. 그로 인해 파생되는 부가 걱정들이 더 있었다.지금 하는 프로젝트를 기간 내에 성공적으로 완료할 수 있을까?산출물을 내가 원하는 수준까지 만드려면 기간이 얼마나 걸릴까?배우는 것과 일하는 것을 병행하는 것이 맞을까?대부분 '나는 할 수 없을꺼야'라는 부정적 결론을 이끌어내는 질문들이었다.  내가 그 분에게 실력 가늠을 위해 권했던 것은 업무 일지를 기록하는 것이었다. 아주 자잘한 것까지 내가 할 일, 하고 있는 일, 해낸 일, 하지 못한 일을 기록하는 것. 나의 개발 발자취를 남기는 것은 내 실력 파악을 위한 주요한 자료가 된다. 이 기록들이 쌓이.. 2024. 8. 1.