메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

실무자가 더 나은 웹 개발을 하기 위한 팁들

hji7***

|

2023-07-20

더 나은 웹 개발을 위한 가이드

더 빠르고, 더 잘 읽히는 웹사이트 구축을 위한 모든 것

  • 저자 : 고승원
  • 출간 : 2023-06-09

 

프런트엔드 개발자로서 구미가 당기는 제목의 책입니다. "웹 개발"을 위해서 알아야 할 것이라면, 정말 많은 분량의 책을 써야 하겠지만, "더 나은 웹 개발"이기 때문에, 일종의 고급 기능이라고 할만한 것들을 선정해서 설명하고 있습니다. 웹, HTML, CSS, 자바스크립트, 타입 스크립트, 그리고 올해 초 상당히 뜨거웠던 AI에 의해 파생된 주제인 노코드, 로우코드에 대한 이야기들이 나오네요.

제 경우 웹 개발에 대한 책을 꽤 오래 읽어왔기 때문에, 이 책에서 이야기하는 주제들을 어디선가 한 번쯤은 봤던 주제들이긴 합니다. 하지만, 인간은 망각의 동물이고, 저는 그중에 거의 극단에 있는 존재이기 때문에, 이런 책을 읽을 때마다 '아하 그랬었지'라는 혼잣말을 되뇌며 읽게 되는 것 같습니다.

 

장님과 코끼리 

 저는 책을 읽을 때, 장님이 코끼리를 만진다는 이야기를 자주 하는 편입니다. 아시겠지만 원래 이 비유는 대상에 대해 한 단면만 보는 좁은 시야를 빚 대어하는 말인데요. 저는 장님이 꾸준히 코끼리 전체를 만져보는 걸 상상하곤 합니다. 물론, 다리만, 코만 허리만 만지는 장님이라면, 코끼리를 파악하기 힘들겠지만, 코끼리 전체를 계속해서 만지는 장님이라면, 언젠가는 코끼리를 멀찍이 보는 사람보다 코끼리에 대해서 더 잘 알게 될 겁니다.

그래서, 제가 주로 하는 일에 대한 책은 눈에 띄면 읽으려고 노력하는 편입니다. C나 C++을 사용할 때는 주기적으로 도서관에 가서 관련 책을 빌리고, 또 책을 사서 읽었고, 자바스크립트로 업무를 보기 시작할 때는 도서관에서 자바스크립트 책을 모조리 다 빌려다 읽었습니다. 프런트엔드 업무를 하면서부터는 프런트엔드 개발에 관련된 책이라면 난이도를 떠나서 모조리 다 읽으려고 노력하죠.

소프트웨어 개발 분야에서 프런트엔드 분야는 정말 빠르게 변하는 분야 중 하나입니다. 그러다 보니, 프런트엔드 개발 책을 꾸준히 읽으면서는 점차 자라나는 어린 코끼리를 하나씩 더듬더듬 만지는 것 같은 느낌을 받게 됩니다.
그런 면에서 이 책은 꽤 흥미롭습니다. "웹 리소스 최적화"라든지, "웹 접근성" 같이 중요하게 다뤄야 하고 변화가 많은 것들을 주제로 삼고 있거든요. 사실 처음 웹 개발에 대해서 책을 읽기 시작하던 몇 년 전에는 눈에 띄지 않는 주제였거든요.

이제는 많이 알려졌지만, css에 flex, grid 같은 개념도 이해하기 쉽게 그리고 깔끔하게 정리하고 있습니다.

개발자의 미래

 가장 흥미를 끌었던 주제는 뭐니 뭐니 해도 AI가 개발자라는 직업에 어떤 영향을 미치게 될지에 대한 이야기가 아닐까 싶습니다. 저자는 개발자라는 직업이 사라지지는 않을 거라 단언합니다. 대신 copilot 같이 코딩을 돕는 툴들을 개발자가 사용하게 될 거라는 식으로 설명하고 있습니다.

저도 이 주제에 대해서 꽤 많이 생각해 보았는데요. 저자의 견해에 동의합니다. 일단, AI도 일종의 "기술"이라는 걸 염두에 둬야 합니다. 그러니, AI는 인간을 대체할 수는 없습니다.

하지만 우리가 하던 작업의 방식을 상당히 바꿀 겁니다. 이미 많은 사람들이 확인했지만, AI 만으로 업무를 하는 것보다 인간이 AI와 협업하는 방식의 업무가 훨씬 효율이 좋은 것으로 나타났거든요. 즉 AI 발전으로 만들어진 도구를 사람이 사용하는 방식으로 발전하게 될 겁니다. 그 대표적인 예가 이 책에서 언급된 copilot입니다. github에서 만들고 있는 이 도구는 개발자가 원하는 코딩하는 도중 어떤 코드를 넣어야 할지 제안해 주기도 하고 주석으로 어떤 알고리즘을 구사하는 코드를 만들어 달라고 하면 그걸 해주기도 합니다.

이 책에서 이 부분을 읽으면서, 저는 수학자 푸앵카레가 했다는 말이 생각났습니다. <직관의 두 얼굴>이라는 책에서 저자는 "증명은 논리에 의해, 발견은 직관에 의해 이루어진다"라는 말을 "푸앵카레"가 했다고 전하고 있습니다.

푸앵카레는 많은 업적을 남긴 수학자인데요. 개발자들과 같이 "지식 노동자"였다고 할 수 있습니다. 푸앵카레는 자기 일을 어떻게 하면 효율적으로 할 수 있는지도 꽤 고민했던 것으로 보이는데요. 인간의 뇌가 작동하는 방식을 두 가지로 나눈 것으로 보입니다. 그건 바로 논리와 직관이지요. 여기에 푸앵카레는 논리를 직관보다는 좀 "단순 업무"같은 식으로 활용했던 것 같습니다. 수학적인 증명을 하기 위해서는 어떻게 증명해야 하는지 직관을 통해 발견을 먼저 해야 하고, 그 발견이 참 임을 논리를 통해 증명해야 하거든요.

재미있는 건, 이런 두뇌의 활동을 애자일의 프랙티스에서 응용하고 있다는 것입니다. 바로 "짝 프로그래밍"입니다. <실용주의 사고와 학습>에서 앤디 헌트는 코딩의 전체 방향을 보는 네비게이터와 코딩을 직접 하는 드라이버로 짝 프로그래밍의 역할을 설명하고 있는데요. 네비게이터가 "R 모드"라는 뇌의 활동 모드를 사용한다고 말합니다. 그리고 여기서 R 모드는 "직관"을 사용하는 두뇌의 작동 방식입니다.

짝 프로그래밍이 효율적이 되는 이유는 개발자가 혼자서 드라이버와 네비게이터로 번갈아가며 코딩을 해 나가야 하는걸, 두 사람이 분담했기 때문입니다. 드라이버에서 네비게이터로 바꿀 때 컨텍스트 스위칭이 필요하기 때문에 일종의 혼선을 격을 수 있거든요. 시간도 좀 걸리고요. 하지만 그 역할을 두 사람이 나누면 상당히 효율적으로 작업을 할 수 있고, 코드의 품질이 좋아져서 각자 작업할 때보다 더 많은 작업을 할 수 있게 됩니다.

아마도, AI 툴은 드라이버 역할로 발전해 갈 가망성이 높습니다. AI라는 게 대수의 데이터에 확률을 더해서 알고리즘을 만들어내는 기술이거든요. 다시 말해 다수의 데이터, 다수의 코드가 있는 것에 대해서 도구화할 수 있다는 말이 됩니다. github에 올라가 있는 코드 다수는 코드 자체를 타이핑하는 역할을 하는 드라이버의 작업을 대체하는 도구를 만드는 AI에게는 재료가 될 겁니다. 하지만 네비게이터의 일은 다릅니다. "데이터"가 없거든요. AI가 아무리 발전해도 네비게이터 작업은 대체할 수 없습니다. 그럼 이건 인간 개발자가 해야 하죠. 다시 말해 AI가 극단적으로 발전하면 개발자 혼자서 짝 프로그래밍 하는 효율을 만들어 내는 정도로 일을 할 수 있게 해줄 수 있겠지만 개발자를 대체하지는 못하게 될 겁니다.

이 책의 저자는 오랜 실무 경험을 통해 이 부분을 간파한 것 같습니다. 그래서 개발자는 사라지지 않는다고 단언할 수 있는 게 아닌가 싶네요.

결론

 앞에서 언급했지만, 이 책을 읽으면서, 자라나는 아기 코끼리를 만져보는 것 같은 느낌을 느껴볼 수 있었습니다. 변화하고 발전하고 다시 성장하는 웹 개발 영역에서 이런 지적인 재미를 주는 책들을 읽어보는 것도, 좋은 경험이 아닐까 싶네요. 몇몇 최적화 툴들은 실무에도 적용해 보고 있습니다. 마침 최적화가 필요한 시점이었거든요.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?