This is a short article demonstrating the thinking behind my development and design. It may change in any ways at anytime as my thoughts change.
If you're a frontend developer or a web designer, you'll notice that the title Frontend Designer seems strange. That's because I've created the word just 5 minutes before I started writing this article!
I'm a frontend designer, where the JavaScript is the only programming language that I naturally write. Someone could overestimate me that I have expertise in frontend technologies. Well, that's half right. There are still a lot of technologies that I can't explain correctly or not even aware of during a development. Prototype, Promise, this
, that, ...and more. When I learn something new, I always use the strategy "take when need". Unless a technology is required to be used in my implementations, I spend less time on it.
When it comes to teach somebody, it totally becomes a different story. And here's the thing; explaining a technology is much harder than understanding it. To describe what you've understood, you may go further than just knowing them.
JavaScript as a tool
I often think of novelists while programming. They squeeze their heads to illustrate the most impressive characters and stories for readers. We are the same. Our software is a story, and JavaScript is the language to illustrate that. We communicate with end users just like novelists communicate with readers. To provide the best and worthy experience to them, firstly we should catch their mind before researching the foundation of technologies.
Sometimes it is required to understand the technologies in deeply. Although we can build anything without knowing what this
is, we can achieve the same thing in a much fancy and better way. Nonetheless, you don't have to start this mysterious programming language by digging into the basis. Again, take them when you need them.
I usually think about
- what to make rather than how to make.
- what I can create with JavaScript rather than its principle.
- what really I need.
Future is about harmony, not expertise
When you're somewhat good at only one thing, fairly that's not enough to be remembered by the world. There are a lot of full-stack developers who not only know the technologies across frontend and backend, but with a wide spectrum that reads people's emotion and the future. Both developers and designers should not be biased to their own job. If you focus only one thing, you'll never see the other side. We need harmony. We need to cross the boundary between totally different areas.
Look around you. Literally, everything is designed. A typography, the font you're looking at right now is also a design. Products and services with lots of features and without design are no more satisfactory. You are eventually rewarded only after making things stimulate our sensation from its visual refinement.
Designs are easily underestimated. Occasionally they are treated just as decorations to hide an insufficiency, and it is the result of misunderstanding the design. Human beings are born to be attracted by any kinds of beauty.
No matter what job you have, develop artistic sensibility. Not anyone can be a great artist or designer like Picasso or Jony Ive. Nevertheless, we all have to be a designer. See the big picture, construct a whole new thing from those unrelated pieces.
Frontend developers and web designers have a precious chance to design great user experience and fascinating user interface that interacts directly with users. Let our imagination realized on its infinite canvas. We are Frontend Designers.
KOR
이 글은 개발과 디자인에 대한 저의 생각을 비추고 있습니다. 생각의 변화에 따라 언제든지 어떠한 형태로 글의 내용이 변경될 수 있습니다.
여러분이 프론트엔드 개발자거나 웹 디자이너라면 제목을 보고 갸우뚱했을겁니다. 프론트엔드 디자이너는 이 글을 쓰기 5분 전에 만들어냈고 이런 단어는 존재하지 않으니까요!
저는 JavaScript와 오랜 시간 함께 해온 프론트엔드 디자이너입니다. 한 분야만 고집해왔으니 JS에 능통했을 법도 하지만 막상 누군가 기술에 대한 설명을 요구하면 당황하기 마련입니다. 아직 정확히 설명하지 못하거나 개발 도중 생각조차 나지 않는 기술들이 더러 있습니다. Prototype, Promise, this
등 정말 다양한데요, 저는 여태껏 새로운 것을 배우면 "필요할 때 취한다"의 전략을 사용해왔습니다. 새로 배울 기술이 나에게 필요하지 않으면 시간을 적게 할애하는 방법입니다.
만약 누군가에게 지식을 전달해야 하는 상황이 온다면 위 전략은 무용지물입니다. 타인을 이해시키는 것은 내가 이해하는 것보다 훨씬 어려운 일이고 정말 많은 시간과 노력이 필요하기 때문이죠. 단순히 이해하는 것을 넘어서야 합니다.
도구로서의 JavaScript
프로그래밍을 할 때 소설가를 자주 떠올리곤 합니다. 그들은 기억에 남는 캐릭터, 잊을 수 없는 스토리를 독자들에게 선사하기 위해 수많은 고민을 합니다. 맞춤법에 극도로 신경을 쓰거나 한글의 기원과 어원, 역사를 공부하고 떠올리면서 썼다간 책을 완성하기 어려울 겁니다. 우리도 마찬가지입니다. 프론트엔드 개발자에겐 마치 작가와 독자의 관계처럼 직접적으로 교류하는 사용자가 있습니다. 우리는 모두 자신의 작품을 사용할 사람들에게 더 나은 경험과 가치를 선사하고 싶어합니다. 그러기 위해선 기술의 원리보다 그들의 마음을 읽는 것이 우선입니다.
기술을 깊게 이해하고 있는 것이 중요할 때가 있습니다. this
가 무엇을 가리키는지 정확히 몰라도 모든 것을 만들 수 있지만 알고 있디면 더 많은 것을 더욱 멋진 방법으로 만들 수 있겠죠. 조금 더 효율적이고 고급스러운 코드를 작성할 수도 있습니다. 하지만 처음부터 이 알쏭달쏭한 언어의 밑바닥부터 샅샅히 살펴볼 필요는 없습니다. 기술이 필요한 순간이 찾아오면 그때 해내도 늦지 않습니다.
저는 종종
- 어떻게 만들지 보다 무엇을 만들지 생각합니다.
- 기술이 어떤 원리로 작동하는지 보다 기술로 무엇을 할 수 있을지 생각합니다.
- 나에게 진짜 필요한 것이 무엇인지 생각합니다.
미래 사회는 전문성이 아닌 통합
어느 것 하나만 잘해서는 주목받기 어려운 세상입니다. 풀스택이 각광받고 있는 이유이기도 합니다. 여기서 풀스택이란 프론트엔드와 백엔드를 넘나드는 어마어마한 기술자가 아니라 기술과 디자인의 경계에서 사람들의 감정과 미래를 읽을 줄 아는 넓은 스펙트럼의 소유자입니다. 개발자가 디자인에 관심 가질 필요가 없는 것은 아닙니다. 마찬가지로 디자이너가 개발할 필요가 없는 것도 아닙니다. 한 가지에만 집중하다 보면 소중한 이면을 놓칠 수 있습니다. 우리는 조화를 이루어야 합니다. 전혀 다른 분야를 자유롭게 넘나들어야 합니다.
주변을 한 번 둘러보길 바랍니다. 무엇 하나 디자인되지 않은 것이 없다는 것을 알 수 있습니다. 지금 여러분이 읽는 이 글의 폰트조차 디자인이죠. 단순히 기능만 갖춘 제품과 서비스는 더 이상 충분하지 않습니다. 시각적으로 아름답고 좋은 감정을 불러일으키는 가치를 만들어야 비로소 보상받을 수 있습니다.
디자인은 쉽게 무시당합니다. 부족한 점을 감추기 위한 겉치레로 여기는 경우가 많습니다. 이는 디자인의 본질을 잘못 이해하고 있는 것입니다. 인간은 본능적으로 주변 환경을 가꾸려 하고 아름다움을 갈망합니다. 효용과 의미가 결합한 디자인은 자연스럽게 사람들을 끌어들이기 마련입니다.
어떤 직업을 가지든 상관없이 예술적인 감수성을 길러야 합니다. 누구나 피카소나 존 아이브 같은 위대한 화가와 디자이너가 될 수는 없습니다. 하지만 그럼에도 불구하고 우리는 모두 디자이너가 되어야 합니다. 큰 그림을 보고 관련 없는 조각들로 새로운 전체를 조립하는 능력이 필요합니다.
프론트엔드 개발자와 웹 디자이너는 감각적인 사용자 경험을 만들 수 있으며 아름다운 인터페이스로 사람들을 홀릴 수 있습니다. 원하면 창조할 수 있고 마음에 들지 않으면 쉽사리 파괴할 수도 있습니다. 웹 페이지는 마음껏 그림을 그릴 수 있는 한 장의 캔버스이며 이곳에서 상상의 나래를 펼치고 있는 우리는 모두 프론트엔드 디자이너입니다.