그리고 저는 다양하게 공부를 했었는데 호텔 매니저
, 신학
, 회계
이렇게 다양하게 공부를 했었는데 공부를 하다가 막힌 부분이 있으면 그것을 찾아보고 기록하는 스타일입니다. 다양하게 공부를 하다보니 느낀 것은 토대가 안 좋으면 높게 쌓아도 불안전하다는 것입니다. 그런 생각을 가지고 공부를 하다보니 궁금증이 생기면 책을 보고 논문을 보고 구글에 검색해서 교차 검증을 했습니다. 이럴 때 귀찮은 것이 아니라 궁금한 것을 못참는 성격이 도움이 되어서 제가 몰랐던 것을 알게되어 해결했을 때 즐거움을 저는 얻을 수 있었습니다. 그리고 공부하다가 느낀점은 사람의 기억력에는 한계가 있다는 것을 느꼈고 기록하기 시작했었습니다. 먼저, 노트와 워드로 기록을 해서 저장을 하다가 개발 공부를 시작하고나서는 기록하는 장소는 Velog
와 Git
두 곳입니다. 워드에서 블로그로 기록하는 방식을 바꾼 이유는 개발
공부를 시작하면서 제가 정리한 것들을 남에게 쉽게 보여줄 수 있으면 좋겠고 이쁘게 꾸며서 가독성 있이 정리하고 싶어서 Velog
를 선택하게 되었고 개발자에게 Git은 필 수 적이다 보니 Git
에 코드를 저장하게 되었습니다. 이렇게 블로그와 Git에 기록하다 보니 제가 기억이 애매하거나 까먹었을 때 다시 기록했던 자료들로 복습해서 기억해낼 수 있었습니다. 제가 다양하게 공부한 이유는 제가 진정으로 무엇을 하고 싶은지 무엇에 재미를 느끼는지 찾고 싶었습니다. 삶을 단순히 흘러가는대로 아무 노력없이 살거나 비전도 없이 살고 싶지 않았기 때문입니다.
저는 저의 삶과 제가 받았던 교육들 그리고 생각들이 개발자로서 장점이라고 생각합니다. 그렇게 생각하는 이유는 외국의 삶과 호텔 매니저와 신학을 공부하면서 소통하는 방법을 익혔고 개발자에게는 소통이 중요하다고 생각합니다. 개발 업무는 혼자하는 것이 아니기 때문입니다. 그리고 외국에서 살았을 때 겪었던 경험으로 인해서 다른 사람과의 차이를 틀리다라고 정의하지 않고 다르다고 생각하고 배울점이 있으면 배우고 습득하는 방법을 배워서 이 부분도 개발자로서 장점이라고 생각합니다. 또한 제가 장점이라고 생각하는 부분은 도전 정신과 그에 따른 노력하는 자세임니다. 이 부분을 장점이라고 생각하는 이유는 삶의 방향을 찾는다는 도전으로 인해 다양한 공부라는 노력을 했듯이 개발자로서도 정체되지 않고 계속 공부할 것이기 때문에 장점이라고 생각합니다. 그리고 저는 가독성을 생각하는 것도 장점이라고 생각하고 있습니다. 저는 제가 정리한 것을 다시 보고 복습을 하는데 복습할 때 읽기 편하고 머리에 습득이 효율적으로 되도록 가독성있게 하려고 하고 가독성이 떨어진다면 리팩토링을 해서 가독성 있게 만듭니다. 개발 업무도 여러명이서 작업하는 것이니 다른 사람들이 제 글이나 코드를 쉽게 파악할 수 있게 해서 시간 낭비를 줄이니 이러한 가독성을 추구하는 행동이 장점이라고 생각합니다.
저의 단점이라고 생각하는 부분은 저의 생각을 전달하는 방법의 부족함이였습니다. 이 부분은 프로젝트를 진행할 때 저는 리더의 역할을 맡았는데 여기서 많이 느꼈습니다. 여태까지 리더보다는 팀원으로써 잘 따라가고 제 의견을 제시하면서 배울점은 배우면 되었지만 리더로서는 제 생각을 더 강하게 어필해서 팀을 이끌어야하는데 그러지 못했습니다. 그리고 리더로서 팀원들이 따르지 않으면 갈등이 생기는 문제도 있었습니다. 하지만 이러한 단점은 1차, 2차 프로젝트를 진행하면서 단점을 점차 고쳐갔습니다. 팀원들에게 리더로서 어떻게 말해야하는지 배우고 리더로서 팀원들과 소통하는 방법을 알게 되었습니다. 그렇다보니 저의 생각을 전달할 때 저의 생각을 강요하는 것이 아니라 이유에 대해 설명하기 시작했습니다. 예를들어, 어떠한 기능을 넣어야할 때 프론트에게는 이 기능이 고객에게 편의성을 줄 수 있다는 것을 말하면서 고객의 입장에서 왜 필요한지 설명하였고 백엔드에게는 이러한 기능을 구현했을 때 왜 이러한 방식으로 구현했는지 생각을 전달하고 코드 리뷰를 요청하는 방식으로 했습니다.
편의성
과 필요성
이라고 생각합니다. 그리고 개발을 할 때 복잡하게 코드를 작성해도 컴퓨터는 그 코드를 해석해서 기능을 구현할 수 있을 것입니다. 하지만 개발은 혼자하는 것이 아니라 여러명의 팀원과 같은 팀으로 프로젝트를 진행하고 코드를 작성할 것입니다. 시간의 낭비를 하기 싫다면 팀원들이 내 코드를 한번에 이해하기 쉽게 코드를 이해하기 쉽게 짜고 가독성이 좋은 코드를 작성하는 것이 좋다고 생각합니다. 어쩔 수 없이 코드를 복잡하게 짜야한다면 주석으로 내 코드가 무슨 기능을 하고 있는지 설명해주는 것이 좋다고 생각합니다. 저의 모토는 Simple is Best
입니다. 단순한 것이 읽기 쉽고 이해하기 쉽기 때문입니다. 그러다보니 저는 항상 블로그도 정리하고 끝내는 것이 아니라 리팩토링을 해서 정리한 것을 다시 정리를 하고 여러 페이지로 나누는 것이 아니라 하나의 카테고리로 정리했습니다. 편의성
과 필요성
에 불적합합니다. 사용하려고 할 때 될지 안될지 모르는 사이트는 편의성도 떨어지고 요즘 시대에는 대체품이 많다보니 필요성도 떨어질 것입니다.코드 리뷰
를 받고 제 코드를 업그레이드 시키기 위해서는 다른 사람의 코드 스타일도 보고 공부할 점이 있습니다. 뛰어난 실력자의 코드는 더욱 그렇다고 생각합니다. 그렇기 때문에 자주 소통해서 피드백을 받고 피드백을 수용하는 절차는 많이 필요하다고 생각합니다.