나는 프론트엔드 개발자입니다 (1)

손성오·2024년 2월 16일

'나는 프런트엔드 개발자입니다' 를 읽고 작성하는 서평입니다.

우연히 알게 된 블로그의 개발자분이 남긴 글에 이 책에 대한 서평이 있어 접하게 된 후 주문하여보았습니다.

오래간만에 시간가는줄 모르고 읽게 된 책입니다.
먼저 첫번째 파트에서 제가 프론트엔드 개발자로써 고민해본 문제들을 다루어 주어서 초반부터 정말 흥미로웠습니다.

왜 프론트엔드 개발자가 되려고 하세요?

첫장은 프론트엔드 개발자가 되기 위해 어떤것이 필요한지에 대해 다루는 내용이다.
그를 위해 어떤 '기술'이 필요한지 고민해 볼 수 있는 부분이었다

1) 알고리즘

코딩테스트에서 쓰이는 알고리즘 풀이를 단지 '이 유형은 이 알고리즘으로 푼다' 라고 공식처럼 암기하여 푸는 것이 아닌 , 왜 이 접근 방법을 썼는지 자신이 어떤 논리를 전개하는지 아는것이 먼저인 것임을 상기 시킬 수 있었다

"마법의 하얀 가루를 넣으면 신기하게도 짠맛이 납니다." 가 아닌
"소금"을 알고 있는지 ,어떻게 다루어야 하는지 알자!

2) HTML와 CSS마크업

프론트엔드를 공부하며 HTML 와 CSS에 사실 큰 관심이 없었고 퍼블리셔를 하는게 아닌데 이부분 이 중요할까? 라는 고민을 많이 하였는데 책에서 이 부분에 대하여 다루어서 정말 흥미로웠다.

1.

사실 큰 관점에서 이 또한 프론트엔드 개발의 일부이며, 주 업무 역할은 구분 하더라도 동료가 만들어준 마크업이 어떤 구조와 의도로 작성되는지 이해 할 수 있어야 하는 것이 첫번째 이유였다

2.

CSS를 통해 자바스크립트보다 훨씬 간단히 구현할 수 있는 경우도 많다. 이책에서 설명한 사례중 놀랐던 부분이 이것이다. 사실 부끄럽게도 이러한 방법이 있다는 것 또한 몰랐기에 조만간 글로 알게 된 내용을 작성해 볼 예정이다. 그 내용은 다음과 같다.
특정 텍스트 입력란이 빈 경우 테두리 색을 다르게 하고 싶을 때

<input type ="text"/>
document.querySelector("input")
	.addEventListener("blur",({ target})=>{
    	target.style.borderColor = 
        	target.value.length ? "black" : "red";
            })

해당 구문은 HTML과 CSS 로 훨씬 읽기 쉽고 간단히 표현할 수 있다.

<input type = "text" required>
input : invalid {border-color :red}

이를 보고 required 와 invalid에 대해 처음 알았고 보자마자 아 HTML 이랑 CSS를 공부해야겠다 라고 생각이 들었다.

더 적은 시간과 노력으로 목표를 달성하는 방법을 알아두면 개발자로 성장하는 것뿐 아니라 궁극적으로 삶의 질도 향상될 것이다.

3) 자바스크립트

코딩테스트를 준비하며 친구에게 파이썬만큼 준비하기 쉬운길이 없다 파이썬으로 공부해라 라는 소리를 많이 들었었다. 하지만 프론트엔드 개발에서 파이썬을 쓸일이 거의 없을텐데 코테만을 위하여 파이썬을 공부해야 할까 생각하여 자바스크립트로 공부를 하고 있는데 이 책 또한 다행히도 프론트엔드 개발자를 꿈꾼다면 자바스크립트에 더욱 익숙해지기를 추천하고 있다.
또한 공부를 하며 자바스크립트보다 리액트를 먼저 공부해야 취업이 잘 될 것이다. 이러한 말을 오픈톡방에서 본 적이 꽤 있는데 결국 리액트도 자바스크립트로 구성된 도구 중 하나인것이다.
기술변화가 빠른 프론트엔드에서 앵귤러JS만 해도 추억의 이름이 된것을 보면 역시 항상 본질이 가장 중요하다는 점을 간과해선 안됨을 이 책에서 강조하고 있었다.

4) 적당히 하기

사실 이 부분은 아직 현직을 경험하지 않아본 나에게는 현재 배우고 있는 기술스택에 최선을 다하는것이 최선이라 생각하기에 확실히 와닿는 부분은 아니였다.

책에서는 내가 최신기술과 도구를 사용하기 위해 노력하고 이를 활용하는 것도 좋지만 거기에 너무 집중하면 최악의 경우에는 거대하고 정교한 '똥'을 공들여 만드는 것이라고 표현하였다.

최신 기술과 최신 스타일의 코드도 좋지만 내가 진행할 과제, 만들어야 할 제품에 적합한지를 생각 하고 '적당한 기술'을 '적당한 구조'로 만들어라
-28P

즉 다양한 기술들을 써보는것은 좋으나 기본기를 탄탄히 다지는것이 가장 빠르게 변화하는 기술들에 대처하는 가장 좋은 방법일 것이다

5) 사용자 경험에 대한 이해

프론트엔드 개발자가 되고 싶은 이유에 대해 많은 사람들이 눈에 보이고 사용자 손에 닿는 부분을 만드는것이 좋으니까 라고 대답할 것이고 나 또한 그렇다. 따라서 그에 따른 사용자의 경험에 대해서도 고민하고 적용시킬줄 알아야 한다.
이책에선 만약 디자이너가 검정 배경에 검정 글씨로 디자인을 주었다거나, 로그인된 사용자를 전제로 '내 정보'를 표시하는 디자인을 받았다면 사용자에게 어떤 불편함이 있을지 비로그인 사용자는 어떻게 다룰지 사용자의 시선과 동선을 고려하면 어떤 방법이 자연스러울지에 대해 다양한 상황과 조건을 기술 관점에서 고려해 보아야 한다고 하였다.
프론트엔드 개발자로써의 마인드에 많이 배울 수 있는 부분이었는데 특히 내가 왜 프론트엔드 개발자가 되고 싶은지에 대해 책임을 가지고 심도있게 고민해볼 만한 것들을 예를 들어주어서 더욱 와닿았다.

6) 재밌게! 즐기자!

나의 가치관과 정확히 일치하는 부분이었다.
'내가 즐길 수 있고 재미있는 일을 하자' 이것이 나의 가치관인데 저자 또한 일을 하다가 힘들 때 문득 내가 왜 이걸 하고 있나 생각이 들때 모든것의 처음과 끝에는 '재미'가 있었다고 한다.

'내가 즐길 수 있고 재미있는 일을 하자' 이 말은
항상 친구나 가족들에게 하는 말인데
결과가 나오지 않는다면 철 없게 들릴 수 있는 말이지만 결국 나의 삶은 나의 것이다. 내가 재밌지 않고 즐기지 못한다면 그 만한 성과도 낼 수 없을것이며 오래하지도 못할것이기에 당장의 취업을 위한 공부보다는 나는 내가 재밌고 즐길 수 있는 개발을 하고싶다.

0개의 댓글