비비탄
156
2019-04-11 11:38:09
22
1674

개발의 방향성에 대한 의구심이 들기 시작하네요


안녕하세요


선후배님들


저는 5년차 웹개발자 입니다.


최근 그냥 선의로 프로그래밍을 준비하시는 분들에게


미흡하지만 취업에 대해 글을 적었는데요


제가 그곳에 당장 취업을 위해선 알고리즘과 자료구조같은 것이 아닌


현업에서 최소한의 업무를 처리할 수 있는 스킬을 익히라고 조언했습니다


그러자 어떤 계통의 개발자인지 잘 모르겟지만 난리가 낫습니다


저같은 개발자 때문에 웹쪽 전체가 욕먹는거다 라면서 말이죠


말하는게 너무 저질이라 왠만해선 대꾸를 안하려 하는데


생각을 해보니 알고리즘과 자료구조가 얼마나 중요한지 잘 모르고 있을수도 있겠구나


라고 생각이 들었습니다


일단 제가 생각하는 알고리즘은 논리라고 생각합니다


그래서 알고리즘을 공부한다는 것 자체가 이해가 잘 안됩니다


기본적인 조건문과 반복문을 사용하여 자신이 원하는 결과를 도출하는 방법이 알고리즘이 아닐까요?


그 방법은 개개인마다 다를 수 있고 이점은 노하우라고 생각합니다


그리고 자료구조는 기본적인 변수형들과


DB에서 사용하는 자료형 


그리고 MAP 이것만 가지고도 지금까지의 개발경력에 큰 문제가 없었고


스택이나 큐를 어떻게 활용하는지는 잘 모르겟습니다


지금까지 알려고 하지도 않았구요


지금도 알고리즘과 자료구조를 따로 공부해야하는지는 잘 모르겟고


고객사의 현업 업무파악능력과 요구사항에 대한 상정 및 


현 시스템에 적용 시의 이슈사항을 확인하는것이 더 중요하다 생각합니다


제가 어떤것을 잘못 생각하고 있는 것인지 선배님들과 후배님들의


조언을 듣고싶습니다

0
1
  • 댓글 22

  • fender
    14k
    2019-04-11 12:00:06
    기본적인 조건문과 반복문을 사용하여 자신이 원하는 결과를 도출하는 방법이 알고리즘이 아닐까요?

    저 또한 최근 여러 번 관련 주제로 토론하면서 자바나 C# 같은 언어를 주력으로 한다면 알고리즘 보다 더 우선 중요하게 공부해야할 주제가 많다는 취지로 이야기 했습니다만, 말씀하신 내용은 알고리즘을 지나치게 막연하게 정의한 것 같습니다.

    예컨대 그렇게 보면 디자인패턴 또한 결국 '클래스를 사용해서 자신이 원하는 결과를 도출하는 방법'으로 정의할 수 있지만, 거기서 바로 "그건 따로 공부할 필요없다"라는 결론이 도출되는 것은 아니니까요.

    물론 알고리즘에 대해선 중요도나 공부의 우선 순위, 또 그것이 다른 주제에 비해 무언가 '근본'이 되는 지식이냐 아니냐 등의 문제에 있어서는 다양한 의견이 나올 수 있겠지만, 적어도 "그냥 조건문, 반복문 잘짜는 것"으로 환원할 수 있는 단순한 주제가 아닌 것만은 분명한 것 같습니다.

    2
  • zip6656
    1k
    2019-04-11 12:16:47

    저 역시...웹개발하면서

    특별한 자료구조나 알고리즘보단...고객사 업무분석과 이해능력이 더 중요하다고 느껴지네요.

    1
  • 조앙마두
    102
    2019-04-11 12:46:47

    제가 볼 때 자료구조나 알고리즘은 한 번에 빡 알고 간다기 보단 경력이 쌓일 수록 필요성을 느끼게 되는 것 같아요. 

    마치.. 외국인을 만날일도 없는 사람이 영어 (문법이나 회화) 공부를 하는 것 같은 느낌이랄까.. 

    앞으로 어떤 업무를 하게 될 지 모르지만 자료구조나 알고리즘에 끈을 놓지만 않으면 후에 찾아볼 때가 오는 것 같아요. 개발자라면 어느분야든 이것들은 조금은 공부해놓음 좋지 않을까요?

    깊이 있게 배울것 까진 없으나 배워놓으면 유용하게 사용될 지식쯤으로 여기고 있어요. 

    제가 끄적여놓은 순서도에 스스로 흡족해가지구 자뻑하는게 현실이지만요 ㅋ

    1
  • 찌룩찌룩
    476
    2019-04-11 12:54:33

    업무 영역에 따라 진짜 필요한게 다를수 있는데 현재 자기분야에서 필요한부분을 후배들에게 조언하고 추천할수 있다고 생각합니다. 다만 생각이 다른거고 어떤생각을 가지고 살던 결국 자기 만족 아닐까요? 자료구조 알고리즘공부해서 얼마나 뛰어난 개발을 하고 돈을 많이 벌길래 그렇게까지 말하는지 모르겠으나 윗분 말씀따나 업무에따라선 고객요청분석이나 이해능력이 중요할수 있는거라고 생각합니다. 그냥 자기 인생에 중요하고 필요하다고 생각하는거 하면 되는거 아닐까요? 모든 업무가 일률적으로 똑같은게 아닌데

    1
  • 비비탄
    156
    2019-04-11 13:04:34

    많은 조언 감사합니다


    fender님에게 질문이 있습니다


    조건문과 반복문으로 라고 한 부분은 저의 미흡한 부분일 수 있다 생각합니다


    정정하여 엔드유저에게 원하는 데이터를 전달하기 위한 노하우라 생각합니다


    너무 추상적이 되버렷네요...


    하지만 저의 능력에서 알고리즘이 무엇이다 라고 확실히 답을 내릴 수가 없는것 같습니다


    알고리즘을 더욱 알기위해 더 많은 선배님들의 소스를 보고


    저의 습관에서 고칠 부분을 고치는 형식으로 진행이 되어야 하는 것인가요?


    저에게 알고리즘이란 너무 추상적으로 다가 오는것 같습니다

    0
  • freestyle
    3k
    2019-04-11 13:04:52

    알고리즘 공부는 이미 알려진 알고리즘을 말하는 것 같습니다. 예를 들어 정렬 알고리즘 같은 것들 말이죠. 그 알고리즘이 해결하려는 문제 그 자체를 공부한다는 의미도 있고 논리적인 사고력 배양 같은 목적도 있습니다. 당연히 필요한 것이죠. 자료구조도 같은 맥락이라고 봅니다.

    위에 쓰신 것처럼 일반적인(?) 웹개발, 시스템 구축은 상당히 애플리케이션 레벨에 가깝습니다. 그러니까 다양한 알고리즘, 자료구조, 디자인 패턴들이 적용된 기반 기술, 라이브러리, 프레임워크, 플랫폼, 데이터베이스 등등 아무튼 그 위에서(top of...어쩌구 하는) 애플리케이션을 개발하는 겁니다.

    그 레벨에선 특정 애플리케이션이 구현하려는 비지니스 로직이 당연히 중요합니다. 이를 테면 스프링 MVC에서 왜 그냥 서비스 클래스텡 로직을 넣는지 궁금하고 그게 왜 그렇게 구성되었는지 따라가면 결국 나오는 것들은 앞에서 말한 디자인 패턴들이 나오고 자바 언어의 여러 객체지향적인 요소들이 나올 겁니다.

    그런데 이 모든 것을 하나로 생각하기 시작하면 닭이 먼저냐 달걀이 먼저냐 이런 논쟁밖에는 되지 않아요. 업무로직도 그 나름대로 중요하고 기반 기술들도 당연히 중요합니다. 그것들은 동일 선상에서 경중을 따질 수 없는 문제라고 봅니다. 프레임워크가 왜 나왔겠습니까? 그런 디자인 패턴이나 자료구조 신경쓰지 말고 목표 시스템이 구현해야 할 비지니스 로직에 집중하라는 목적이 있는 것이죠. 

    본인이 무대 뒤에서 일어나는 일에 관심이 있다하면 뒤로 들어가서 들여다 보면 되는 것이고 그냥 굿이나 보고 떡이나 먹자해도 상관없는 겁니다.

    3
  • 비비탄
    156
    2019-04-11 13:08:50

    좋은 조언 감사드립니다


    하도 공격들을 하길래 참... 역시 다구리에 장사 없다고


    확고햇던 생각이 잠시 흔들렷네요


    freestyle님 덕분에 무언가 정리가 된 느낌입니다


    덧글로 조언주신 모든 분들깨 감사드립니다

    0
  • fender
    14k
    2019-04-11 13:44:31

    비비탄 // 질문 주신 내용은 '알고리즘'이란 용어가 맥락에 따라 다양하게 해석될 수 있기 때문인 것 같습니다. 하지만 보통 프로그래머가 "알고리즘을 공부한다"거나 면접시에 "알고리즘 문제를 푼다"라고 할 때는 말씀하신 "엔드유저에게 원하는 데이터를 전달하기 위한 노하우" 같은 광의적 의미보다는 대학의 관련학과에서 교육과정으로 다루는 일련의 주제 - 예를들어 시간 복잡도에 대한 개념이나 동적 프로그래밍 등 - 를 뜻하는 좁은 의미로 이해하는 것이 보다 적절합니다.

    0
  • 배우고싶은이
    734
    2019-04-11 13:47:49

    거인의 어깨위에서 개발 하는 사람들은 그저 주어진 상황(프레임웍, 라이브러리 등)을 잘 활용해서 본연의 업무에 집중하면 된다고 생각합니다.


    거인을 개발하는 사람들은 역시 알고리즘, 디자인패턴 잘 알고 적용하고 등등 해야겠고요.


    어떤일을 하시나요?


    무엇을 만드시나요?


    다 본인 관심사에 맞게 공부하고 배우면 된다고 생각 합니다.

    0
  • 초무쿤
    2k
    2019-04-11 13:57:25 작성 2019-04-11 14:02:46 수정됨

    둘다 중요하기는 합니다만...

    내가 알고 있는게 제일 중요하고 이게 답이다 이런류의 논쟁은...

    빈수례가 요란하다고 이런걸 논쟁 삼는게 취미인 코드몽키들 이야기는 그냥 그러려니 하세욤...;;

    제경함상 이런거 떠들면서 논쟁을 일삼는 부류치고 별루 잘하는 사람을 못봤습니다.

    속이 꽉차면 흔들어도 소리가 잘않나는 법이죠.. 빈깡통이 요란하지..



    2
  • ㅇㅈㅇ
    3k
    2019-04-11 15:05:47

    저도 약간 기본기무새인데 

    그게 지금 내가 돈받고 하는 일보다 우선할 수는 없지요.


    0
  • 앙앙이
    3k
    2019-04-11 15:48:29 작성 2019-04-11 17:54:15 수정됨

      제가 글을 잘못 읽은 걸까요?

    세상에는 참 희안한 분들이 많은것 같습니다.


    어떤 글에는 1년차라고 하고

    여기서는 5년차라고 하고 진실은 무엇이며

    사랑 받고 싶은 분이라고 이글 통해서 알렸더니

    반대표 던지 분들은 또 정신 세계가 참으로 특별하신듯합니다.

    -------------------------------------------------------------------

    참고 주소 : https://okky.kr/article/306653

    비비탄  136

    2015-12-17 17:39:44

     4 1942

    #306653  사는얘기

    이제 1년이 되어가는 신입입니다. 선배님들의 고견을 듣고싶습니다.

    -5
  • Rayor
    40
    2019-04-11 18:41:32

    ㄴ 2015년에 1년차 신입이셨으니까 2019년에는 5년차 개발자인게 맞지 않을까요? 음..

    1
  • 앙앙이
    3k
    2019-04-11 19:42:35 작성 2019-04-11 19:53:29 수정됨

    // Royor

    맞네요.. 5년차..


    도메인 개발자는 도메인 업무 비중이 높고 개발의 비중은 작은데

    그것을 일반화 하여 개발자 꿈나무들한테 이길로 오라 하면

    어쩌자는건가요? 라는 생각이 있기에 년도 안보고 쉽게 말을 한 부분에 대해서도 따로 건낼 말은 없네요.

    -1
  • celeste
    821
    2019-04-12 09:47:06 작성 2019-04-12 09:48:06 수정됨

    알고리즘이 필요한 업무가 있고 그다지 많이 필요없는 업무가 있습니다.

    경험상 필요 없는 경우와 필요 있는 경우를 다 겪어봤는데요.

    모바일에서는 한정된 메모리와 뷰 영역으로 개발하다보면,

    메모리 구조와 스택, 큐에 대해서 자세히 알지 못하면 특정 수준이상이 되지 못합니다.

    웹서비스의 경우 사실 메모리와 자료구조보다는 DB구조와 쿼리가 사실 더 중요하다고 생각합니다.

    하지만, 이 또한 일반적인 이야기이지,

    최적화경로나 추천 같은 것들은 좋은 알고리즘이 아니면 속도도 안나고 엉뚱한 결과도 나옵니다.

    0
  • 비비탄
    156
    2019-04-12 11:05:15

    // 앙앙이

    왜 제 지난글까지 찾아보신건지 여쭤봐도 될까요?


    그리고 도메인 개발자라는게 뭔가요?


    개발비중이 낮다는건 또 뭔소리구요?


    당최 뭘 말하고 싶으신건지 모르겟습니다


    개발자가 개발비중이 낮은게 뭔소린지 모르겟습니다


    개발자가 하는 업무는 주로 개발일텐데요


    뭐 어떤 개발자는 개발 비중이 낮은 개발자가 있나요?


    그리고 제 글의 요지를 전혀 이해하지 못하신거 같은데


    개발자라는 직종을 희망하는 분들에게 조언을 한 내용이 잘못된건지 여쭙는게 아니라


    제가 생각하고 있는 부분이 어떤점이 잘못되었는지를 여쭙는 글이였습니다


    그리고 잘못된 정보로 이해하시고 다른분들을 욕되게 하셧다면


    사과하는게 맞지 않을까요?


    그냥 따로 건낼 말은 없네요 라며 끝내는건 좀 그렇네요

    0
  • 비비탄
    156
    2019-04-12 11:07:16

    // fender

    좋은말씀 감사합니다


    제가 너무 넓은 의미로만 알고리즘을 생각하고 있었네요


    아직 미진한 개발자라 본업에 좀 더 충실한 이후에


    기초지식을 다져야 할것 같습니다


    조언 감사드립니다

    0
  • 앙앙이
    3k
    2019-04-12 12:45:13

    // 비비탄

    도대체 과거글 찾아 보는 이유도 몰라서 묻는겁니까?

    웹을 한다면서 웹 기반 커뮤니티에서 어그로들과 아웅다웅한 그런 역사는 지켜보지 못하셨나 봅니다.

    5년차가 이 정도도 지켜 보지 못했다면 무슨 문제가 있는거 아닐까요?


    도메인 지식이 우선되는 개발 영역에서 개발하는 개발자를 도메인 개발자라 말한거구요.

    본문에서 "현업에서 최소한의 업무를 처리할 수 있는 스킬" 라는 것을 강조했으니

    도메인 지식이 강조되니 도메인 개발자라 말한것이 무슨 문제입니까?

    넓은 스펙트럼을 갖고 있어 이를 분류한것이 비하입니까? 나름 다 역활이 다를뿐인데요.

    빌딩이나 도시를 건설할때 목수만 필요합니까? 전부 필요하죠.

    다만 개발 스펙트럼이 다양하니 개발자가 되고자 하는 사람들한테

    도메인 지식 습득이 최고? 이러는거이 부당하다 이게 제 주장인데 무슨 문제있습니까?

    -1
  • 비비탄
    156
    2019-04-12 13:46:18 작성 2019-04-12 13:48:55 수정됨

    // 앙앙이

    진짜 난독증이세요?


    전 제가 다른 사람들에게 조언한 내용을 가지고 그것에 대한 피드백을 받기위해


    쓴글이 아니라고까지 명시했을텐데요?


    그리고 5년차에 자기일 하느라 바쁜데


    웹 기반 커뮤니티에서 무슨일이 일어낫는지 모른다는게 문제가 될만한 사항인가요?


    아 혹시 업계 동향에 대해 무관심하다 이딴거 쓰시려구요?


    현업에서 최소한의 업무를 처리할 수 있는 스킬이란 말에서


    왜 개발의  비중이 작아지는거냐구요


    제가 도메인 지식이란걸 잘 몰라서 찾아보니


    기술지식 / 업무지식 / 재무지식 이라고 적은 글을 찾았습니다


    말씀하신 그 도메인 지식의 습득을 최우선으로 해야하는거 아닌가요?


    개발자가 개발에 관련된 기술지식과 업무지식이 최우선적으로 되어야 하지 않나요?


    그럼 뭘해야하나요? 취업하려는 사람이


    아 설마 인터넷주소를 지칭하는 도메인은 아니죠?


    혹시라도 이거라면 도메인 지식이란게 무엇인지 궁금하네요


    그리고 난독 심하신거 같으니 직설적으로 말씀드리죠


    당연히 저한테 사과해라 뭐 이런거 아니고


    사랑 받고 싶은 분이라고 이글 통해서 알렸더니

    반대표 던지 분들은 또 정신 세계가 참으로 특별하신듯합니다.


    이딴글 쓴게 잘못됫다는걸 아셧다면 그 반대표를 던지신 분들에게


    사과를 하시라구요

    0
  • 앙앙이
    3k
    2019-04-12 15:37:48

    조조전 창전 전투에서 허저의 명대사가 있지요.

    "샌님"

    이 말에 원소의 차분하다는 셋째가 욱하여 돌진하여 포위에 빠져 몰살당하여  결국 원소가 죽습니다.


    프레임워크 광고에는 대부분 2가지 문구가 있지요.

    (1) 우리 프레임워크는 쉽다 (2) 우리 프레임워크는 비지니스 로직에만 집중하여 개발 할 수 있다

    이는 프레임워크가 지향하는것이 무엇인지를 잘 보여줍니다.

    전산 스킬 정도는 MAP 정도만 가지고도 개발 충분한 이유가 여기 있지요.

    그래서 이걸 일반화 시켜 자라나는 새싹들한테 도메인 지식이 더 필요하다 주장한것에 대해서

    반대자 모두 이를 지지하는 것 같아 별로 사과 하고 싶은 마음이 없는건데

    일만 열심히 해서 과거 이력 글을 살펴 본것 조차 왜 그런지도 모르는 분이 그분들께 사과하라고 역정을 내시네요.


    전..... 자라나는 새딱들한테 세상에는 다양한 개발자 영역이 있으니 각 영역에 맞추어 열심히 하라 응원하겠지만 개발자는 MAP 정도만 가지고도 충분하다는 분들과 얼굴 붉히며 삐딱하게 살렵니다.

    -1
  • 서버캣
    95
    2019-04-12 17:52:13

    글쓴분은 어그로한테 너무 관심주시면 안될거같네요..

    1
  • 코딩잘하기
    956
    2019-04-12 18:56:40

    도메인에 따라 달라요. 알고리즘이 맥가이버칼은 아닙니다. 배송지 정하는 시스템을 만들거나 카드 추천 시스템을 만든다면 알고리즘 당연히 중요합니다.

    반면 커뮤니티 사이트를 만든다면 알고리즘이 꼭 필요할까요?

    보통 사람들이 TDD 중요하다. 꼭 배워야한다고 하는데 시뮬레이션이 어렵고 실제 상황에서 확인해야 되는 상황에선 TDD가 무용지물이죠


    같은 사물이어도 보는 관점에 따라 해석이 달라집니다. 해석에 따라 행동도 달라지고요. 그러니 알고리즘이 필수라는 견해도 무작정 받아들이거나 반대하지 마시고 그렇게도 생각하는구나라고 여기세요

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