이론 공부가 중요한가요?
글쓴이: gurugio / 작성시간: 목, 2006/01/05 - 7:46오후
회사에서 몇년간 일을 하시다가 석사 파트타임 과정으로
들어오신 분께서 이론 공부를 해야 한다고 이야기를
해주셨습니다.
그분은 제어과를 나오셨는데 자동차나 기계 제어에 들어가는
제어 보드를 만들고 프로그래밍하는 일을 하십니다.
그래서 제어 이론에 대해서 많이 공부하고 싶어하시지요
제가 이론 밑바탕이 없이 대학원에서 프로젝트만 하다가
졸업하면 분명 사십대를 못넘긴다고 말씀하시더라구요.
그런데 제가 어떤 이론이 밑바탕이 되는지 생각해봤을 때
학부때 배운 운영체제나 알고리즘등 몇가지 과목들만 생각이 났습니다.
저같은 소프트웨어 엔지니어가 배워야할 그리고 깊게 파고들어서
개발자 수명을 늘릴 수 있는 (이게 중요한것 같습니다)
그런 이론이 뭐가 있을까요? 있기나 한걸까요?
소프트웨어공학에 포함되는 XP같은 개발 방법론들이나
개발 팀 운영 기법등등이 있을 것 같은데
개발자 수명에 늘리는데 도움이 될만한 것들을 말씀해주시면
큰 도움이 될것 같습니다.
나중에 어셈러브 컨텐츠에도 이 주제를 한번 다뤄볼까 싶네요
코딩 기술만큼이나 참 중요한 문제인것 같습니다.
나이들어서도 중심이 되줄 밑바탕이라는게 있으면 좋겠습니다.
Forums:
40대가 되면 아무래도 타인을 "말로" 이끌어야 하기 때문이 아닐까요.
40대가 되면 아무래도 타인을 "말로" 이끌어야 하기 때문이 아닐까요.
물론 이빨만으로 먹고 산다면 안되겠지만요^^
제대로된 프로젝트 관리를 하려면 필연적으로 팀을 설득하고 경영진을 설득하고, 나아가서 고객을 설득하고(....).
life is only one time
전기가 어떻게 전달되는지도 모르는데 형광등을 어떻게 만듭니까?
전기가 어떻게 전달되는지도 모르는데 형광등을 어떻게 만듭니까?
어차피 제어계측이라면 전자/전기/회로..
어차피 제어계측이라면 전자/전기/회로..
Re: 이론 공부가 중요한가요?
질문에 대한 답은 아니지만
예전부터 써오신 글에서 계속 느껴지는 뉘앙스가 있어서 씁니다...
이론을 대학원에서 공부하지 않으면 뭘 하는건지 모르겠습니다.
대학원에서 해야할 일은.....
이론을 실제 사용가능한 구현물로 만들던지
이론을 개선해야하는거라고 생각합니다.
이론이 뒷받침 되지 않는 구현물이나
구현물을 개선하기 위한 노력은
대학원이아닌 회사에서 해야죠~~~
gurugio 님이 계신 대학원이....좀 이론을 등한시 하는건 아닌가
하는 생각이 듭니다.
질문에 대한 답이라면....
소프트웨어 공학 책에 있는 내용을 실제로 실천해보라고 권해보고 싶군요.
실제로 요구사항을 분석하고 UML(혹은 다른걸로) 모델링을 해보고 코딩 표준을 정해서 코딩을 하고 테스팅을 수행하는 정도만 해도 충분하다고 생각합니다.
XP, PSP 같은 걸 추가로 공부해도 좋고요~
대수학을 모르면 논문을 쓸수가 없습니다. TT 학부때 대수학을 배우지 않
대수학을 모르면 논문을 쓸수가 없습니다. TT 학부때 대수학을 배우지 않아 혼자 공부하느라고 지금도 헤메고 있습니다. 그나마 다행인 것은 통계학을 열심히 배워둔 덕에, 그쪽으로 접목해서 어찌어찌해서 논문씁니다.
소프트웨어쪽에는 역시 전자나 제어쪽의 이론같은개념의 수학적인 이론?
소프트웨어쪽에는 역시 전자나 제어쪽의 이론같은
개념의 수학적인 이론? 원리?가 적용하기 어려울까요..
외국에는 분명 나이 많은 개발자분들이 계신데
우리 나라는 없다고 하자나요..
뭔가 차이점이 있을것 같은데
도대체 모르겠습니다.
시장의 특성상 그런건지...
S/W에도 수학적 이론은 필요합니다.외국에는 나이많은 개발자가 있
S/W에도 수학적 이론은 필요합니다.
외국에는 나이많은 개발자가 있지만 한국엔 적은 이유는
한국의 오너들은 외국처럼 개발자가 개발만 하기를 바라지 않습니다.
'영업'을 하기를 바라지요.
그래서 저같이 '말'로 먹고살기 힘든 사람은 '안정된'(?) 직장을 일찍 찾아야지요.
'말'이 아닌 '기술'로 정년퇴직이 가능한 그런곳요...
[quote="gurugio"]소프트웨어쪽에는 역시 전자나 제어쪽의 이론
대학원에서 해야할 일입니다.
지금도 많은 국내 대학에서 시도하고 있습니다.
외국의 많은 회사 혹은 연구소에서 적용합니다.
우리나라의 소수의 회사에서도 시도하고 있습니다.
전산학만을 생각하면
컴파일러는 수학적 이론의 덩어리고,
운영체제에서도 수학적 이론의 덩어리입니다.
Concurrency 역시 수학적인 이론을 기반을 하고 있고
AI 역시 마찬가지입니다.
CG 역시 수학을 기반합니다.
DB 역시 마찬가지고요~
소프트웨어 모델링을 한가지라도 해보셨다면 내부에 수학 이론이 있습니다.
또 어떤 분야를 생각하시나요?
프로그래밍 언어 자체에 대한 수학적 증명도 할수 있습니다.
http://bbs.kldp.org/viewtopic.php?t=51176
Java 언어 스펙을 보시면 중요한 내부적인 동작은 수학적으로 표현합니다.
http://java.sun.com/docs/books/jls/third_edition/html/memory.html
전산관련학과에서 개설된 과목을 살펴보면 교과목의 70% 이상 수학적인 이론에 기반을 두고 있습니다.
다만 국내의 대다수의 사람들이 모르고서 사용할 뿐입니다.
일려고 하지도 않고요.
새로운걸 만들 생각을 않하고 사용할 생각만 하기때문에 단순히 이론은 이론일 뿐이다 라고 생각하면서요....
이론이 중요하다는 이야기는 하루종일 이라도 이야기 할수 있습니다.
[quote="notpig"][quote="gurugio"]소프트웨어쪽에
예 좋은 정보 감사합니다.
이런걸 좀더 자세히 공부하려면 어떤 분야나 자료를 찾아봐야 할까요?
[quote="gurugio"]예 좋은 정보 감사합니다.이런걸 좀
여기에 고수분들도 많고~
분야마다 공부해야하는 내용이다릅니다.
그래서 쉽게 이야기하기가 힘들어지는데요~
제 기준으로 미리 알고있어야할 내용으로는
명제 논리, 술어 논리 는 알고 있어야 하고요
이산수학에 있는 내용은 알고 있어야지
CS 분야 이론적인 논문을 읽을수 있을꺼라 생각합니다.
그 다음은 분야를 정해서 알맞은 책 혹은 논문을 찾아야죠~
어떤 분야에 관심있으신가요???
정확히 제가 원하는 분야는 OS 이론입니다.문제는 한국에서 DB 이론
정확히 제가 원하는 분야는 OS 이론입니다.
문제는 한국에서 DB 이론이나 OS 이론등등을 알고있을 때
개발자로서 오래 살아남는데 도움이 될건가 하는 것이구요
그 외에 소프트웨어 개발을 위해서 기본적인 소양들
정수론이나 기초 알고리즘등과
개발자로서 알아야 된다고 하는 예를 들면 조엘 온 소프트웨어 책에
나오는 그런 테크닉이라고 할까요?
제어나 건축등의 분야에서 말하는 수식으로 된 이론뿐 아니라
개발 과정에서 쌓인 노하우나 테크닉들도
소프트웨어 이론에 들어가야 하지 않나 하는 생각이 듭니다.
너무 막연한 한탄 비슷하게 됬네요.
너무 죄송합니다.. oops
[quote="gurugio"]정확히 제가 원하는 분야는 OS 이론입니다
DB쪽은 이론이 현실에 반영되는 것이 상당히 늦는 것 같은 느낌도 받더군요. RDB를 공부하면서 ORACLE이나 MS-SQL Server에 대한 아시움도 커져갔습니다. 이 이론등을 공부하는 것은 확실히 자기 자신에게 도움이 될 것 같습니다. 하지만 상업적으로 도움이 될지는 모르겠군요.
- 죠커's blog / HanIRC:#CN
[quote="gurugio"]정확히 제가 원하는 분야는 OS 이론입니다
OS에 관심있으시다면 공룡책은 한번 다보셨죠???
OS 에 관련된 거희 모든 이론은 공룡책에 정리가 되어있다고 들었습니다.
다들 아시다시피 OS 에 관련된 이론은 더이상 획기적인 발전은 없습니다.
좀더 자세한 이론에 관심이 있다면 공룡책에 있는 bibliography를 찾아보면 충분할꺼라 생각합니다.
(저도 OS 전공은 아니라서 잘못아는걸수도 있습니다.)
그리고 노하우와 테크닉은 꼭 알아둬야 하는것이지만 기본 이론으로 분류 하긴 힘들지 않을까요??
물론 이론 만큼 이런 것들도 중요합니다.
theory 와 practical 한 측면은....
생각의 수준이 다른거라고 생각합니다.
(정리가 잘 되었다는 가정하에 소프트웨어 공학 분야가 될순 있습니다.)
그리고 이론을 많이 알고 있다고 해서 오래 살아 남을수 있는가는 답변하긴 힘든 문제인거 같습니다.
하지만 이론을 많이 알고 있다면 남들보다 앞서갈수 있는건 확실합니다.
(당연한 이야기지만 이론만 알고 있음 안됩니다.)
마이크로커널과 모노리딕이외에는 대부분의 사람들이 모른다고 생각합니다.
마이크로커널과 모노리딕이외에는 대부분의 사람들이 모른다고 생각합니다.
게다가 마이크로커널도 L4와 같은 현대적인 커널의 최적화 방법들을 이해하는 사람은 더 적지 않을까요?
- 죠커's blog / HanIRC:#CN
정말 좋은 말씀 감사합니다.조금씩 힌트가 보이는것 같습니다.
정말 좋은 말씀 감사합니다.
조금씩 힌트가 보이는것 같습니다.
우선 컴퓨터 공학 분야에도 수식으로 딱 증명되는 이론은 아니지만
원리나 공리가 분명히 있는것 같습니다.
또 많은 원리를 알수록 당연히 개발의 깊이가 깊어지겠지요.
생각해보니 테크닉과 이론은 약간 다른 종류인것 같습니다.
지금 생각나는 것은 다양한 최신 운영체제에 대한 자료를
찾아봐서 어떤 최신 테크닉들을 사용하는지 알아봐야 할것 같습니다.
요즘 OSEK/VDX를 가지고 개발을 해야하는데
마침 잘 됬네요. 코드를 들여다보면서 공부도 겸해야 겠습니다.
좋은 말씀 감사합니다. 제 막막했던 생각들이
여러분들께서 도와주셔서 많이 정리됬습니다.
정말 감사합니다. D
당자 고급랭귀지들만 해도 이론을 모르면 어이없는
당자 고급랭귀지들만 해도
이론을 모르면 어이없는 실수를 할 때가 있습니다.
경력이 쌓일수록 이론이 더 필요한 부분인거 같아요.~
--------------------------------------------
:: 누구보다 빠르게 남들과는 다르게