개인적으로 교육자 자바지기님의 철학에 공감을 많이 하는 편이다.
덤으로, 듣다 보면 멘탈 케어도 될 때가 있다.
from javajigi youtube
or off-line seminar
- 우아한테크코스를 예로 들면, 교육과정대로 이 과정을 끝내는게 학습의 목표가 되어버리면 안된다.
- 테크코스 리더들의 리딩이 학습의 목표가 되어버리면, 학습은 점점 재미없어 진다.
- 역량있는 프로그래머가 목표라면, 과정의 미션을 달성하는 것이 학습의 목표는 아닐 것이다.
- 혹시라도 학습에 대한 주도권을 본인이 가지고 있지 않고, 다른 누군가(외부의 영향, 페어프로그래밍 상대 등)가 가지고 있다면 점점 할 건 많아 보이고, 다급해져서 흥미가 떨어질 수 있다.
- 학습의 주도권은 꼭 본인이 가져가자.
- 그런 성향을 가진 친구들이 빠르게 성장하는 경우가 많더라, 시키는대로만 하다보면 흥미를 잃고 재미가 없어지고 결국 자존감이 떨어질 수 있다.
- 어떤 식으로 학습하는게 맞는지 본인만의 학습법을 찾아보자.
- 꾸준히 학습하고 성장하기 위한 노력
- 프로그래밍 자체에 대한 열정
- 다른 사람이 읽기 좋은 클린코드, 유지보수하기 좋은 코드를 구현하는 능력
- SI에서 오래 일하다 보면 유지보수는 뒤로 한채 찍어내기 위해 개발하는 습관이 생긴다. 과거에는 이렇게 일을 많이 했을지 모르겠지만,
- 이제는 하나의 소프트웨어를 가지고 상당히 오랜기간 사용자와 피드백을 받으면서 유지보수와 기능 업데이트를 해 나가면서 서비스(소프트웨어)가 성공해 나갈 수 있다는 것이 어느정도 증명 되었고, 업계도 이것을 깨닫고 있다.
- 자사 소프트웨어를 가지고 오랜시간 사용자와 소통한 회사는 빨리 만드는 것 보다, 일정 수준 이상이 되면 유지보수하는 능력이 중요하다.
- SI에서는 이런 역량을 기르기 힘들다. 유지보수 역량을 가진 개발자들을 찾기 힘들다.
- 누군가가 만들어 놓은 소프트웨어를 안정적으로 유지보수 하는게 0에서 새로 만드는 것 보다 몇 배 더 어렵다.
- 본인은 유지보수를 잘하는 개발자가 정말 역량이 뛰어난 개발자라고 생각한다.
- 대부분의 인하우스 개발을 하는 회사들은 이런 역량을 가진 개발자를 더 중요하게 생각한다.
- 코드 품질에 대한 관심, 클린 코드를 구현할 수 있는 능력
- 다른 사람들과 원활히 소통하고, 팀워크를 만들어갈 수 있는 협업 능력
- 요즘 회사들이 오랜시간 같은 소프트웨어를 개발하다 보니까, 같은 팀원으로 오랜시간 함께 소통하 문제를 개선해 나가려면 협업 능력이 중요하다
- 과거보다 서비스의 복잡도라던가, 풀어야 할 문제들의 복잡도가 많이 높아졌다.
- 한 두명의 개발자가 해결하는게 아니라, 팀 단위의 여러명이 문제를 풀어 나간다.
- 프로그래밍 역량은 뛰어나지만, 협업 능력(소통, 태도, 배려, 자세)이 떨어지는 개발자와 프로그래밍 열략은 좀 떨어지지만 성장하려고 하고, 협업능력이 좋은 개발자가 있다면, 본인은 후자를 채용할 것이다.
- 회사들이 점점 더 그런 성향이 강해진다.
- 프로그래밍 역량을 가지고 있는 것은 기본이고, 소프트 스킬을 가지고 있는 개발자를 요구하고 있다.
- 자기 주도적으로 문제를 해결하는 능력
- 자기가 현제 프로젝트나 개발에 문제를 찾고 스스로 개선해 나가는 개발자를 요구하는 경향이 강하다.
- 위의 역량들을 어떻게 쌓아 나갈 것인가?
- 꾸준한 학습, 성장, 프로그래밍에 대한 열정
- 의지력보다는 환경(상황)을 바꿔 꾸준한 학습과 성장을 했는지가 중요하다.
- 의지력이 강해도 환경이 따라주지 않으면 변화를 만들기 힘들다.
- 야근하고, 주말근무 하는 환경에서 짬짬이 시간내서 역량을 쌓는 다는 것은 엄청난 의지력이 필요하다. 하지만 환경을 바꾸는게 더 빠른 변화와 성장을 만들 수 있다.
- 다른 사람이 읽기 좋은 클린코드, 유지보수하기 좋은 코드를 구현하는 능력
- 굉장히 쌓기 힘든 능력이지만 현업에서는 이 능력을 원한다.
- 오랜시간 해야 조금씩 쌓여서 만들어 낼 수 있는 능력이다.
- 평생에 걸쳐서 연습해야되는 역량이다.
- 목적 의식이 있는 연습을 해야된다.
- 의식적으로 계속 클린코드를 만드는 능력을 기르자!
- 다른 사람들과 원활히 소통하고, 팀워크를 만들어갈 수 있는 협업 능력
- 주니어일 때 좋은 문화를 가진 팀 속에서 일해보는 경험
- 잘못된 습관이 좋은 습관으로 바뀔 수 있는 기회
- 소프트 스킬을 기를 수 있는 회사를 찾아가자
- 커뮤니티 스터디 활동을 통해 다른 사람들과 소통하는 연습
- 주니어일 때 좋은 문화를 가진 팀 속에서 일해보는 경험
- 자기 주도적으로 문제를 해결하는 능력
- 프로그래밍을 대하는 자세, 삶을 대하는 자세에 변화
- 전문가인 프로그래머로서 "나는 어떻게 일할 것인가?" 에 대한 고민
- 주니어때 부터 조금씩 연습해서 길러나가자!
- 세 가지 역량 모두 기존의 학습 방식으로 키울 수 있는 역량이 아니다
- 지금까지 가지고 있던 직업, 일, 삶에 대한 선입견에 의구심을 가지고 접근해보자.
- 꾸준한 학습, 성장, 프로그래밍에 대한 열정
- 위 역량중 가장 핵심이 되는 역량이 무엇일까?
- 본인은 자기 주도적으로 문제를 해결하는 능력이라고 생각한다.
- 주변에서 발생하는 문제를 해결하려면 성장, 클린코드, 소통, 협업에 관심을 가질 수 밖에 없다.
- 누군가가 변화를 만들기를 기대하지 말고, 내가 주도적으로 변화를 만들 때이다.
- 실패해도 괜찮다.
- 실패하기 전보다 나는 한 단계 성장한다.
- 도전에서 작은 성공들을 거쳐가면서 차근차근 올라가보자.