C언어 공부, 프로그래밍 독학하면 프로그래머 될 수 있을까?

C언어 공부, 프로그래밍 독학으로 좋은 프로그래머 될 수 있을까?


프로그래밍 독학 프로그래머[비전공자 소프트웨어 엔지니어]


프로그래밍 공부 할 때, C언어 자바 C++ C# 등을 하나의 언어로 생각하세요. 그 이상도 그 이하도 아닙니다. 2~3년차 정도의 실무 경력을 쌓은 개발자라면, 프로그래밍 언어의 특성을 차츰 깨닫게 되고, 문법이 다를 뿐, 결국 구현하는 과정은 똑같다는 생각을 하게 됩니다.


언어를 어느 정도 배운다면 알고리즘, 자료구조 등의 IT 공부하는 것이 좋죠. 읽기 좋은 코드가 좋은 코드라는 프로그래머 교양서적을 읽는 것도 좋겠고요.

그럼 어떤 언어로 공부하는 게 좋을까? 그건 개인의 선택입니다. 알고리즘만 머릿속에 들어있다면 언어를 선택해 자유자재로 구사해 보는 노력이 필요합니다. 구현하는 방법이 중요한 것이지, 프로그래밍 공부를 위해 어떤 언어를 선택하느냐는 부차적인 요소일 뿐입니다.


프로그래밍 언어는 도구일 뿐, 어떤 문제를 어떻게 해결할 것인가? 이게 중요한 부분입니다.


  • 사람이 하는 말(자연어)이 제일 중요하고,
  • 프로그래밍 언어는 뜻(로직)을 전달하는 수단이고,
  • 뜻(로직)을 프로그래밍 언어로 얼마나 잘 표현하는가(알고리즘)를 고민하세요.


그래서 언어는 신경 쓰지 말고, 선호하는 언어로 뭐든 구현할 수 있는 실력을 만들어 놓는 게 좋습니다. 욕심을 부리는 건 그다음입니다.



소프트웨어 개발자 독학[비전공자 소프트웨어 엔지니어]



뜻을 풀이하는 능력, 그러니깐 알고리즘, 자료구조, 디자인 패턴은 프로그래밍 언어가 익숙해지면 배워보세요. 추가로 OOP 탄생 배경을 알면 왜 OOP를 사용해야 하는지 근본적인 이유도 알 수 있습니다. 뭐, 여기에 더해 DB, 대용량 데이터베이스를 배우는 것도 좋아요.


저도 학생 신분일 땐 C#을 선호했으나, 회사에선 MFC, C++, Qt 등을 사용했습니다. 자신 있게 다룰 줄 아는 언어 하나만 있다면 다른 언어에 진입하는 건 편합니다. C++ 이용해 엔진 만들고 C#으로 UI 만드는 등 융합도 할 수 있게 됩니다.


프로그래밍 공부도 중요하지만, 뭐라도 만들어보는 게 필요한 셈이죠. 무에서 유를 창조. 이것이 핵심이죠.



C언어 공부, 프로그래밍 독학하면 프로그래머 될 수 있을까[비전공자 소프트웨어 엔지니어]



그래도 주력 언어는 하나 정해놓는 게 좋습니다.


C/C++ 하고 C#은 다른 언어입니다. C언어와 C++도 엄연히 다른 언어죠. OOP 공부하려면 자바, C++ 등을 공부하면 됩니다. 하지만, 아무리 영어를 잘해도 중국 가면 쓸 일이 거의 없듯, 언어마다 주로 쓰이는 분야가 다릅니다.


만약, 이직하거나 첫 직장을 구하면, 회사에서 쓰던 언어가 있을 테니, 해당 언어를 습득해야죠. 회사에서 사용하는 언어와 개인이 선호하는 프로그래밍 언어는 다를 수 있습니다. 그래서 꾸준히 프로그래밍 공부를 해야 합니다.


난 Java 프로그래밍으로만 먹고 살 거야. 그래서 C++, C# 개발은 안 할 거야~


이런 생각은 하면 안 됩니다. 주력 언어로 Java를 잡고 추가로 C++을 할 줄 안다는 수준은 되어야죠.



c언어 c++ 독학[비전공자 소프트웨어 엔지니어]



다른 언어를 배울 때는, 주력 언어에서 이렇게 구현했는데, 이 언어는 어떻게 구현해야 할까? 라는 식으로 접근하는 게 좋습니다. C++은 웬만한 언어의 특징은 다 포함하고 있어서 자바에서 C++, C++에서 자바로 넘어가는 난이도도 다릅니다.


C언어를 강조하는 이유는 C++ 습득의 난이도 문제입니다. 솔직히 C++ 손이 많이 갑니다. 거꾸로 이야기하면 그만큼 꼼꼼한 코딩 버릇을 익힐 수 있다는 뜻이죠.


위에서 C++을 계속 언급했지만, 어차피 언어를 공부하는 건 개인의 선택입니다. 어느 방향으로 공부할지 결정하는 게 우선이라, 모바일 프로그래머를 꿈꾼다면 안드로이드, 자바, 코틀린 등을 배워야 합니다. 추가로 서버 공부를 하면 좋고요.



c언어 프로그래밍 독학[비전공자 소프트웨어 엔지니어]


만약 CS 프로그램 제작이 목표라면 자바, C++, C# 프로그래밍 공부를 추천합니다.


분야를 떠나서 가장 기본이 되는 프로그래밍 언어입니다. 일반적으로 자바 + C#, C++ + C# 등 경력자들은 주력 언어 + 서브 언어 구현 능력을 보유합니다. 프로그래머 지망하고 IT 공부 중이라면 폭을 넓히는 것도 좋아요.


몇 가지 프로그램(또는 프로젝트)을 구현하면서 흥미가 생기는 언어를 주력으로 삼는 겁니다. 대세를 따르라는 말도 있으나 틀렸습니다. 대세라는 건 아무도 예측할 수 없고, 대세를 따른다고 나의 성공을 보장하지도 않습니다. 개인의 성공 기준도 사람마다 다르죠.


다만, 취직이라는 것만 따지면 Java가 유리합니다. 수요가 많거든요. 수요가 많은 만큼 선택의 폭이 넓습니다. 우리나라 공공기관들은 주로 자바 기반 프로젝트를 발주합니다.




좋은 프로그래머 직업 코딩[비전공자 소프트웨어 엔지니어]



프로그래밍 공부하는 것 때문에 고민 많으실 겁니다. 자바 배운다고 취업이 잘 될까, 안드로이드 배워야 취업이 잘 될까, 어려운데 언제쯤 잘하게 될까? 등 많은 고민을 하실 텐데요.


여러 프로그램을 다루면서 가장 흥미가 생기는 언어를 주력으로 삼으세요. 프로그래밍 언어 하나만 능숙하게 다루게 되면, 다른 언어를 배우는 건 아주 쉬운 일입니다.


프로그래머 진입 장벽이 낮다는 말이 많습니다. 사실이고요. 하지만, 낮은 만큼 낮은 수준의 개발자도 많습니다. 그런 분들은 주로 SI 파견직에 몰려 있습니다.


월화수목금금금 대신 워라벨을 챙기고 싶다면, 언어 공부, 이론 공부, 개발자 교양 등 여러 가지를 챙기세요. 4년제 컴퓨터공학과 학생들은 4년이나 이걸 배웁니다. 그만큼 차이가 크니 따라잡기 위해선 효율적으로 IT 공부해야죠.


하여튼, 열심히 하세요. 그러면 길이 보입니다.


C언어 공부, 프로그래밍 독학으로 좋은 프로그래머 될 수 있을까?




댓글(2)

  • 2020.01.20 22:30

    비밀댓글입니다

    • 2020.01.21 19:23 신고

      고민 많으시군요.

      늦은 나이에 프로그래머를 욕심내는 건 좋다고 생각해요. 다만 40에 가까운 나이는 늦어도 너무 늦다고 생각합니다.

      이 분야가 생각만큼 즐겁게 일할 수 있지도 않아요. 책임지고 완성지을 때 까지 많은 시간과 노력이 필요하고, 자발적 야근이 필요한 부분이기도 합니다. 적성에 맞지 않으면 지옥불구덩이에 있는 기분이랄까요.

      여기에 결혼해서 아이도 있다면, 문제가 되게 복잡해집니다. 미혼이어도 문제가 돼요. 인사담당자들은 인내심 높은 사람을 원하는데 기혼이 유리한 이유는 아내와 자식 때문에라도 인내심을 발휘할 거란 기대감을 갖습니다. 헌데, 나이 많고 미혼이라면 이런 곳에서 얻을 포인트가 없습니다.

      그리고 이 분야는 공부할게 되게 많아요. 저도 요즘 웹 프론트엔드를 공부중인데 이전엔 c++, c#을 했습니다. 제가 지금 당장 프론트엔드로 이직할 수 있을까요? 전 불가능하다고 생각합니다. 무슨 뜻이냐면, 깊이있게 공부하는 건 공부일 뿐이고, 회사에선 실제 솔루션을 돈 받고 팔아본 경력을 최우선으로 생각해요. 공부와 취업은 상관없습니다. 나이가 많을수록 오로지 경력 뿐입니다. 회사에선 공부를 시키지 않아요. 일을 해야죠.

      요즘 고령화 때문에 회사 내 직원들 평균 연령이 높아지는 추세입니다. 신입을 뽑고 싶어도 부족해요. 그렇다고 아무 경력도 없는 30대 후반을 "성장"시키자고 채용하는 회사는 없으리라 생각합니다.

      자, ---- 여기까지가 현실이고요.

      차라리 저보단 지역 취업 센터 방문을 권유합니다. 제가 프로그래머라 해도 저는 제 분야 밖에 몰라요. 다른 분야는 다른 프로그래머에게 들어야 압니다.

      그리고 늦은 나이에 시작하려면 인맥을 통해 입사하는 게 좋아요. 왜냐면 인맥 때문에 회사에선 "기다려주는 시간"이 생기거든요.

      차라리 30대 초반에 도전했어야 했는데 ... 지금은 너무 늦었다고 생각해요.

      마지막으로, 직업훈련기관 수료생의 현실은요 .... .... 많이 힘들어요. 지방, 오지로 출장가서 박봉에 출장비도 없이 일해야 합니다. 그런 생활을 견뎌낼 30대 후반은 없다고 생각해요. 20대 초중반 ... 나이 열살차이 나는 사람들하고 좁은 공간에서, 아는 사람 하나 없고 주변에 온통 공장뿐인 곳에서, 힘들지만 버티는 건 .... 인간적으로 너무 힘듭니다.

      제가 생각하기엔 그냥 하시던 거 하시고, 실제 개발자보단 프로그래머와 접점이 생기는 분야를 도전해 보세요. 수출입 매출 매입 관리만 해오셨다면 그 경력을 살릴 수 있는 분야로 가시는 게 좋다고 생각해요. 외국계, 수출입 ... 개발자로 도전하면 이 경력 다 버리는 겁니다.

      30대 후반의 신입사원 원하는 회사는 없습니다. 인맥을 최대한 동원해 프로그래머 취업 기회를 노리거나, 하던 거 하시는 게 좋다는 것으로 글을 마칩니다.

Designed by JB FACTORY