추가과제를 하면서 굉)장히 놀랐다. 반복문, 조건문, 배열만으로도 원하는 기능의 프로그래밍을 짜는데 어려움을 겪지 않았기 때문이다.
사실 나는 전부터 프로그래밍에 관심이 있어서 프론트엔드 공부를 했었다. 음.. 이런기능으로 동작하는구나 정도의 생각이 들면 그 기능을 다 이해했다고 생각했다. 하지만 돌이켜 보니 그때의 나는 아무것도 모르고 있었구나라는 생각이 들었다. 뭐가 좋고 나쁘고에 대한 기준이 없었던 것 같다. 동작만 되면 ok였다.
어떤 구조가 좋고, 어떤 흐름으로 프로그램을 짜야되고, 어떻게 해야 읽기 좋은 코드를 만들어야 하는지에 대한 생각이 1도 없었다. 그런 상태에서 아무리 리액트를 배우든 뭐든 아무리 좋은 라이브러리를 가져와도 본질에 대한 이해가 없으니 정말 쓸데 없는 일이다.
2주간 코딩해보면서 전과 내가 어떻게 집중하는 부분이 달라졌을까? 한번 되돌아보니 두 가지 구별점이 있었다.
작동하는 최소단위부터 짜라!
내가 이전까지 짰던 코드를 생각해보았다. 다음과 같은 특징이 있었다. 음... 반복 필요하네? 반복문 넣어. 음 예외 처리 필요하네 ? 예외처리 넣어. 이렇게 이것저것 생각나는 대로 이리 찌르고 저리 찌르다 보니 남게 된건 너덜너덜한 코드더미 밖에 없었다. 다시 들춰보기도 겁나는 코드 말이다. 하지만 여기서는 오로지 반복문, 배열, 조건문 만으로 원하는 프로그램을 하나하나 구현할 수 있었던 이유는 무엇일까? 버릴건 버리고 구현되어야 하는 최소기능에 집중해서 작동하는 코드를 만들기 때문이다. 이러한 코드를 mvp라고 하고 구현하고 나면 메인루프의 조건과 예외처리를 몇가지 추가해주면 훨씬 응집도 있고, 잘 정리된 코드를 짤 수있다.
숙련도
유튜브에서 자주 보이는 배너가 있다.
99일동안 개발 공부에만 몰입하면 환영받는 주니어 개발자가 될수있습니다! 될수 있을까? 될수 있다. 물론 SI회사에서...
모든 개발자들은 SI보단 서비스 회사를 가고 싶어한다. 서비스를 만드는데 기술숙련도가 낮은 사람이 합격하면 어떤일이 벌어질까. 현업에서 업무를 진행해야 하는데 언어 docs만 계속 뒤적거리고 있네? 음... 내가 사장이라면 이런사람 절대로 안뽑을 것 같다. 우리는 숙련도를 바탕으로 현업에서 퍼포먼스로 보여주어야 한다. 구현하고 싶은건 뭐든 자유롭게 코딩으로 구현이 가능해야 한다. 숙련도를 높이려면? 죽어라 해야지. 같은 문제도 다양한 방법으로 풀어보아야 한다. 다른사람의 구조가 더 나은가도 살펴보아야 한다. 내가 오늘 느낀 조금의 숙련도가 이런 느낌인 것 같다. 이전에 독학으로 자바스크립트를 겉핥기 했을때와는 느낌이 다르다. 어떻게 활용할까를 고민하지 않아도 술술나온다. 주력으로 쓰는 기술의 숙련도가 그정도는 되어야 이제 현업에서 환영받는 주니어 개발자가 될 수 있다고 생각한다.
아직 2주차 밖에 안되어서 뭐 이렇게 짰다 하는것도 웃기지만, 함수 없이 기본적인 문법만으로 프로그램을 문제없이 구현한다는 것이 나에게는 엄청나게 큰 의미로 다가왔다. 객체지향의 사실과 오해에서 나온 내용을 빌리자면,
객체지향이란 각각의 잘 만들어진 객체가 상호간의 협력을 하면서 하나의 목적(프로그램 구현)을 향해 달려나가는 세계를 말한다.
오늘 나도 개발자라는 목적을 이루기 위해 배열과 반복문이라는 하나의 객체를 훌륭하게 생성한 것 같다.
'TIL' 카테고리의 다른 글
객체 너 누기야!!(22.07.22TIL) (0) | 2022.07.22 |
---|---|
짝프 그거 어떻게 하는건데??(22.07.21TIL) (0) | 2022.07.21 |
가진것을 활용하자 (22.07.19TIL) (0) | 2022.07.19 |
빠빠익선 (22.07.18TIL) (0) | 2022.07.18 |
방청소는 안했지만 브랜치청소는 하고싶어 (22.07.17TIL) (0) | 2022.07.17 |