최근은 아니고 한 석 달 전쯤 모 카페에서 댓글로 가볍게 싸운 적이 있다.
생긴 지 얼마 되지 않은 기술적으로 트렌디한 스타트업이나 누구나 들어본 IT기업들은 대부분 퍼블리셔를 따로 구하지 않고 프론트엔드 개발자만 채용한다. 현재 올라와 있는 구인 공고를 보면, 퍼블리셔는 연식이 있는 기업이나 SI 혹은 에이전시같이 많은 프로젝트를 동시에 해야 하는 기업에서 채용하고 대체로 따로 뽑지 않는 추세임을 알 수 있다.
보통 퍼블리셔에게 기업이 기대하는 역할은 마크업, 스타일시트 작성(+약간의 UI 동작)까지다. 때문에 적어도 이 분야에 대해서는 깊은 이해도를 가지고 있기를 기대한다. 반면 프론트엔드 개발자는 업무할 때 신경 써야 하는 부분이 마크업이나 스타일시트(css-in-js 포함) 작성 외에 여러 가지 있는 것으로 알고 있다. 그 때문에 실제로 많은 취준생들이 html, css를 공부하기보다는 다른 부분에 더 많은 시간을 투자한다. (이게 나쁘다는 것이 절대 아니다.)
그래서 문득 궁금해졌다. 기업에서는 “html, css에 대한 깊은 이해”가 있는 프론트엔드 개발자를 채용하겠다는데, 이 “깊은 이해”가 어느 정도일까? 퍼블리셔에게 요구하는 만큼의 웹표준/접근성에 대한 이해를 원하는 것일까?
나는 아무래도 실무 경험이 짧기 때문에 현업에 오래 있었던 사람들이나 다른 환경에서 근무하는 사람들에게 질문하기로 했고, 모 카페에 질문 글을 등록했다. 그런데 질문을 좀 잘못한 것인지 굉장히 공격적인 댓글이 달렸다.
아마도… html, css는 알수록 어렵고 심오한데, FE개발자들은 이렇게 어려운 것까지 신경쓰며 일을 하는거냐? 라고 질문한게 약간 도발하는 것 처럼 느껴진게 아닐까 싶다.
참고할만한 좋은 댓글도 많이 달렸지만 이 글에 달린 댓글을 보고 스스로 내린 결론은 생각보다 많은 개발자가(물론 깊은 관심을 가진 개발자들도 많다. 정말 많은 도움이 되고 있다.) HTML, CSS를 그다지 소중하게 생각하지 않는구나~였다. 사실 이건 퍼블리셔도 마찬가지인데, 검색으로 걸려 나오는 포트폴리오들을 조금만 뜯어보면 많은 경우 라이트하우스로 기본적인 접근성 측정도 해보지 않았음을 눈치채게 된다. (라이트하우스가 아니라도, 학원에서 기본적인 접근성 테스트 도구를 알려주는 것으로 알고 있다.)
윗 문단에서 언급한 사람들에게 뭐라하고 싶은 마음은 전혀 없다. (저 댓글 쓴 사람한테만 조금 뭐라하고 싶다.) 왜냐하면 나 또한 딱히 웹표준이나 접근성의 중요성을 염두하고 작업하지는 않았기 때문이다. 게다가 많은 퍼블리셔를 양성하고 있는 국비수업에서는 시간관계상 수박 겉핥기로 가르칠 수 밖에 없다. 수업을 완주한 많은 신입들은 뭐가 뭔지 모르는 상태로 바로 실무에 투입된다. 이들 중에서는 운이 좋아 배울 수 있는 근무 환경을 만나거나, 스스로 공부할 수 있는 어떠한 계기가 주어질 수도 있지만, 사수도 없는 열악한 환경에서 혼자 근무하며 페이지를 만들기만으로 벅찬 경우가 더 많을 것이다. 나는 좋은 사수도 있었고, 딱히 열악하지 않은 환경 속에 있었음에도 불구하고 아무것도 몰랐다. 자바스크립트 프레임워크를 처음 배우고, 써먹기에 바뻤다. 그동안 많이 배웠고 발전한 것만 같았다.
질문 글을 작성했던 시기에는(12월~1월쯤) 대고객 프로젝트에 투입되어 있었다. 접근성을 준수하지 않은 부분 때문에 꽤 고생하고 있었는데, 일정에 얽힌 여러 가지 사정이 겹쳐 화면을 수정하는 과정이 썩 유쾌하지는 않았다. 짜증이 나지 않았다면 거짓말이지만 프로젝트 끝나고 스스로 만들어온 작업물에 대해 다시 한번 생각할 수 있는 중요한 계기였다. 일종의… 리마인드 포인트였던 것이다. 이 프로젝트에 참여하지 않았다면 내가 지금 어떠한 상태였을지 잘 모르겠다.
나는 실무에서 Vue.js를 큰 어려움 없이 사용할 수 있는 몇 안 되는(회사에서 구하기 힘들어했다.) 퍼블리셔였기 때문에 실제로 이곳저곳에 투입되었고, 저연차임에도 훨씬 경력이 많은 사람을 가이드 하기도 했다. 여러 사람에게서 좋은 평가를 받다 보니 좋게 말하면 자신감이 생겼고 나쁘게 말하면 살짝 기고만장해졌다고 할 수 있겠다.
1년전에 함께 일하던 차장님이 나의 작업물을 보며 했던 질문이 있다.
헤딩 태그를 거의 안 썼네요?
벌써 1년이나 지난 일이라 질문이 정확히 기억나지 않지만, 요지는 시멘틱 태그를 전혀 사용하지 않고 작업했음을 지적한 것이다. 그런데 나는 굉장히 대수롭지 않게 대답했다. div나 span에 이벤트 바인딩하는 것은 전혀 어렵지 않고 화면에 UI도 예쁘게 잘 나오는데 굳이 시멘틱 태그를 사용할 이유가 뭐 있겠는가?
지금에서야 내가 굉장히 잘못 생각하고 있었음을 깨닫고 있다. 나의 작업은 최소한 시멘틱 태그를 사용하려고 노력했던 3년 전에 비해 전혀 나아지지 않았다. 프레임워크를 사용할 줄 알게 되었지만 기초적인 부분을 무너뜨린 채 방치한 것이다.
위에서 언급한 대고객 프로젝트에서 토크백을 실제로 처음 사용해 보았는데 정말 좋은 기회였다고 생각한다. 가끔 토크백으로 겉으로 보기에 멋지고 멀쩡한 서비스들을 이용해보곤 하는데, 사용하지 못할 정도로 불편한 경우가 예상 외로 많다. 버튼 안에 통이미지를 사용했으면서 label이 아예 없는 경우도 있고, 중요 버튼에 포커스가 가지 않아 리더기로는 아무것도 할 수 없는 경우도 있다. 당연히 완벽할 수는 없겠지만 서비스를 아예 사용하지 못할 정도라면 뭔가 문제가 있는 것이 아니겠는가?
글은 이렇게 작성했어도 아직 공부할 점이 한참 많다. 게다가 실무에서 시간에 쫓기며 작업할 때 표준이나 접근성을 고려하며 작업할 수 있을지 자신이 없기도 하다. 하지만 나라도 관심을 조금씩 가져야겠다고 생각한다. 번거롭고 짜증나기 쉬운 일에 시간을 더 투자해야한다. 학원을 다니며 막 웹 공부를 했을 때 월드 와이드 웹이라는 단어(?)에 살짝 감동한 적이 있다. 세상 “모든” 사람들에게 열려 있는 곳. 하지만 진정으로 “모든” 사람들에게 열려 있는 웹 환경이 조성되었는지는 의문이 든다. 그리고 나 또한 어느정도 일조했음을 인정하고 반성한다.
인클루시브 디자인 패턴이라는 책을 발견했는데, 한 번 정독하면 많은 도움이 될 것 같다. 시간이 나면 구매해서 꼭 읽어봐야겠다. 더 나은 작업을 할 수 있는 사람이 되도록 노력하자.