본문 바로가기

분류 전체보기115

객체지향, 디자인패턴, 스프링 프레임워크... 소프트웨어 개발 과정에서 제목에서 열거된 온갖 기술들이 사용되는 이유는 소프트웨어가 시간이 흐르면서 요구 사항이 지속적으로 변경되기 때문이다. 처음에는 이 말을 그려려니 하고 받아들였지만, 나중에 내가 소프트웨어의 사용자 입장에서 무슨 생각을 하는지 고려해보면 소프트웨어에서 변경이란 숙명에 가깝다는 생각이 들어 섬찟한 공포를 느끼기도 했다. 그 어떤 소프트웨어도 사용자가 원하는 기능과 목록은 언제나 존재한다. 언제나 변경되고 업데이트되기를 원한다. 그래서 개발 프로세스에서 애자일이나 객체지향, 디자인 패턴들이 사용되는 것 같다. 이 기술들의 궁극적인 목적은 모든 설계 세부 사항과 요구 사항을 전부 파악한 후에 코딩에 돌입하는 개발 방식에서 벗어나기 위한 것들이다. 소프트웨어의 본질적인 성격(변경)을 고려.. 2023. 11. 13.
소프트웨어의 사용자 관점에서 느낀 것들, 소프트웨어 개발의 본질. 개발 공부를 하다보면 (당연하겠지만) 개발자, 즉 제품 생산자의 관점에서 기술을 바라볼 수 밖에 없다. 그러나 개발의 본질은 소프트웨어를 만드는 것이고, 해당 소프트웨어는 사용자의 편의를 위한 기술이다. 어떤 기술이 되었든, 그것을 만드는 총체적인 과정에서 만나는 여러 사항들을 해결하기 위해 기술들이 탄생한다. 그래서 가끔은 어떤 기술이 있을 때, 이것이 왜 존재하는지 생각해보곤 한다. (정답인지와는 별개로) 나는 밀리의 서재라는 소프트웨어를 애용한다. 구독 시스템을 기반으로 한 디지털 이북 소프트웨어다. 그런데 쓰면서 불만이 이만저만이 아니다. 지속적으로 업데이트되곤 하지만 사용자 입장에서는 "왜 이런 기술이 없는거지?"라는 의문이 들 때가 많다. 예를 들어, 나는 책을 읽다가 하이라이트를 많이 하는데.. 2023. 11. 12.
개발 공부의 목적 나는 개발자의 일이란 소프트웨어의 요구 사항을 서비스로 만드는 사람이라고 생각하고, 그저 멋지고 화려한 포트폴리오를 만들면 된다고 생각했다. 하지만 공부를 하면 할수록 개발이란 멋지고 화려한 디자이너가 아니라, 공학을 공부한 사람으로서 컴퓨터라는 기계 장치의 원리와 비용을 바탕으로 정보를 처리하고 저장하고 전송하는 가장 최선의 답을 이끌어내는 직업인 것 같다는 생각이 든다. 그리고 그러한 과정에서 설계와 분석이 중요하게 다뤄지는데, 이는 고객이나 다른 부서의 요구사항이 언제나 변경되고 수정될 수 있기 때문에 그러한 변경을 수용하는 방향으로 설계를 해야 한다. 화려한 포트폴리오보다 기본 지식과 탄탄한 기본기가 중요하다. 하지만 그 기본기라는게 너무 해야할 게 많다.. 헉 2023. 11. 12.
개발자로 살아남기 - 박종철 개발자로 살아남기 실리콘밸리와 우리나라에서 30년간 TOP 개발자로 활약한 저자의 커리어패스 인사이트를 공개합니다. 저자가 제안하는 ‘성장하는 30년 커리어패스’에 도전하세요. 처음 10년은 성장하는 시기, 다음은 리딩하며 일하는 시기, 마지막은 서포트하는 시기입니다. 시기별로 엔지니어링 역량, 매니지먼트 역량, 비즈니스 역량을 갖추세요. 이 책은 주니어/시니어 개발자, 팀장, 리드에 이르기까지 다양한 역할에 필요한 역량을 9가지 기술 중심으로 소개합니다. 저자 박종천 출판 골든래빗(주) 출판일 2022.01.01 1-1. 개발자의 기본 소양 개발자의 기본 소양은 기본 지식에 있다. 프로그래밍 언어는 개발자의 필수 기술이지만 약간 유행을 타는 경향이 있다. 그렇다고 기반이 되는 컴퓨터과학 지식만 익힌다면.. 2023. 11. 11.