삼성 SDS 멘토링 후기
2월 26일 삼성 SDS에서 진행하는 프로그래밍 멘토링에 다녀왔다.
멘토링 주제는 아래와 같았다.
- 삼성SDS의 개발 문화
- 개발자가 되기 위해 준비할 것
- IT 개발자의 회사 생활
- 코드 리팩토링 방법
이런 걸 좀 더 빨리 알고 강의를 들었으면 좋았을 걸 하는 생각이 들었다.
너무 생각없이 학교 다닌 것 같아서 이런 강의 들을 때마다 좀 슬프다..
“왜 배우는지 모를 기초 과목은 좋은 프로그램을 만들기 위한 토대”
프로그래밍과 코딩은 창의적인 새로운 것을 만드느냐, 아니냐 로 구분한다고 한다.
프로그래밍을 위해서는 논리적, 귀납적 사고가 필요한 데 학교에서 배운 기초 과목들이 이런 사고력을 키우는데 쓰이기 때문에 소홀하지 않았으면 한다.
하지만 이미 지나가버린 기초 과목의 학점…
“할 수 있는 것과 할 수 없는 것 구분하기”
공부할 때 보면 항상 야심차게 시작한다.
수업 때 배웠던 이것도 구현해보고 싶고, 새로 나온 저 언어로 개발해보고 싶고.
하지만 당장 할 수 있는 것과 할 수 없는 것을 구분하고 최종으로 만들고자 하는 것을 구분했으면 한다.
하고자하는 양만 늘리면 최종은 만들어지기 힘든 법..
“학교에서 경험한 모든 것은 기록하세요”
팀프로젝트에서 싸운 경험, 해봤지만 실패한 경험. 모두 소중한 경험이다.
이런 경험을 할 때마다 사소하다고 생각하지 말고 다 적어두길 바란다.
자기소개서를 쓰고 있다 보니까 정말 와닿는 말이었다. 쓰고 싶은데 기억이 안나서 쓰질 못한다.
- 배운 것
- 계획했지만 못한 것
- 어렵지만 극복한 것
- 싸우게 된 이유
- 기대했지만 실망한 것
- 다시해보면 다르게 해보고 싶은 것
지금 당장 쓸 때는 모르더라도, 나중에 성장한 나를 발견할 수 있다.
“Clean Code, 코드 리팩토링”
이와 반대의 말을 가진 것은 Code Smell이라고 한다.
중복이 많은 코드, 에러처리를 하지 않은 코드, 쓸데없이 복잡한 구조인 경우가 이에 해당한다.
클린 코드에 대해서는 인턴을 하면서 절실하게 느낀 부분이다.
6개월 동안 나 혼자서 만든 프로그램을 누군가에게 맡기고 간다고 생각하니 가독성을 신경쓰지 않을 수 없었다.
- 변수명이 길어져도 가독성을 위해 불필요한 주석은 삭제
- 변수는 사용위치와 가깝게 선언
- 언젠가 쓸지도 모를 코드를 주석처리하고 남겨놓지 않기
- 함수에서 인수의 개수는 3개 이내가 좋다. (공통되는 인수는 구조체로)
이 외에도 다양한 좋은 내용이 많았다.
지금 와서 후회한다고 하긴 하지만, 그 때 이런 강의가 있는 걸 알았다고 해도 아마 놀러 다녔을지도 모르겠다.
이제라도 열심히 해야지 ㅠ-ㅠ