취업후 지금껏 ㄱ경험해보며 
진짜로 도움되는 전공이나 플젝했던것 위주 


1. 파서 , 컴파일러 인터프리터 정규식엔진 등 구현 
: 갠적으로 이건 강추인데 
1)추상적인 내용을 로직으로 반영하는 능력 
2)텍스트를 바꾸고 응용하는 능력 
3) 새로운 언어를 습득하고 적응하는 능력 
4) 시퓨 바운드에서 최적화 능력 (깊게 들어갈때) 

등 개발적인 면에서 전반적으로 골고루 능력을 기르는데 
좋은 듯
직접적으로 도움되는건 없으나  일을 쉽게쉽게 한다는 평을 
들을 가능성ㅇ 높을것


2. 네트워크 및 운영체제, 시스템플밍 
: 아마 현업에 종사할때 꽤 도움이 될만한 내용들임 

대개 프레임워크를 구축후 그 기반에서 비즈니스가 돌아갈텐데 
간혹  프레임워크를 벗어나 시스템을 개발/연동하려 할때 빛을 발할것임.

1) 통신의 기본적인 개념 및 한계점 파악 능력
2) 멀티프로세스/멀티스레드 기반 개발 능력
3) 대규모 시스템  처리량 및 스케일업 구축 능력 



3. 데이터베이스 구축 및 설계 
: 데이터 설계 및 정합성 맞출때 유용 

위 운영체제 및 시스템플밍때  배우는  “동시성프로그래밍“ 
  오히려  데이터베이스에서 더 필요한데 
여러 프로세스들 및 트랜잭션이 동시에 같은 데이터를 
경쟁하려 하는 상황이 더 많이 발생하기 때문 

1) 데이터 설계 구축 => 실무에서 가장 중요한 능력으로 
데이터 설계 잘못되면 10년은 개발자뿐 아니라 기획자 및 연계된 부서인원들 다 고생할수 있음.  

2) 쿼리능력 및 힌트  인덱스 설계  => 가장 직접적으로 체감되는 성능으로  처리속도에 큰 연관이 있음. 



최근 orm생기고    학생때는  디비를  소홀히하거나 재미가 없어서 잘 안챙기눈 경우가 많은것 같음. 
왜냐면  데이터를 언제 다 만들어 지겹지 내가 잔뜩 데이터 만든뒤에 뭔가 처리해서  ”와~ 이런거 해서 성능좋아졌다~“  하면  금방 현타올거고 
하지만 회사에서는  데이터가  바로 비즈니스고 그걸로 돈을 
벌고있기 때문에  
데이터를 다루는  디비야 말로  실제 실무의 꽃중의 꽃인 것 


4. 그래픽스  
그래픽스는 그쪽 계열로 가지 않는 이상 큰 도움은 안될것임.
하지만  존나 재밌음. 

1) 실시간으로 바뀌는  ui나 시뮬등의 프로그램 구조에 이해도움이 됨. 
2) 병렬처리에 대한  이해가 생기고 딥러닝쪽 선수과정으로 좋을듯 
3)  이미지를 다루는 능력  ,  비젼쪽으로도 지식 쌓기위한 기반 


지금은 안되지만  한창 앱 개발 붐 일었을때  그냥 이미지 필터  하나 만들어서 인스타에서 유행타서 돈 많이 번 사례등이 있음. 


5. 소프트웨어공학
:  이걸 지금도 배우나 싶은데  개발 방법론에 대한 내용임. 
연차가 쌓이며  프로젝트 리더가 되고 매니저가 되가며 
느낄수 있는 부족함등에 도움을 줄것임. 

1) 배운것은 그냥 알아만두고 맹신하지 말것 
2) 급진적인 방법론은 다 ㅂㅅ임을 알것 .  Tdd같은… 
3) ci/cd 운영 및 의견을 내는 직급까지 올라갔을때 
회사문화와 이론과는 괴리가 있음을 알것 
4) 천재랑  병신이랑  같이 데리고 일을 해야하는 상황임을 알것