:: 게시판
:: 이전 게시판
|
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/03/24 14:16
16개월 좀 넘는 기간동안 월~금은 9시 출근 2시 퇴근, 토요일은 10시 출근 2시 퇴근, 일요일은 12시 출근 2시 퇴근...
추석/설 연휴때는 추석/설 당일 하루 쉬었고, 그 외의 휴일 0, 휴가 0 - 본사에서 휴가 소진하라고 압력 들어오니 1주일 휴가 쓰고 정상 출근 그 프로젝트때는 견뎠는데 그 다음 프로젝트때(주말 출근 그래도 좀 덜 하고 매일 12~1시 퇴근) 과로로 사무실에서 졸도. 뭐 악성 프로젝트만 연속적으로 걸려서 저랬지만, 저런 생활 하는 사람이 드물지 않습니다. 덤으로 회사에선 접대 하지 말라 하고 고객은 접대를 요구하고 뭐 그렇습니다. 아가씨 옆에 없으면 술 못쳐먹는 xx들, 아 진짜 그때 생각만 하면 혈압이... 전산쟁이 하겠다는 후배들 보면 도시락 싸들고 다니면서 말리고 있습니다.
10/03/24 14:23
10가지 전부 정말 도움이 많이 되는 글들이네요~ 한번씩 고민 했던 부분들도 많고..
야근.....월드컵 때문에 근 10일간 밤샘작업을 했는데 너무 피곤해요ㅠㅠ
10/03/24 14:33
저도 미쿡의 한 대학에서 경영정보학과 졸업반 학생인데 (졸업 한달반 정도 남았죠) 평소 막연하게만 생각해왔던것들중 맞는부분이 많은것 같아서 공감이 됩니다. 근데 저는 일단 병역의무를 먼저 해결해야 하니깐...... (먼산)
저 역시도 코드짜고 그러는건 저랑 안맞을듯 싶어요. 간단한 서블릿 하나 만드는데도 몇일이 걸렸을 정도라서요 ㅡㅡ;;
10/03/24 14:38
구글의 경우 박사학위를 적기는 하지만 학교를 적는다거나 그런 공간 자체가 없습니다만...
뭐 박사학위 받은곳을 적으니 그게 그거겠군요 -_-a 프로그래밍 쪽은 확실하게 모르겠지만 실리콘밸리에서는 학벌에서 -> 실력으로 넘어가고 있다고 하더군요. 그냥 졸업했다 이것만 작성하고-> 회사시험 -> 인터뷰하면서 감시관 앞에서 프로그래밍 -_-;; 얼마전에 제 사촌형이 Apple,AMD,WD,Yahoo에 신청했는데 전부다 프로그래밍 시험 봤다고 하더군요. 결국엔 수업을 잘 들어야 한다는게 진리인듯 합니다 ~.~
10/03/24 14:38
기본기가 중요하다고 강조하셨는데, 정말 이거 틀린 말이 아닙니다. 프로그램을 설계한다는 것도 제일 밑바닥까지 내려가보면 케이스에 맞는 효율적인 자료구조들을 만들고, 그걸 처리할 효율적인 알고리즘을 구현하는 것이죠. 학부에서 배우는 자료구조 시간은 이러한 설계의 가장 기본적인 방법들을 배우는 과목이니 절대 소홀히 하시면 안 됩니다. 컴퓨터가 좋아졌다고는 하지만, 아직 비효율적으로 만든 프로그램들까지 무난히 돌릴 수준은 안 됩니다.
언어를 여러 개 배우는 것 역시 사고의 폭을 넓힌다는 관점에서 볼 떄 굉장히 도움이 됩니다. 절차 지향, 객체 지향, 일반화, 함수형 등등 프로그래밍 패러다임은 다양한데, 같은 문제를 서로 다른 방식으로 해결하는 것을 보다 보면 머릿 속에 담아 두고 있는 프로그램을 작성하는 표현력이 넓어지죠. 많은 사람들이 프로그래밍 언어를 여러개 배우라고 하는 이유는 그 것들을 다 쓰는데에 목적이 있는 것이 아니라, 각 언어들이 제공하는 추상화 수단들을 이해하고 공부하는 것에 있습니다. (그렇다고는 해도 저수준 언어, 스크립트 언어는 각각 한 개 이상 능숙하게 쓸 수 있는게 좋습니다.) 그리고 영어의 중요성 역시 정말 중요합니다. 영어가 되는 사람은 안 되는 사람보다 기본적으로 10배 이상의 정보를 확보하는 것이고, 조금 더 고급 기술들로 가면 100배 이상의 정보를 확보하고 시작하는 겁니다. 사실 많은 분들이 좋은 책들을 국내에 들여오려고 힘을 쓰고 계시긴 합니다만, 매년 쏟아져 나오는 새로운 기술들을 전부 커버하기엔 역부족입니다. 논문쪽으로 가면 번역판 같은 건 사실상 없다고 봐도 무관하고요. 이런 상황에서 영어를 못하면 지식을 습득하는 데에 있어서 수동적인 자세를 가질 수 밖에 없게 됩니다. 말하고 쓰진 못하더라도 최소한 기술 문서 정도는 읽을 수는 있어야 합니다.
10/03/24 14:54
본문과 좀 동떨어진 이야기지만
IT 기반 회사는 기획, 개발, SE 가 정말 물고물리는 원수 관계죠. 원수가 되는 이유는 각양 각색이지만 주위를 봐도 대부분 원수처럼 이를 갈고 지냅니다. 우리 생각이 짱이야 (기획)-> 되도않는 기획으로 뭘만들라는 거야 그리고 날짜는 왜이리 급박해!!(개발) -> 아 님들 자제요. 먼저 실컷 싸우느라 시간 밀려놓고 시스템을 이틀만에 구축하라고 ? 난 퇴사하겠소(SE) 이러한 말도안되는 업무 방식이 각 부서의 야근을 부추긴다고 생각합니다.
10/03/24 16:12
좋은 글 잘 보았습니다.
저도 현직 개발자로서 몇가지 추가해보죠. 글쓴분이랑은 좀 다른 견해도 있네요. 전 JAVA 개발자 입니다. 따라서 OOP 에 한정된 이야기만 하겠습니다. 1. OOP 개발자는 C 를 하지 않고 바로 OOP 를 하는 것이 낫습니다. C(절차지향) 와 OOP 는 패러다임 자체가 완전히 다릅니다. 프로그래밍 언어에서 패러다임이란 real world 를 computer world 로 상태 변화를 해주는 기준이라 보시면 됩니다. 즉 실제 세상을 컴퓨터 세상에서 표현하는 방식이라는 거죠. C에서는 실제세상을 순차, 분기, 반복의 절차적으로 수행되는 것이라고 보는겁니다. 그래서 이 기준에 맞춰서 프로그램 구성을 하죠 OOP 는 실제세상을 객체라고 보는겁니다. 그리고 이 객체들간의 관계로 프로그램 구성을 하죠. ( 객체란 속성과 행동으로 구성되어 있는 것입니다. ) 패러다임의 변화는 정말 어렵습니다. 따라서 절차지향의 관점을 패스하고 그냥 객체지향의 관점으로 배우는 것이 낫다고 보여지네요. 객체지향으로 나가는 이유는 간단합니다. 유지보수의 용이, 재사용성 이게 잘 만든 프로그램에 기준이거든요 ( 예전에는 performance 였습니다 - 물론 아직도 이게 중점이 되는 분야도 있습니다 ) 그리고 절차지향보다는 객체지향이 이걸 더 잘 구현하게 해주는 것이고요. 2. 영어는 필수입니다. ( 현재 상황에서는 이라는 단서가 붙습니다만 ) 조금만 심도있는 정보를 구하려면 한글로 된 것들은 거의 없습니다. 구글링만 해도 대부분은 외국 사이트에 forum 에서 정보를 얻을 수 있습니다. 거기다가 API , 주석도 전부 영어로 되어있습니다. 따라서 어쩔 수 없이 영어를 잘 하셔야 합니다. 영어라고 하니 오해의 소지가 있는데 읽기만 잘 하시면 됩니다. 3. 1번과 연관된 내용입니다만 객체지향이 지향하는 것에 대해서 충분히 심사숙고 해 보시기 바랍니다. 같은 기능을 구현하는 방법은 무수히 많습니다. 어떤 방식으로 내가 개발을 해야 하는 것은 객체지향이 지향하는 방향으로 해야 하는겁니다. ( 추상화, 재사용 등등 ) 객체지향이 유행하기 시작한 시간이 꽤 지났습니다만 아직도 JAVA 를 절차지향으로 짜는 사람이 많습니다. 왜 객체지향적으로 짜야 하는지 모르기 때문이지요. 4. 3번과 연관된 내용인데 개념에 대한 공부를 많이 하시기 바랍니다. 그렇지 않으면 계속 코더에서 머무르게 될 것입니다. 예를들어 제가 담당하고 있는 시스템은 OSGI 기반에 extjs(화면단), spring(controller&business logic), hibernate(DB연결) 인데 개념을 모르고 그냥 코딩하는 사람이 많습니다. spring 에서 IoC 는 필수 개념입니다. hibernate도 ORM 개념이 필수 입니다. 왜 이런 방식을 사용하는지 아셔야만 spring, hibernate를 제대로 사용하고 있는겁니다. 물론 이개념들은 상당히 어렵운데다가 익숙해 지려면 시간이 많이 걸립니다. 그래서 그런지 아직도 엉망으로 개발된 프로젝트가 많다고 하더군요. 5. 안타깝게도 위의 예처럼 굉장히 잘 설계되어 있어서 ( OSGI 는 모든 프로젝트를 번들로 구분해서 기본적으로 번들별로 사용할 수 있게 해 줍니다.) 재사용 잘하고 유지보수가 용이하게 해 놓는다 하더라도 현업은 관심 없습니다. 기능만 잘 되면 되는거거든요. 수준 높은 프로그램일수록 소스 파악하기는 엄청나게 어렵습니다. 현재 트렌드는 객체간의 결합도를 낮추는 것인데 결합도를 계속 낮추다 보니 실제 소스에서는 interface 만 가지고 있지 실제로 사용하는 구현된 class 를 찾기가 어렵거든요. xml 및 annotation 으로 거의 모든 설정을 해 놓으니깐요. 하고자 하는 말은 이렇게 어려운 개념을 이해해서 제대로 프로그래밍을 한다고 해도 돌아오는건 별로 없다는 거에요. 그러니 정말 개발이 좋은것 아니라면 이길은 들어오지 마세요(응?) 결론이 이상하게 낫는데 혹시라도 자바 개발자의 길을 걸으려는 분이 있다면 조금이나마 도움이 되셨으면 하네요.
10/03/24 16:48
C는 개인적으로 비추 드림....
오히려 HTML -> DHTML 을 먼저 보시는걸 추천드리고 싶군요.. 대세는 ClientSide Script 로 점점 가고있습니다. C는 별로 쓸모가 없어집니다..C 디자인패턴도 다 사장되고 있구요...거의 금융권 코어부분만 남아있다고 보시는게 맞을듯.. 그쪽도 사실 C라기 보다는 ProC 죠...사실상 쿼리능력.. ps)...근대 전 C 개발자입니다.ㅠㅠ.....
10/03/24 16:52
아이폰 C코드의 디자인 패턴이나 MFC디자인 패턴을 잘 보시면 왜 C를 하지 말아야 하는지 아실듯
또한 JavaScript 도 점점 복잡해서 oop 개념으로 슝 하고 ~ 가고있습니다. jquery,dojo 같은 복잡한 넘들 범용화 시작했고 HTML5 로 또 한번의 변혁이 일듯...C는 완전 비추입니다..
10/03/24 16:56
사실좀괜찮은밑힌자님//
네 그냥 넘어가세요..^^;;..이해하실 필요 전혀없습니다. 옛날이야기고 지금은 차라리 HTML공부하시는게 도움됩니다.
10/03/24 16:57
흐흐.. 좋은 말씀은 위에서 다들 해주셨으니.. 약간만 양념을 치자면,
영어는 진짜 필수입니다. 국내 출판 서적은 경력 3년차, 번역서는 5년차가 되는 순간 안 읽게 됩니다. 그담부터는 무조건 원서 아니면 구글링이죠. 읽기 공부 많이 하세요. 수학도 잘 하셔야 합니다. 특히나 학교에서 별로 중요하게 안 생각하고 그냥 넘어가는 집합론 & 확률... 이게 진짜 대박입니다. 저거 제대로 이해 못하고 넘어가면, 코드가 온통 if-else 투성이가 됩니다. 완전 짜증납니다. -_-;; 만약에 게임 프로그래머가 되시겠다면, 벡터, 행렬, 삼각함수는 완전 마스터하고 오십쇼. 선형대수도 물론. 그리고, 제발 국어공부좀 소홀히 하지 맙시다. 기획문서대로 좀 짭시다. 이건 뭐 난독증도 아니고... 이상, 짜증스런 후임들한테 치이다가 회사 때려치우고 게임 회사 차려버린 11년차 넘버 3 개발자의 푸념이었습니다. P.S: 아, 그리고 제가 자녀가 생기면, 술담배는 권할지언정 프로그래머는 안 권할 생각입니다.;;
10/03/24 17:15
저도 C는 패스하는 걸 추천드리구요.
포인터에 대한 이해를 위해서는 차라리 어셈블리를 살짝 배우는 편이 좋다고 생각합니다. 깊게 들어갈 필요는 없고 기본적인 부분만 익혀두면 포인터 개념에 대해서는 충분히 이해가능할 것 같네요.
10/03/24 17:20
저 개인적으로는 프로그래밍 입문은 ML 등으로 시작하고, 이후에 Python을 거쳐 C와 Assembly 레벨까지 커버하는 것이 가장 좋다고 생각합니다. Markup Language 말고요!
왜냐면 ML은 수학만 좀 알면 누구나 할 수 있는 것이죠. 컴퓨터 내부 구조에 대한 이해가 아예 없어도 가능합니다. 물론 performance와 readability를 동시에 갖춘 프로그램을 작성하려면 내부 구조를 공부하긴 해야겠지만, 그건 별개의 문제고요. Python 역시 pack, unpack 같은 부분을 제외하면 아키텍쳐에 대해서 많이 알 필요는 없습니다. 그러면서 OOP도 지원하고 있으며, 간단한 코드 블록들은 절차 지향적으로 작성하게 되고요. Python은 C를 배우기 전에 징검다리 삼아서 접할 수 있는 가장 좋은 언어입니다. JAVA는 제 사견으로는 언어 자체가 조잡합니다. 10년도 더 전에 만들어진 언어이고, 옛 버전의 문법을 그대로 지원하면서 JVM의 설계 변경을 최소화하면서 언어를 확장했기 때문에, 이는 어쩔 수가 없습니다. 사용 범위가 워낙 넓고 방대한 라이브러리가 존재하기 때문에 사용하는 것이지, 그나마 없었으면 저는 JAVA는 절대 사용하지 않을 겁니다. C#에 비교하면 정말이지.. 마소님이 다 해주실거야....
10/03/24 17:27
그리고 Data structure와 Algorithm 말인데, 얘들 우습게 볼 것이 전혀 아닙니다. 저는 10년 이상 Algorithm Contest에 참가했는데도 아직 얘네가 어렵습니다. 단순히 학부 과목에서 점수를 잘 받는다는 수준이라면 쉽겠지만, 하면 할 수록 심오하고 기발한 애들이 튀어나옵니다. 근데 좌절스러운건 이런 애들이 6~70년대에 다 나왔다는 거죠. 삼사십년 전의 학자들이 만들어 놓은 걸 21세기에 읽는데 잘 이해가 안 될 때는 정말 눈물이..
단순히 Code를 작성하는 것 뿐이라면, 회사 입장에서는 실업계 고등학교나 전문대 출신들 데려다가 시켜도 됩니다. 오히려 이쪽이 4년제 대학에서 대충 이것저것 하다 온 사람들보다 코딩 실력은 뛰어납니다. 코딩이란 건 기본적으로 Skill과 Experience가 중요한 분야이니까요. 하지만 그 Code에서 사용할 가장 좋은 Algorithm이나 Data structure를 설계하는 것은 정말로 어려운 일입니다. 근데 문제는 이게 프로그램 성능에 진짜 엄청나게 큰 영향을 미치거든요. 완전히 같은 일을 해서 같은 결과를 내놓는데, 한 프로그램은 열흘이 걸리고 다른 하나는 다섯시간에 끝나는 것도 가능합니다. 이건 정말이지... 창의력과 응용력 없이는 안 되는 일이거든요. (그래서 제가 성공하질 못했나 봅니다. -_-)
10/03/24 18:12
흐흐흐 한분 두분 나오시는군요... 프로그래머 하실 분들은 나중에 모르는 거 있음 물고 늘어질 몇몇 아이디 기억하시기 바랍니다. 대표적으로 a로 시작하는 분들 있습니다.
10/03/24 18:32
일단은 역시 기본기가 가장 중요합니다. 자료구조+알고리즘+수학+언어기본개념(절차적or객체지향적)+영어(정보력)
그리고 현업에서는 주어진 과제를 잘 해결할 수 있는 기술 개발도구 API 라이브러리 등등 재빨리 찾아 습득하는 능력이 추가적으로 요구되는 거죠. 아무래도 각 분야별로 자주 써먹는 개발도구테크와 기술이 따로이다보니 결국 적어도 한가지 테크에서 전문가가 되는 게 일단 살 길입니다; 끊임없이 배울 수 있어야 하고 배우는 걸 즐길 수 있어야 합니다. 대충 할 수 있는 직업은 절대 아니에요. 즐기던지 떠나던지 All or not.
10/03/24 18:41
10/03/24 18:47
사실좀괜찮은밑힌자님//
java 로는 게임을 만들지 않습니다. ^^;; .. java 의 UI는 극악이며 VM언어 특성상....데이터 처리가 늦어서 아예 안쓰입니다. javascript 로 만들어 보세요 ^^;;
10/03/24 18:49
지금 컴공 학부생으로서 벌써 부터 걱정과 한숨을 만들게 합니다. 그렇다고 쉽게 포기는 하지 않을겁니다.
제가 궁금한게 있습니다. 컴퓨터 공학을 전공하고 학부생으로 졸업하면 프로그래머 외에는 다른 길은 없는 건가요? 제가 아직 직업에 대해서 잘 모릅니다만, 프로그래머가 비추이면 다른 방향으로 가는게 어떨까 싶어서 저도 그쪽으로 알아보고 싶네요, 사실 저는 코딩 실력 형편없습니다. C나 C++문법만 대충 아는 편이고 프로젝트 같은걸 해보지 않아서 ..... 아무쪼록 프로그래머 길은 저도 가기 싫은데,,, 다른 쪽으로 어떤게 있는지 궁금하네요.
10/03/24 19:12
컴퓨터 소프트웨어과쪽 갓 새내기라서 덜컥 겁이 나지만 그래도 프로그래밍 공부하면서 예제들만 해내도 성취감은 대단하더군요 -_-;;
그래서 계속 하고 있습니다.
10/03/24 20:40
저번에...한국 프로그래머들 힘든가요?물어봣는데
어떤분이 지금이라도 늦지 않았으니 다른 적성을 찾아보라고 해서 이번에 수능 한번 더볼려고 하는중인데;;;덜덜
10/03/24 22:15
저도 아직 실력이 부족한 전공 + JAVA개발자로써 한 말씀 드린다면 객체지향이라는 개념이 상당히 어렵습니다.
실력이 점점 늘면서 객체지향이라는 개념에 대해 더 심도있게 생각해보실텐데 , 저도 처음 개발할때는 객체지향 쉽네? 이렇게하면되는거아니야 했던 때도 있지만 지금보면 거의 다 형편없죠. C를 잘하신다고 C++이나 JAVA를 잘하실 순없습니다. 물론 처음시작하시는 분보다는 이해나 업무속도는 빠르죠. 저도 아 쉽네? 남들보다 내가 잘하네? 이런 잘못된 생각하기 쉽습니다. 저도 또한 그런 잘못된 생각에 한참 나태했습니다. 흔히 말하는 Spring 이란 프레임워크도 제대로 이해하고 사용하는분 현업에서 흔치않습니다. 그냥 쓰니까 편하니까 쓰는거죠. 하지만 조금이라도 왜 이렇게 사용하는지 생각해보면 상당히 어렵습니다. 물론 C 부터 C++ , JAVA 등으로 시작하는게 저도 맞다고 생각하지만 . 참고로 SI나 솔루션업체,개발업체에 들어가신다고 해도 많은업무량(업무파악,문서작성,코딩) 등으로 계속 발전없이 컨트롤브이에 익숙해지는 코더들이 많고도 많습니다. 저또 한 ㅠㅠ 전공수업,영어부터 열공하세요. 이게 진리인듯
10/03/24 23:35
동생들이 C, C++, JAVA 등, 어떤 컴퓨터 언어를 어떻게 공부 해야 되냐고 물을때 마다 항상 제가 해주는 말이 있죠..
"..영어(외국어).." 흐그그그그그그그그극...ㅜㅠ
10/03/25 10:35
컴퓨터 전공하고있는 학부생인데요.. 학교 커리 큘럼상 1학년 2학기때 C를 배우고, 2학년부터 자료구조와 OOP를 배우게 되어있거든요? 그러니까 절차적 프로그래밍하고 OOP를 동시에 배우게 되는거잖아요. 자료구조 교수님이 말씀하시는 것도 C를 선택해서 배우고 있지만 절차적 프로그래밍에 국한된게 아니라 항상 OOP와 연계해서 설명하시던데 절차적 프로그래밍하고 OOP를 동시에 하기가 그렇게 어렵나요?
10/03/25 14:03
저도 모르게 그저 이상향만 바라보고 덜컥 SE의 길로 입문한 비전공자(경영)입니다.
교육받으면서도 '난 누군가 또 여긴 어딘가 -_-' 이러고 있는데 이 글을 보니.. 제 앞날이.. 하아아 ㅠ 앞으로 Je ne sais quoi님을 비롯하여 Je ne sais quoi님이 언급하신 a로 시작하시는 많은 분들의 조언을 구해야 겠습니다 (굽신굽신)
|