ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유지보수하기 좋은 코드를 구현하는 방법 - 박재성(자바지기)
    세미나, 영상 요약정리 2023. 5. 17. 00:01
    728x90

    유지보수하기 좋은 코드를 구현하는 역량과 개발 문화 어떻게 만들 것인가? - 박재성(자바지기)

    달리는 마차에 바퀴를 갈아끼는 것은 고통스럽고 힘든 일일 수 있지만 중요하다.

    맹목적으로 믿는 것이 가장 위험하다.

    항상 의심하는 습관을 들인다.

     

    변화는 어떻게 만들 것인가?

    회고문화, 코드리뷰문화 문화등을 어떻게 만들것인가

    개인의 변화를 만들어 성장하고 다른 사람들에게 영향을 미치도록 하자.

    하지만 개인의 변화는 어렵고 다른 사람들을 변화시키는 것은 훨씬 어렵다.

     

    개인의 변화

    의지력이 아닌 환경이 중요하다

    ex) 꾸준히 학습에 투자하고 싶다 -> 퇴근 후 스터디 카페로 퇴근한다.

     

    투자 -> 비싼 교육, PT

    사회적 압력 - 공개적인 약속

    책임감 - 리더, 아이 등

     

    의식적인 연습

    치아를 닦는 것을 계속한다고 해서 이를 닦는 실력이 늘지 않는다 (무조건 연습만이 답이 아니다)

    목적의식 있는 연습이 중요하다.

    컴포트 존을 벗어나는 작업을 지속적으로 시도해야 한다.

     

    리팩토링을 하더라도 객체지향 체조와 같은 정량적인 것들을 도입해서 연습하자

    ex) indent는 1로

    ex) else 예약어를 쓰지 않기

     

    레거시 리팩터링

    절차지향으로 이루어지면서 테스트하기 쉬운 코드와 어려운 코드가 섞여 있다

    Mocking을 사용할 순 있지만 사용하지 않도고 만들 수 있다

     

    도메인에 핵심 비즈니스 로직에 구현해야 단위테스트 하기 쉬워진다.

    서비스 코드의 길이는 얇고(짧고) 도메인은 두꺼워져야(길어야)한다.

     

    팀의 변화

    코드리뷰와 같은 문화를 조직에 적용하고 싶지만 시니어 분들은 업무가 많고 귀찮아하는 경향이 있을 수 있다.

    주니어 개발자로서 경험이 부족하여 확신을 가지고 상대방을 설득하는데 한계를 느낍니다.

     

    사람은 기본적으로 변화를 거부

    팀의 변화를 거부하는 성향이 더 강함

    대부분은 변화에 실패한 경험이 있음

     

    시작하기

    내가 맡은 기능 구현/ 개선할 부분에 클린 코드 적용

    묵묵히 혼자 진행

    관심 있는 사람이 생기면 전파한다.

    동료의 관심에서 작은 성공을 맛본다

    리더가 하지 말라고 하면 그만둔다 -> 회사도 그만둔다

    불합리한 것을 바꾸려는 시도를 하다가 안되면 이직해라

     

     

     

    Q&A

    Q: 개발문화중 가장 좋았다고 느꼈던 점

    A: 협업문화를 만들기 가장 좋았던 것은 회고 문화(감정 회고)

     

    Q: 유지보수하기 좋은 코드를 위해 개인적인 노력

    A: 기존적인 시스템이 필요하다, 코드 리뷰 좋다, 하지만 짝 프로그래밍이 제일 좋다(난도는 높다)

     

    Q: 바디프로필을 찍은 것으로 아는데 주고 싶은 메시지

    A: 정점을 찍어보는 것이 좋았다, 해보니 이 나이에 못할 게 있는가?라는 마음가짐이 생겼다.

     

    Q: 11년 동안 백엔드 개발자의 삶에 회의감을 느낀 이유

    A: 삶에 좀 더 의미 있고 보람 있는 일을 찾다 보니 사람들에게 강의하고 변화하는 모습을 보는 것이 즐거웠다.

     

    Q: 교육자에게 필요한 것들?

    A: 좋은 교육자는 학습할 수 있는 환경을 제공하고 멘탈관리 피드백 위로 동기부여, 마치 리더와 같은 모습

     

    Q: 가장 훌륭한 제자?

    A: 제자들이 수동적인 삶을 살다가 진취적으로 바뀌도록 유도하고 좋은 곳으로 취업하는 것에 보람을 느낀다.

     

    Q: 팀 개발 컨밴션 vs 새로운 시도

    A:  팀 컨벤션이 중요하다, 추후 자신의 반란군들을 만들고 변화를 시도해 보자

     

    Q: 쫓기는 일정 vs 좋은 코드

    A: 동작하지 않는 예술작품보다 동작하는 쓰레기가 낫다. 이걸 핑곗거리로만 생각하지 말고 부족한 부분은 여력이 생기면 개선해라. 클린코드를 위한 역량을 기르다 보면 어느새 빠르게 개발하더라고 일정 수준의 퀄리티 있는 코드를 만들 수 있다.

     

    Q: 기획된 내용을 고도화 vs 기획, 서비스에 대한 이해

    A: 개발자도 기획서를 분석해서 역제안할 수 있어야 한다. 프로덕트가 성공하기 위해서는 함께 만들어가는 마인드

     

    Q: 다들 비슷하게 공부하고 잔디를 심고 블로깅을 한다, 다양성이 좀 떨어지는 것 아닐까?

    A: 재밌는 걸 하고 나만의 강점을 가지는 것이 중요하지만 우리나라의 교육을 혁신하지 않는 한 바꾸기 쉽지 않을 것 같다. 

     

    Q: 개발문화 가치관 형성에 영향을 미친 사람이나 계기가 있으신지?

    A: 비전공자 아이가 있는 상황에서 3개월 공부하고 취업하고 시작했다, 나는 나만의 색깔을 가지고 해 보자고 시작을 했다, 커뮤니티도 만들고 스터디도 해보고 불합리함에 반기를 들고 깨지고 지지도 받았다. 그로 인해 용기를 얻었다.

     

    댓글

Designed by Tistory.