개발자는 어떻게 자기 개발을 해야할까요?

굉이의 이미지

30대 초반 개발자입니다.

고수님들의 좋은 글을 감사히 읽다가 조언을 듣고 싶은게 있어서 글을 올립니다.

맨날하는 남을 위한 제품 개발말고 저 자신을 개발해보고 싶습니다.

현재는 작은 회사에서 유닉스시스템 프로그래밍을 하고 있습니다.

제품 개발팀이 사용할 라이브러리나 유틸리티, 빌드 스크립트 등을 만들고 있습니다.

전공도 SW가 아니고 이론적 배경도 없어서 제품 개발 팀에 들어가지 못하고 있는데,

사실 우리 회사 제품에 흥미는 없어서 불만은 없습니다.

그래도 SW에서 즐겁게 오래 일을 하려면 이론적인 배경을 가지고 있어야 할것 같아서 AI 관련된 책을 보기 시작했습니다.

KLDP에는 꾸준히 공부하시거나 글을 올리시는 분들이 계신데 어떻게 시간을 내시고 공부를 계속 하시는지 노하우가 궁금합니다.

그리고 국내에 AI관련된 업체가 어디가 있을까요. 혼자서 몇년 공부한걸로 취업할 수 있을지도 좀 고민입니다.

이런 이론 공부를 하는것도 자기 개발이겠지요? 먹고사는데 도움이 되겠지요? 생각할 수록 좀 암울하긴 합니다.. :-(

----
사실 AI쪽 커뮤니티를 검색해보고 있는데 찾기가 어려워서 리눅스와 관련이 없음에도 여기 글을 올립니다.
사이트 성격에 맞지 않다면 말씀해주시는대로 삭제하겠습니다.

jwstyle의 이미지

AI쪽 이라면 혼자 공부하시지 말고 대학원에서 그쪽으로 전공을 해보시는걸 권해드립니다.

----------------------------
Let's Do It

andysheep의 이미지


지난 100년동안 컴퓨터 과학에서 발견한 핵심 자료구조 및 알고리듬이 있습니다.
일반 데이타구조 및 알고리듬 책에 다 나와있거든요.

추상적이고 복잡한 고급 기술보다는 이미 알려진 기본 이론을 터득하면, 앞으로 개발자로 계속 성장하는데 도움이 될것입니다.

리스트, 배열, 스택, 큐, 트리, 정렬, 그외 몇가지 자료구조들.
그리고 많이 사용하는 알고리듬.

파이썬으로 리스트랑 배열 이용하면 길이가 무한대인 정수 덧셈 50줄이면 만들 수 있습니다.
재미삼아 파일 크기만 8기가인 정수 2개까지 만들어 본적이 있지요. 오픈오피스로 열어보니
글꼴 크기 10으로 2천쪽이 넘더군요.

또 다른 예는 이론적으로 가장 빠른 검색 속도를 자랑한다는 Hash 형태의 자료구조.
배열과 리스트, 리스트와 리스트 조합으로 구현을 할 수가 있지요.

데이타 갯수가 1천만건, 1억건이 넘을 때 어떤 데이타구조가 가장 효율적일까. 기타 등등.
Big O 함수로 처리시간을 예측할 수가 있지요.

전에 읽었던 알고리듬 책 3장에 나온 내용 일부입니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

굉이의 이미지

제 업무가 라이브러리를 만드는 일이다보니
자료구조나 알고리즘은 자주 들여다보는 편입니다.

말씀하신 리스트,배열,큐,트리,정렬 등과 자주 사용하는 해시같은 알고리즘 외에
좀더 깊게 들어가기 위해 추가적으로 공부할만한게 뭐가 있을까요?