티스토리 뷰

ETC

[ETC] 2020년, 과거를 되돌아보며...

주인장 진빼이

되돌아보는 회고록?에는 어떤 내용을 포험시켜서 적어야 할지 모르겠다.

순서가 뒤죽박죽이거나 정리가 덜 됬을 수 있지만 양해바란다.

(첫 회고록이다...)

 

벌써 새해가 다가오고 있다... 매번 하루가 금방 흘러갈 수록 시간이 정말 빠르게 흘러간다 생각한다.

(학교 다녔을 때가 엊그제 같았는데)

 

IT 관련 프로그래밍 및 개발 공부를 하다보면 두가지를 크게 느낀다.

기술의 발전과 변하는 개발 패러다임은 정말 빠르다는 것이다.

 

 

아직도 대학교에서는 MFC를 가르치는 학교들이 존재할 것이다.

MFC를 배우지 말라고는 말할 수 없지만, 오래된 것들은 가볍게 큰 그림정도만 보고

새로운 기술을 접하도록 하자. 그것이 취업면에서도 좋을 것이다.

MFC같은건 유지보수를 중점으로 많이 사용 된다고 들었다.

 

 

나 또한 MFC를 한때 공부해왔고 이젠 생산성이 더 우선시 되는 C#으로 방향을 틀었고 Winform, WPF쪽으로 방향을 틀어서 나아가고 있다.

취업이 조금 급해 사실 웹앱 개발로 가야하는 것이 맞는데 아직 웹보단 윈도우 프로그램을 만드는 개발자가 되고 싶다.

 

모바일 비중이 커지면서 10년 전에 비해 윈도우 개발에 대한 수요가 너무 많이 줄었다 T^T..

 

나의 목표는 Steam 같은 게임을 다운로드 받을 수 있고 거대한 메신저 플랫폼을 만드는 것이다.

아직은 많이 부족하다는 것을 알지만, 몇년, 몇십년 더 공부하다 보면 분명 구현해낼 수 있으리라 믿는다.

여러가지 프로그램을 만들어보면서 개발 경험을 더 쌓아야한다 생각한다.

 

나는 어렸을 때부터 윈도우 프로그램 개발자를 꿈꿔왔다.

2020년도에 열심히 달려와 윈도우가 무엇인지 윈도우 프로그램이 어떤 방식으로 작동하는지 큰 그림은 알고 

복잡한 프로그램이라도 큰 그림은 바로 알 수 있게되어 한층 더 성장했다 생각한다.

 

고등학교 3학년 때만해도 콘솔 프로그래밍만 해왔었지. 윈도우 프로그램이 어떻게 작동되는지 전혀 몰랐다.

그리고 과거에 C++만 고집하면서 성능만 고집하던 나는 새로운 마인드가 생겼다.

유명한 말 한마디를 개발톡에서 들은 적이 있다. " Done is Better than Perfect. "

완벽한 것보다 Done(작동)이 되는 것이 더 중요하다는 의미이다.

 

컴퓨터는 내 인생의 전부라고 말할 수 있을 정도로 컴퓨터와 정말 오래 지내왔다.

코로나가 터진 이후로는 친구들과 만남도 적어져 집에서 나만의 공간에서.. 컴퓨터만 공부했다.

사실 공부했다는 것이 맞는 표현일까? 컴퓨터와 지내왔다는게 맞을지도 모른다.

 

우스겟소리로 구글 장기접속 시간으로 치면 랭커에 들지도 모른다.

 

 

컴퓨터 공부를 해오면서 무기력증에 걸린 적도 있지만, 사람이 어떻게 공부만하고 살 수 있을까?

가끔 유튜브도 보고 영화도 보면 정신적으로 힐링되어 다시 공부에 집중할 수 있다는 것을 깨달았다.

(유혹에 약한 나는 게임은 가급적으로 자제하려고 한다. 한번 깊게 빠지면 개발하기 힘들다는 생각이 들기 때문이다)

 

고등학교 다닐 때부터 프로그래밍에 관심이 있어 C언어는 계속 공부해왔지만 네트워크쪽은 또 처음 공부했다.

메모리에 대해서 한층 더 자세히 탐구해보고 운영체제도 간단히 살펴봤다.

 

대학교 방식은 어떤 수업을 할지 모르겠지만

운영체제는 정말 보고 또 봐도 쉽게 이해되지 않는 분야중 하나인거 같다.

운영체제를 정말 다 이해하는 사람이 있을까?

 

대학 교육을 일부 오픈해주는 사이트가 있었는데 거기서 운영체제를 봤을 땐 정말 암기 과목에 비슷한거 같아 아쉽다.

프로그램을 직접 구현하면서 운영체제가 어떤 방식을 작동하는지 배웠으면 얼마나 더 재밌을까 라는 생각이 든다.

 

 

2020년 중반까지만 해도 C++을 고집하던 나는 2개의 언어를 더 넓혀 공부해나아갔다. (js, C#)

언어는 다양하게 알아야하고, 개발 목적에 따라 언어도 달라지는 것을 잊지 말아야 한다.

 

 

만약 restfulapi 서버를 짜야하는 경우라면 어느 것이 최선의 선택일까?

C++로도 서버를 짤 수 있고 js로도 서버를 짤 수 있지만

어느 것이 더 빠를까? 프로그램 성능면에서는 네이티브 앱인 C++이 더 빠르겠지만

생산성도 무시하지 못한다. 아주 큰 데이터를 10ms 늦게 전송된다고 해서 생산성을 포기하고 C++을 고집할 이유가 있을까?

(js에는 무서운 프레임워크들이 많고, 이미 거의 다 만들어진 수준으로 프레임워크 초기 빌드가 시작되기도 한다)

 

그리고 네트워크에 관심이 생겨나면서 linux에 대한 관심도 생겨났다.

oracle cloud platform을 이용하여 리눅스 서버도 만져보았고 macos에서 docker도 만져보고 docker-compose도 사용해봤다.

정말 많은 걸 공부했다. 7개월 만에 머릿속에 모두 넣는 건 힘들지만, 무경험보다 작은 경험이 더 낫다고 생각한다.

 

지금까지 살아온 인생을 되돌아보면..

중학교 땐 게임을 즐겨했고,

고등학교 땐 게임을 병행하며 사설 게임 스크립트 코드를 공부했고

고등학교 2학년 부터 C언어라는 프로그래밍 언어에 관심을 가지기 시작했고

고등학교 3학년 때 프로그래밍과 거리가 먼 디자인 회사에 취업을 했었고..

20-22살 땐 게임을 즐겨하면서 6개월 국비 교육으로 Java를 공부하고 객체지향 개념에 눈을 뜨고 앱공모전을 준비했으나 결과는.. T^T

22-24살 땐 병역 의무를 이행하면서 조금씩 C/C++ 프로그래밍 winapi MFC에 눈을 뜨기 시작했고 (왜 이때 맥을 샀을까? ㅋㅋㅋ)

24-25살 땐 어머니의 간병을 맡아 병원생활을 했고..

25살 땐 linux도 만져보고 js, c# wiform, wpf도 하면서 개발의 눈을 막 뜨기 시작했다.

 

정말 개발만 해왔지만.. 기초만 익혀서 공부했지 훌륭한 프로젝트나 프로그램을 만든 경험은 적다T^T..

어떻게 하면 훌륭한 개발자가 될 수 있을까? 의문이 든다.

아마 두려움을 극복하고 어려운 프로그램에 부딪혀서 삽질을 해야 될 거 같다는 생각이 든다.

 

 

기초적인 query는 다룰 줄 알고 로그인 시스템은 만들 자신이 있는데 그 이후에 조금 막막하다..

그래서 WPF에서 crud, todo app 같은걸 만들어 봐야겠다는 생각이 들었다.

 

언어를 두개, 세개 이상 하는 사람은 정말 대단한거 같다.

나도 할줄은 안다. 하지만 검색하지 않고 코드를 술술 치는 건 아직 부족하다.

그리고 더 깊게 들어가면 언어마다 달라지는 프레임워크마다 달라지는 기본 클래스를 사용해야하는 경우라면 더더욱 검색이 필요하다.

(어떻게 외워..)

 

검색은 부끄러운 것이 아니지만 가급적으로 검색을 안하고 핵심 기능에 대해서 구현해보고 싶다.

기본적인 틀 잡는건 당연히 검색없이 코딩이 가능하지만, 핵심 기능이 들어가면 끝내 stackoverflow, google에 약간 의존하게 된다.

 

서비스나 프로젝트를 진행하면서 수 없이 개발 경험을 많이 쌓아야 검색을 하지 않고도 코드가 술술 나오는거 같다.

현재의 if, for를 자유자제로 다루듯이 말이다.

 

이젠 javascript가 모든 걸 삼키고 있다..

취업을 위해서라면 javascript, java로 가야하지만 나는 윈도우 프로그램 개발을 하고싶다.

 

 

현재 독학으로 배우고 있는 WPF도 배우면서 항상 의문이 든다.

이 방향이 옳은건지 아니면 웹앱으로 가야할지 말이다.

WPF 관련 정보를 찾아보면 2010년 초반대 정보들이 많다.

현재는 2020년 약 10년도 더된 정보들이다...

 

하지만 MS가 UWP에서 점유율을 크게 확보하지 못해

WPF로 개발자의 길은 아직 열려 있다 라고 나 자신에게 세뇌를 하고 공부하고 있다.

모르는 것보다, 안하는 것보다 뭐든 하면 되겠지 라는 마인드가 강해진거 같다.

 

지금까지 WPF를 배워오면서 느낀 것은 정말 개발자에게 편하고 훌륭하다는 것이다.

만약 윈도우 개발자가 목표라면 WPF를 배우라고 말해주고 싶다.

 

그리고 UWP가 어느날 갑자기 터진다면 WPF에서 배웠던 xaml 기반 베이스를 가지고 UWP 개발을 하는 것도 좋은 방향이라 생각한다.

(UWP는 언제 성공할까?)

 

WPF의 생산성은 윈폼보다 분명 떨어질 수도 있다.

하지만 내가 원하는 화면을 xaml이란 걸 통해 막힘없이 만들 수 있다는 것은 정말 편리하고 좋은 프레임워크라 생각한다.

 

gdi 방식으로 win32 loop에서 화면을 다시 그린다고 생각해보면 정말 끔찍할 수 밖에 없다.

오래된 정보들 밖에 없어서 배우기도 힘들고, 정말 무수히 많은 삽질이 필요하다는 것을 알아야 한다.

만약 그림을 그릴 필요가 없다면 WPF보다 Winform이 훨 씬 나은 선택이라고 말하고 싶다.

 

2021년에는 프로젝트 경험을 많이 쌓아 취업까지 성공해야겠다.

현재 20대 중반... 이제 쉬는 것도 더 줄이고 열심히 달려야겠다.

 

그나저나 이렇게 쓰는게 맞나?...

으음;; 다음엔 다른 개발자분들 것을 참고해서 적어보도록 해야지.

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함