Tuesday, September 10, 2019

What should I do

해야 할 것들은 산재해 있는데, 뭔가 제대로 하고 있는 건 몇 없는 것 같다. 이번에 한번 정리해 보고 실천해 봐야 겠다.

여태까지 잘 하고 있던 것


멘토링


  • 현재 격주로 수, 목요일로 오후 11시에 온라인 멘토링 진행
  • 수요일 팀, 목요일 개인으로 진행하는데 당분간은 2~3 팀 혹은 개인으로만 진행 예정
  • 아마 이것보다 더 우선순위에 있는 할 일이 생기지 않는 한은 우선순위 1번으로 진행할 듯 하다.

건강관리

  • 사실 운동을 한건 아니고 2년 정도 점심을 샐러드로 챙겨 먹고 있다.
  • 하지만 운동을 하지 않고 술도 자제하지 않다 보니 큰 효과는 없는 듯
  • 그래도 샐러드를 먹지 않으면 아채 과일 먹을 일이 없다보니 계속 챙겨 먹을 예정이다.

영화보기

  • 많은 영화를 보고 리뷰 글을 쓰고 있다.


이제 제대로 해야 할 것


건강관리


  • 고혈압 때문에 이제 운동을 제대로 해서 살을 빼야 한다. 내 몸을 너무 방치해 둔 듯
  • 기준은 아침, 저녁으로 시간을 내서 공원 걷기 운동 30분 하고, 좀 익숙해지면 달리기로 하던가 아니면 자전거 타기로 실천해 볼 예정이다.

공부

  • 머신러닝 딥러닝이 중요한 이슈다 보니 계속해서 공부해야 할 거 같다. 꾸준함이 중요.
  • 양자 컴퓨터 프로그래밍의 선구자가 없다 보니 시작을 하기 쉽지 않은데 조만간 번역서도 나오고 해서 이 역시 공부를 시작해 보려 한다.
  • 이게 만약 진행이 잘 된다면, 이 결과를 바탕으로 또 다른 계획과 목표를 실천하는 좋은 바탕이 될 것 같다.
  • 그래서 뭐든 기록이 중요하고, why에 대한 생각을 더 폭넓게 하며, 그로인해 얻는 가치가 무엇인지를 지속적으로 생각해야 한다.

Friday, August 23, 2019

Interview review: Software Quality Assurance (SQA) and Unit test

최근에 QA 분 인터뷰를 하고 든 생각을 정리해 봤다.
(인터뷰==면접)

QA 분야로만 10년 넘게 활동하면서 여러 대기업 프로젝트 및 서비스 프로젝트에 대한 QA를 주도적으로 진행하신 분과 인터뷰를 했다. 다른 부서의 다른 분야다 보니 내가 알고 있는 부분에서의 교차 검증 까지는 어렵거나 모를거라 판단해서 쉬운 질문부터 하기 시작해 봤다.

"수십개의 프로젝트 QA를 진행하시면서 Unit test를 잘 진행하는 개발자들이 얼마나 있나요?"

라고 물어봤는데 대답이 매우 현실적이라고 해야 하나 충격적이라고 해야 하나 그런 경우는 거의 없다고 했다.

없는 건 둘째치고 해야 한다고 가이드를 주고 교육도 하는데도 기능 구현하기 바빠서 결국 하는둥 마는둥 하다가 안하는 케이스가 많다는 것이다. 그런데 QA에서는 통합 테스트 과정에서 꼭 필하기도 하고 각종 인증 시험에도 결과 보고서에 필요한 프로세스이기도 하니 최소 10개 아니면 1개 만이라도 만들어서 로그인 기능이라도 테스트 코드 통과시키게 한다고 한다. 더 놀라운건 개발자들이 알아서 하는게 아니라 QA팀에서 시켜서 한다는 것이다.

또 다른 질문을 했다.

"그건 단기 프로젝트 수주 받아서 진행한거라 일정 문제 때문에 그럴 수 있다고 보는데, XXXXX 회사에도 다녀 보셨으니 서비스나 솔루션 제품, 앱에 대한 QA는 다르지 않던가요?"

에 대한 질문도 마찬가지였다고 한다. 즉 개발문화가 그런 걸 하는 문화라면 QA가 매끄럽게 진행이 될텐데 아무것도 모르고 안하는 개발 문화라면 가이드 주고 교육시키는 것 부터가 일이라고 하니 좋은 개발문화가 있는 회사를 만나는 것도 쉽지 않겠구나 하는 생각이 많이 들게 되었다.

이 얘기를 듣고 인터넷 커뮤니티 등에서 주장하고 있는 unit test에 대한 내용이 현실에서는 아직까지는 많이 확산되지 않나 싶은 생각이 들게 됐다. 물론 최근에 좋은 개발문화를 가진 스타트업이나 다른 회사들은 개발자들이 자발적으로 하면서 진행하는 경우도 있긴 하겠지만 QA만 10년 넘게 전문적으로 하시고 대기업 부터 스타트업까지 수십개의 프로젝트를 진행하시는 분에게 얘기를 직접 들어보니 아직까지 좋은 개발문화가 자리잡기까지는 쉽지 않겠구나 라는 생각이 많이 들었다.

우리 회사에 아직 QA 프로세스가 있는 건 아니고, 일부 솔루션 사업부쪽에서는 QA를 자체적으로 진행하고 있기는 하지만 여전히 유닛 테스트나 DevOps는 일부 과제에서 제한적으로 진행하다 보니 꼭 남탓할 일은 아니라고 본다.

그래도 할 생각이 있어서 하는 것과 해야 하니까 하는 것과는 큰 차이가 있고 그게 개발 문화라고 생각하기 때문에 나도 그 분과 인터뷰 후에 내 스스로도 반성하는 계기가 되지 않았나 싶다.

나 역시도 연구과제 여러개 진행하고 있어서 하면 좋은 것들에 대한 일이 진행이 되지 않고 있는 데 그 중에 하나가 DevOps여서 만약 이 분이 회사에 오게 된다면 우리팀 DevOps를 진행하는데 탄력을 받지 않을까 생각해 본다.

Thursday, August 8, 2019

Machine Learning

작년부터 해서 머신러닝, 딥러닝에 대한 관심도가 높아짐에 따라 제대로 하지는 않고 이리 저리 알아만 보고 있었다. 책도 몇 권 보고, 스터디 모임도 참석해 보고 했지만 사실 내가 원하는 책이나 스터디 모임은 없었던 것 같다.

"뭔가 제대로 폭넓게 알 수 있는 방법"

이라는게 필요했다.

얼핏 보면 수학에 대한 이해도 필요해 보이고 data, visualization 라이브러리 사용법도 알아야 할 거 같은 이 분야에 대한 이해도는 상당히 부족한 상태였다.

그러다가 구글 스터디 잼에서 코세라 강의를 좀 맛본터라, 이렇게 시작하면 될 것 같다는 느낌이 들 때 쯤. 머신 러닝하면 한번쯤 이 강의를 들어야 한다는 인터넷 글이 많아서 바로 수강신청하고 보게 됐다.

https://www.coursera.org/learn/machine-learning

앤드류 응 교수의 강의인데 옛날에 만든 거라 영상과 음성 퀄리티가 썩 좋지는 않다. 그래도 듣다 보니 천천히 이해를 하고 진행할 수 있는 수준인 거 같아서 부지런히 공부 중이다.

사실 1주일에 3~4시간 정도만 투자해도 주당 강의 스케줄을 따라갈 수 있는데 그 시간을 내지 못해 강의 스케줄 따라가는게 쉽지 않다. 스터디 잼 때도 느꼈지만 주당 5시간 이상을 투자해서 뭔가 공부한다는게 쉬운 일이 아님을 다시 한번 느낀다.

어쨌든 코세라 강의를 통해 머신 러닝 공부도 하고, 인공지능이라는 타이틀이 붙은 개발자들과 대화가 가능한 수준으로 진행해 보려 한다.

자료는 github에 올려 놓고 링크를 걸어둘 예정이다.
사실 코세라 등록하고 보면 다 볼 수 있는데, 나중에 찾아볼 때 좀 쉽게 찾아보려고 하는 것도 있다.