웰컴

02. 프로그래머란?

** 이프로 ** 2023. 12. 19. 13:53

안녕하세요.

콤퓨타 학원에 원장을 하고 있는 이프로입니다. 헤헴 ^^

 

이번글은 프로그래머란 무엇일까 생각해보고 제가 생각하는 프로그래머는 어떤사람이어야 하는지 이야기 해보도록 하겠습니다.


프로그래머란?

일반적으로 생각하는 프로그래머란?

컴퓨터, 스마트폰, 다른 전자기기등이 동작하려면 동작시켜줄 프로그램이 필요한데 해당 프로그램을 개발해주는 사람?

이정도로 정리하면 되지 않을까 싶은데요. 저는 조금 다르게 생각합니다.

 

단순화게 프로그램이 동작하기만 하는게 아니고 거기에 중요한것이 추가되어야 한다고 생각합니다.

컴퓨터, 스마트폰, 다른 전자기기등이 동작하려면 동작시켜줄 프로그램이 필요한데 해당 프로그램을 사용자가 사용하기 편하게끔 개발해주는 사람!

 

이렇게 말입니다.

 

어찌보면 너무나 당현한 이야기입니다. 하지만  지금까지 그런 개발자들을 흔히 볼수는 없었던거 같습니다.

제가 알고 있는 많은 사람들이 대부분 돈을 받고 요구하는 기능을 그냥 개발해주는 경우가 정말 많았던거 같습니다.

요구하는 기능들이 정말 그사람이 또는 그기계에 맞는것인지 요목조목 따져보는건 정말 쉽지않은 부분이지만 이부분이 프로그래머로서 정말 중요한 역량중에 하나라 생각합니다.

 

 

프로그래머가 된다면 필요한 것들

프로그래머가 되야 한다면 정말정말 필요한게 무었이 있는지 생각해보았습니다.

1. 끈기

  - 일을 하다보면 어려운 문제에 직면하는 경우가 정말 많습니다.

    알수 없는 문제를 끝까지 파고들어 해당 문제를 해결해야 합니다.

    저도 20년차가 되었지만 아직도 여러가지 문제에 봉착했을때 고민해야하는 경우들이 많이 발생하고 있습니다.

    물론 주니어 개발자가 고민하는 것들과는 다른 고민이지만 말이조.

    그렇게 각자 개발자들의 어려운 문제들은 항상 존재하고 그걸 끈임없이 해쳐나가야 하는데요.

    그런 문제를 피하려하지 않고 파고들어 해결하고 해결 못하면 마음이 엄청불편해서 잠을 못이루는 그런 변태같은

    사람이여야 한다고 생각합니다.

    저는 프론트 앤드를 주력하고 있지만 게임 개발에 관심히 있어 별도록 게임 개발 공부를 하고 있습니다.

    프론트 앤드 개발과 게임 개발은 좀 분야가 달라 많은 공부가 필요한고 많은 어려움에 몽착하지만 그 어려운 문제들
    이 저는 재미 있습니다. 역시 변태같조.

    근무시간에는 노가다뛰고나서 퇴근해서 헬스장 가는 느낌랄까요. 일반인이라면 이해가 가실지 모르겠습니다.

2. 논리적 사고

  - 아마 모든 이야기가 문제로 시작해서 문제로 끝날거 같은데요.

    개발할때 생기는 문제들을 1+1=2 같이 정해진 답이 없는 경우가 많습니다. 개발자스타일마다 해당 문제를 해결하는

    방식들이 모두 다릅니다.

    그래서 주간이 확실한 개발자들이 모이면 논쟁이 발생하는 경우들이 많이 발생합니다.

    그렇다면 누구의 말이 맞을까요. 대부분 모두의 말이 맞습니다. 하지만 좀 더 효율적이고 좀 더 효과적이고 좀 더 맞는

    말을 하는 사람의 의견이 수렴이 됩니다.

    개발자들끼리 의견 충돌이 되었을때 논리적이지 못한 말을 하면 그사람은 대화에 끼지 못할거라 생각합니다.

    다른 개발자들이 들어주지 않을테니까요.

    약간 표현이 애매하긴 하네요.

    그래서 저는 수학을 잘하는 분들이 프로그래머가 되는데 적합한 분이 아닐까라는 생각을 합니다.

    수학을 잘하는 분들이 논리적 추론을 잘할거라 생각하기 때문이조.

   하지만 수학을 함수를 외우고 다양한 문제를 외워서 문제를 풀이하는 사람의 경우는 예외라 생각합니다.

3. 글을 잘쓰는 사람?

  - "이런 말을 하는 작가는 글을 못쓰는데요." 이렇게 말씀하신다면 저는 프로그래머로서 실력이 그정도일거라

     생각합니다.

     저보다도 프로그래머로서 대단하신분들이 많이 있으니. 맞는 말일수도 있고 말이조.

     어떻게 보면 말을 잘하는 분이라고 생각을 하기도하는데.

     말을 잘하는 사람은 글을 잘쓰기때문이 아닐까 하는 생각도 합니다.

     그렇다면 왜 글을 잘쓰는 사람이 프로그래밍을 잘할까?

     프로그래밍은 그냥 생각나는데로 프로그래밍을 하는 것이 아닙니다.

     어느정도 구상을하고 구조를 짜고 각각 구조에 의미를 부여하고 그거에 맞게 프로그래밍을 하나하나 말들어 갑니다.

     그래서 프로그래밍한 부분을 누군가 설명하라고 할때 이야기가 술술 나옵니다.

     그 이유는 프로그래밍을 하면서 하나의 소설을 쓰뜻이 코딩을 해간다고 생각합니다.

     코딩 하나하나에 의미가 부여되고 코딩 하나하나가 모인 덩어리에도 의미가 부여되고 코딩된걸 말로 설명하면

     하나의 이야기같은 느낌을 받을때가 많이 듭니다.

     결국 그렇다는건 글을 짜임세 잘쓰는사람이 프로그래밍도 짜임세있게 잘 짤수 있다고 생각합니다.

     (2)번 부분의 논리적 사고가 더해지면 논리적 짜인세있는 글을 잘쓰는 사람이 되겠조.

     이런분이 정말 프로그래밍을 잘하지 않을까 생각합니다.

4. 문제 해결 능력

  - 아! 또 이 이야기를 하네요. 다양한 문제에 봉착했을때 다양한 상상력으로 문제를 다각도로 둘러보고 적정한 해결

    방안을 만들어야 합니다.

    

 종합해서 이야기를 해보면 문제를 다각도로 바라보면서 이 문제를 해결할 시나리오를 머리로 구상하고 내 시나리오고 논리적으로 문제가 없는지 판단하고 짜임세 있게 프로그래밍 할 수 있는 사람이 프로그래밍을 잘하지 않을까 생각합니다.

이렇게 되기 위해서 엉덩이가 무거워야 한다.

끝!

 

 

프로그래머가 되기 위해 할 것

1. 프로그래밍 언어 배우기

  - 이건 너무 당현하조. 패스

2. 심리학책 읽기(그냥 책일기도 좋습니다.)

  - 저도 책을 많이 읽지 않았지만 책을 읽었을 시기와 일기 않았을 시기와 저의 개발 능력은 천지 차이라 생각합니다.

    저도 전문가는 아니지만 생각하는 방식이 좀 달라진다고 생각합니다.

3. 변태되기

  - 프로그래밍 하는데 열받고 짜증나고 못해먹겠는데도 그런게 또 재미있는 사람이 되는 것입니다.

    이건 아마나 하지는 못할거 같습니다.

    그런에 이거 정말 중요한거 같아요. 이거 못하면 프로그래머로 오래 먹고 살기는 힘들거 같네요.

    참고로 제가 프로그래밍 처음 할때는 책도 거희 없고 인터넷에서 내가 알고 싶은 내용 찾는 것도 쉽지 않았습니다.

    더군다나 저는 영어를 못했기때문에 정말 힘들게 프로그래밍을 배웠는데요.

    너무 열받고 억울해서 울기도 많이 울고 키보드, 마우스도 여러개 박살을 냈습니다.

    그런데도 프로그래밍이 재미있었습니다.

    그런 사람이라면 적어도 저처럼 먹고사는데는 지장이 없게 이 직종에서 살아 남으시리라 믿습니다.

 


천천히 읽어보면 프로그래머로서 스킬을 쌓는거 대한 이야기는 거희 안했는데요.

제 경험상if, for잘쓰는 것보다 다른 것들이 더더욱 중요하다고 생각합니다.

if, for을 모두 똑같이 알고 있지만 프로그밍을 잘하는 사람이 있고 못하는 사람이 있습니다.

신입개발자들을 보면 한두개말 알려줘도 알아서 뚝딱둑딱 하느 사람이 있는가보면 아무리 알려줘도 못알아 먹는사람이 있습니다.

이유가 뭘까요? 넌 프로그래머 명령어 하나둘 더 알고 있다고 프로그래밍을 더 잘한다고 절대로 절대로 생각하지 않습니다.

앞으로 기초 문법에 대한 이야기도 많이 하겠지만 그 이외의 많은 이야기도 같이 담을 예정이니 20년 경험을 쪽쪽 빨아가시기 바랍니다.

 

 

이글은 여기까지 입니다.

여러분들의 관심과 사랑이 있다면 좀 더 좀은 컨텐츠를 제공해줄 수 있을거 같습니다.

많은 관심과 사랑 부탁드립니다.

 

감사합니다.

그럼 콤빠~