아래의 질문들에 대답할 수 있는가? 기본 개념을 제대로 알고 있는 개발자와 그렇지 못한 개발자는 말과 행동에서 구분이 된다. 제대로 알고 있지 못한 개발자는 - 상사가 시키는 대로만 한다. - 개념은 대충 말로 설명할 줄 아는데 이를 코드로 작성 못한다. - 상사 또는 아는 지인이 좋다고 한 방법을 그대로 사용한다. - 좋다고해서 사용하게 된 기법이나 패턴들에 대해 설명하지 못한다. (이해하지 않고 사용한다.) - 사용하고 있는 기법들에 대해 장단점을 말하지 못한다. - 왠지 모를 불편함과 답답함을 느끼지만 평소에 사용해왔던 방식이니 어쩔 수 없이 계속 사용한다. POCU 아카데미의 'COMP 2500 개체지향 프로그래밍 및 설계 (java)' 강의에서는 아래의 질문에 명확히 대답할 수 있도록 알려준다...
실력있는 개발자들의 공통된 특징들이 있다. 배운 것에 대해 확실히 알고 있으며 모르는 것들에 대해 인정할 줄 알고 스스로 찾아서 학습할 줄 안다. 개념을 모르는 개발자는 스스로에 대한 자신감과 확신이 없다. 그래서 신입시절 본인의 의견보다는 상사의 의견을 의심없이 받아들인다. 그리고 나중에 자신의 밑으로 들어온 신입에게 보고 들은 그대로를 전달한다. 똑똑한 신입이 들어와서 이런 저런 질문을 해도 본인도 잘 모르는 내용이기 때문에 정확한 설명 없이 '원래 그렇게 만들져서 그렇다'라고 대답한다. 이미 누군가 만들어 놓은 것이기 때문에 여기에 대해서 이러쿵 저러쿵 이야기 하는 것은 의미가 없다는 변명을 한다. 그런 곳에서는 개발자로서 실력을 향상시키기 힘들다고 생각한다. Java 생태계에서는 이러한 일들이 빈..
디자인 패턴은 배워서 사용하는 것이 아니다. 이미 그 패턴을 경험을 통해 사용하고 있었고 이름을 몰랐을 뿐이다. 실무에서든 개인 프로젝트에서든 개발을 하면서 원하는 구현을 이루기 위해서 고민을 해보게 된다. 지금 만들고자 하는 서비스의 좋은 설계가 무엇인지 검색을 통해 찾아보기도 한다. 이렇게 다양한 설계 방식과 구조를 찾아가면서 이해하고 알게 된 상태에서 디자인 패턴을 보게 되면 익숙한 느낌을 받게 될 것이다. 그리고 그 때 디자인 패턴에 대해서 훑어보면 추가적으로 더 유용한 기능들을 덧붙일 수 있다. (더 유용하게 써먹을 수 있는 방법 등) 개발 실력도 부족하면서 디자인 패턴으로 무언가를 만드려고하면 낭비하는 시간만 커져 효율이 좋지 않다. 게다가 경험도 없고 지식도 부족하다보니 버그도 나기 쉬우며 ..
요즘처럼 개발하기 쉬운 세상이 없다고 하면서 다양한 코딩 교육기관이 많이 생겨나고 있다. 사실 개발하기 쉬운 것은 '기본을 알고 있는 사람들'이 사용하기 편하도록 만든 것들을 개발을 처음 배우는 비전공자도 '사용할 수는 있어서' 쉽다고 말하는 것이다. 나도 전공이 컴퓨터 공학이 아닌 물리학이다. 하지만 졸업후 개발에 관심을 가지게 되었고 개발을 업으로 삼고자 여러 온라인 강의나 교육기관에서 교육을 받았다. 시행착오를 여러번 거친 후에 취직을 하게 되었지만 일을 하면서 느끼는 감정을 지울 수가 없었다. 그 감정은 전공자에 비해 컴퓨터에 대한 너무나 부족한 기본지식이다. 이러한 기본기가 부족하면 연쇄적으로 떠오르는 생각이 있다. 내가 개발자를 하는 것이 맞는 것일까? 안 맞는 옷을 입고자 하는 것은 아닐까?..
- Total
- Today
- Yesterday
- 유추
- 관찰
- OOP
- 패턴인식
- 형상화
- Java
- 패턴형성
- POCU
- 김포프
- 쉬운 책
- 상속
- 개발자
- 습관 버리기
- 몸 최적화
- 천재를 이기는 타이탄의 도구들
- 인생 필수책
- 지속 가능한 습관
- 늦었을 때가 가장 빠를 때다
- 상위 20% 능력 학습
- 감정이입
- 프로그래밍
- 추상화
- 디자인 패턴
- Pope Kim
- 젊을 때 읽을수록 더 좋음
- 습관을 바꾸는 방법
- 다형성
- 빌드봇
- 생각의 탄생
- 캡슐화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |