id001
10
2020-05-23 19:08:26 작성 2020-05-23 19:09:33 수정됨
17
831

학교에서 배우는 개발과 직장에서 배우는 개발의 차이가 뭘까요?


안녕하세요 이제 막 대학을 졸업한 백수입니다!
저는 개발을 배운지는 얼마 되지 않아서 아직 개발 공부를 하고있습니다.
그러던 와중에 이 사이트를 알게 되었고 많은 글들을 접했는데,

이 글의 제목과 같이 학교에서 배우는 개발과 직장에서 배우는 개발의 차이가 있어 회사에 들어온 신입들이 고생을 한다는 내용이였습니다.

저는 그러한 이야기를 듣고, 지금 제가 하는 공부가 학교에서 가르치는 개발 공부와 크게 다르지 않다고 느끼고 있어서 이러한 공부가 무의미할 수 있겠다고 생각했습니다.

그래서 얼른 코딩 테스트와 어떤 한 개발 분야(웹, 게임, 앱, 소프트웨어, ... )를 정하여 취직 준비를 하는 것이 지금 시기에 가장 적절한 선택이라는 결론을 내렸습니다.

하지만 저는 아직 이렇게 자유롭게 개발 공부를 하는 것이 너무 재밌고,
이때까지 수학적인 내용이 깊~은 분야( 인공지능과 같은... )를 제외하고는 대부분 흥미있게 공부했어서 어떤 한 분야를 선택하기 어렵다고 느껴집니다.


때문에 저는 이렇게 개발 공부하는 것을 조금 더 유지하고 싶습니다.
그러기 위해서는 직장에서 배우는 개발이 무엇이고 그것이 제가 배워왔던 개발과 어떤 차이가 있는지 알아내서 제가 하는 공부에 조금 더 방향성을 주는 것이 필요하다고 생각합니다.


하지만 직장에서 배우는 개발과 그 차이는 아직 제가 모르는 부분이기 때문에 그것이 궁금합니다!

직접적으로 경험하거나 간접적으로 이야기를 들으신게 있다면 간단하게라도 들려주시면 정말 감사하겠습니다!



저의 궁금증 2가지

1. 직장에서 배우는 개발이란?

2. 학교에서 배우는 개발과 직장에서 배우는 개발의 차이


0
0
  • 댓글 17

  • devcrema
    960
    2020-05-23 19:14:58

    나열하자면

    - 다양하고 복잡한 요구사항을 다루는 것의 차이

    - 유저가 존재함에 따라 다양한 환경과 부하, 오류를 경험하며 수정 및 개발해야 함 (정말 예상치 못한 예외처리, 트래픽으로 인한 장애 등등)

    - 협업으로 인한 코드 가독성 및 품질 유지 (혼자 개발할때랑 다르게 다른 사람들이 코드를 봐야합니다)

    - 기초적인 공부로는 드러나지 않는 수많은 라이브러리, 프레임워크 (실무에서 요구사항을 해결하다보면 정말 수많은 기술들을 사용하게 되는데, 이는 기초적인 공부로는 파악하기가 쉽지 않습니다)

    - 설계 혹은 문서 작업 (이것역시 혼자서 할때와는 다르게 매우 복잡한 구조에 적합한 설계를 하고 일부 그에따른 문서작업도 수반됩니다)

    - 그외 협업 (실제 디자이너, 기획자, 팀장 등등 일하며 의사소통하게 됩니다)

    추가로 더 많겠지만 혼자서 공부할때와는 다르게 이런 경험을 무시할 수는 없더라구요.

    2
  • id001
    10
    2020-05-23 19:22:37

    //devcrema
    헛 답변 감사합니다! 정말 다양한 것들이 있네요! 제가 이 중에서 신경쓰면서 할 수 있는 부분은 코드 가독성과 문서 작업정도로 보이네요. 항상 이러한 것들이 있다고 생각하면서 공부해보겠습니다!

    0
  • defult
    4k
    2020-05-23 19:51:34

    추가로 회사에서는 법적문제에 엄청 민감하므로 인터넷에서 이거 좋네하면서 다른사람의 코드를 무작정 가져올수 없습니다.

    그래서 오픈소스 이용시에는 이 오픈소스가 아무리 우수하더라도 법적고려를 통해서모든 문제(라이센스, 저작권 등)가 문제없다는것을 보장하지 못하면 쓰면 안됩니다.

    2
  • 만렙
    698
    2020-05-23 22:44:00

    애초에 대학에서 개발을 가르치나요?? 그냥 언어나 그런것들도 좀 기본적인거만 알려주지 않나요

    대학은 개발을 가르치는곳이 아니라서;;

    1
  • id001
    10
    2020-05-23 23:15:29

    //defult

    이 말을 보니 예전에 카카오톡 오픈소스 라이선스를 들여다봤을 때 대부분 아파치 라이선스를 사용하는걸 본 기억이 나네요! 이러한 사실은 실수하면 큰일나니깐 꼭 기억해둬야겠네요 감사합니다!

    0
  • lnomadism
    1k
    2020-05-23 23:16:33

    학교 :

    - 기능이 정상적으로 굴러가느냐(디버깅하는 수준까지)

    - 프리웨어 내지 오픈소스 등을 이용

    - 프로젝트 참여인원 1팀(아무리 많아봤자 6명 정도.)

    - 딱 과제용 그 이상도 이하도 아님. 단발성이고 유지보수 없음.

    회사 :

    - 기능이 정상적으로 굴러갈수 있느냐는 기본 + 소스 최적화 및 시큐어코딩 등 각종 규약에 맞게 코딩 + 유지보수를 위한 다른 모듈들간 의존관계 및 라이브러리 버젼 파악 + 현존하는&나올수 있는 각종 문제점 및 버그들을 고려해야됨

    - 프리웨어 내지 오픈소스 + 유료 상용 소프트웨어(ex. intellij, 오라클, aws, 등등)

    - 참여인원은 프로젝트 스케일에 따라 최소 1팀에서 많게는 두자리 단위 팀까지 붙을수 있음. 글로벌한 회사라면 외국팀과 협업할 일도 생김.

    - 고객사 및 일반 클라이언트 대상으로 판매를 목적이기에 고객사 & 클라이언트에 따라 다양한 요구사항이 나옴.

    1
  • id001
    10
    2020-05-23 23:19:18 작성 2020-05-23 23:19:47 수정됨

    //만렙

    맞습니다! 언어나 그런 것들을 대부분 기본적인것만 알려줘서 저의 경우엔 그러한 과목은 그냥 수강을 안했습니다... 오히려 강의에 사용되는 교재를 보고 공부하는 편이 더 배운게 많다고 느껴졌어요 ( 시간도 절약되고 )

    저는 그래도 다양한 과목을 통해 개발이라고 생각되는걸 배우긴했는데 그럼 만렙님이 생각하시는 개발은 무엇인가요?? 답변 감사합니다 ㅎㅎ

    0
  • id001
    10
    2020-05-23 23:29:39

    //Inomadism

    보면서 감이 오는 것도 있고 아예 어떻게 해결해야할지 감도 안오는 것들이 있네요.
    흥미로운 것들도 많이 보여서 그러한 일들을 접해보고싶습니다 ㅎㅎ 소중한 답변 감사드려요!

    0
  • allinux
    165
    2020-05-23 23:32:05

    기본적으로 직장은 배우는 곳이 아닙니다.

    배운 것을 이용해서 회사 매출을 올리는데 기여해야 하는 곳입니다.

    배움은 학교나 직장이나 스스로 해야 하는 것이구요. 

    뭘 배우느냐...같이 수동적인 것이 아니라는 이야깁니다.

    1
  • tco99
    1k
    2020-05-24 00:50:25

    가장 큰건 협업이구요.. 소프트웨어 공학을 왜 배우는지 알게 되죠. 

    저는 개인적으로 프레임웍이 매우 충격적이었습니다.

    1
  • 안드개발자
    532
    2020-05-24 01:28:23

    1. 직장에서 배우는 개발이란?

    > 보통 실무라고 하죠 

    2. 학교에서 배우는 개발과 직장에서 배우는 개발의 차이

    > (실습없는 이론)과 실무의 차이라고 봅니다.

    학교에서 배우는 자료구조, 컴퓨터 구조, 스프트웨어 공학 등등

    실습없는 이론은 사실 왜 필요한지, 언제 필요한지 모른채 , 어떻게 쓰는지 모른채 

    배우게 됩니다. 


    회사에서는 배운다기 보다 결국 결과물이 나와야하는것이기 때문에 

    작업해야하는거죠.

    하지만 대학때 가르켜준건 대부분이 실습이 없는 이론이기 때문에,

    실무를 하는건 버거울수 있죠. 


    그래서 사실 개발 초반에는 전공자보다 국비지원 비전공자가 아웃풋이 더 좋아 보일때도 있습니다. 

    국비지원 비전공자은 주로 실습을 배우기때문이죠. 

    결국 좋은 개발자가 되기위해선 이론과 실무가 함께해야죠 뭐 


    1
  • 만년코더
    4k
    2020-05-24 05:49:40

    위에서 다 말씀해주셨는데요

    한가지 보충드리자면

    총비용 관점에서 라이선스 문제에 대해서 민감합니다.


    DB를 오라클을 쓰냐 마리아DB를 쓰냐 섞어(?)쓰냐 (성능적문제도 있지만)

    웹로직 써야되냐 톰켓으로 퉁칠 것이냐


    공공기관플젝이면

    거지같은 티베로랑 제우스를 정책상 무조건 써야 된다든지


    클라우드를 쓸거냐 온프로미스로 구축할거냐

    문제도 있구요.


    공부를 위한거와 팔기위한 제품을 만드는건 약간 다르죠.


    2
  • ㅇㅈㅇ
    3k
    2020-05-24 13:29:04

    학교는 기보기위주로 가르칩니다. 

    회사와 학교가 가르치는게 같으면 

    돈내고 학교를 다닐 필요가 없지요.

    1
  • id001
    10
    2020-05-24 16:27:37

    //allinux

    앗, 제 글을 다시 읽어보니 표현에 있어 직장에 무언가 배우러 간다고 느껴질 수 있었다고 생각합니다.

    제 요지는 개발의 차이가 머릿속에서 구체적으로 그려지지 않아 생기는 의문증이였는데 표현이 모호했습니다. 조금 더 잘 표현해보도록 할게요. 답글 감사합니다 ㅎㅎ


    //tco99

    소프트웨어 공학, 항상 중요하다고 생각은 하는데 이론으로 학습하려니 말씀하신 "왜"에 대해 잘 못 느낍니다 ㅠㅠ 저도 꼭 알고싶네요!


    //안드개발자

    답글을 읽고 운영체제에 대해서 배울 때 재미는 있는데 왜 배우는지 모르겠던 경험이 생각났습니다.

    너무 이론에만 빠지지 않게 많은 자료들을 찾아봐야겠습니다!


    //만년코더

    이야기를 듣고나니 이것저것 자유롭게 사용하는 것도 또 다른 즐거움이였네요

    공공기관 플젝 얘기를 들으니 많이 답답할것같습니다...

    정말로 "팔기위한 제품" 이라는 점에서 매우 큰 차이가 있다고 생각 드네요!


    //ㅇㅈㅇ

    맞습니다. 그래서 더욱 더 두 개발의 차이가 더욱 궁금했습니다 ㅎㅎ

    답변 해주신 것 역시 뭔가 제 글에서 직장이 교육기관처럼 표현된 것 같아 반성하게되네여...


    시간내서 답글 달아주신 분들 모두 감사합니다! 덕분에 많은 생각을 하게되었어요!

    더 달아주셔도 좋습니다 ^_^

    0
  • Dive_Drink_Develope
    4k
    2020-05-25 13:47:56

    학교에서 배우는 부분들이 당장은 안필요해 보이거나 할지 몰라도

    자료구조/알고리즘/운영체제/소프트웨어 공학 등의 과목에서 배우는 지식들은 사실

    이전에 실제적인 문제를 해결하는 과정에서

    자주 발생했던 이슈들을 정리해서 이런이런 방법들이 있더라 하고

    모아놓은 거라고 생각합니다.


    그래서 직장에 막 들어가서 하라는 일 하고 이렇게 저렇게 처리하라고 지시해주고

    그냥 간단한 화면수정이나 DB에 있는걸 화면에 뿌려주기만 하면 되는작업을 할때는 

    전혀 상관없는걸 4년간 왜배웠나 하는 생각이 들수도 있죠.


    실제로 전체 시스템을 바라보고 문제를 해결하거나 특정 문제를 풀기위해서 머리를 쥐어싸맬때가 되면

    아. 이런걸 해결하려고 옛날사람들이 이런 고민을 하고 이런 알고리즘을 사용했구나 하게 될거에요.

    1
  • 김모씨
    3k
    2020-05-25 16:41:07

    대학에선 장점을 크게 평가합니다 .  일터에선 단점및 오류를 크게 평가합니다

    1
  • id001
    10
    2020-05-27 15:07:55

    //Dive_Drink_Develope

    직장에서 겪은 것은 아니지만 저도 비슷한 경험을 해본 적이 있습니다. 그래서인지 더 공감가는 이야기네요 ㅎㅎ 학교에서 배웠던 것들이 도움이 된다고 생각하고 더 열심히 학습해야겠어요! 감사합니다



    //김모씨

    굉장히 공감되는 말입니다... 단순히 알바를 할때만해도 크게 느꼈습니다! 답변 감사합니다 ㅎㅎ

    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.