티스토리 뷰

Study

개발자와 프레임워크

니용 2020. 6. 14. 16:50
반응형

Author: 니용

 

  

  최근에 그 질병이 터지게 되면서 재택근무로 전환을 하는 기업들이 우후죽순으로 생겨나고 있어요. 개발자도 그 이점을 볼 수 있는 대표적인 직군이죠. 저 또한 재택근무를 진행해보니 그러한 이점을 많이 느끼게 되었고, 재택근무를 하면서 장단점을 많이 체크할 수 있게 된 좋은 계기가 되었습니다. (지금은 슬프게도 재택근무에서 정상 근무로 넘어갔습니다 ㅠ_ㅠ) 재택근무를 하면서 느꼈던 장단점은 여기 글에서 다루지 않고 또 작성해보겠습니다!

 

 


 

  개발자는 정말 범주가 넓습니다. 크게는 Back-end와 Front-end로 나뉘게 되는데 이 둘을 모두 소화할 수 있는 개발자는 Full-stack 개발자라고 명칭 한답니다. 처음에 제가 개발자라는 길을 밟기 시작했을 때에도 Full-stack 개발자를 목표로 하였는데요, 생각해보면 지금과 같이 정보력이 뛰어난 시대고 나날이 신기술이 나오는 시점에서 Back-end 또는 Front-end 중에서 하나만이라도 확실히 알고 넘어가는 게 더 중요하다는 생각을 많이 하고 있습니다.

 

  저는 현재 Back-end 개발자로 근무하고 있습니다. 사실 개발자를 꿈꾸며 준비했을 당시에는 Front-end 개발자를 목표로 하고 개발을 시작하였는데요, 지금 와서 생각해보니 Front-end가 훨씬 공부를 많이 해야 하는 편이라고 생각합니다. (물론 그렇다고 Back-end가 공부가 필요 없다는 말은 절~~~ 대로 아닙니다. 지금 회사를 다니면서 Back-end를 관리하고 있지만 이 전에 알지 못했던 점과 업무에 필요한 것을 너무 많이 알게 되어 정말 좋습니다 ㅎ_ㅎ) 

 

  위의 말대로 생각한 이유는 Front-end는 언어 종속성이 많이 따른다고 생각하기 때문입니다. 요새 나온 웹 개발자 전용인 자바스크립트 프레임워크 (ReactJS, Vue.js, AngularJS) 들이 있고, 그 외에도 제가 알지 못하는 프레임워크들도 정말 많을 것입니다. 웹뿐만 아니라 앱으로 전환되면, 기본적으로 Kotlin을 사용하는 AndroidSwift를 기반으로 사용하는 iOS 등도 대표적인 예가 되겠죠. 하이브리드로 넘어가게 되면 그 범주가 정말 넓어지게 되죠. 웹의 템플릿을 기반으로 만든 React Native가 대표적으로 많이 아실 법한 언어이자 프레임워크일 것이고요, 구글에서 개발한 Dart언어를 기반으로 AOS와 iOS를 개발할 수 있는 Flutter 등도 있을 것입니다. 또, 많은 분들이 들어보셨을 법한 Tomcat이라는 WAS 개발사인 Apache에서 만든 Cordova도 대표적인 예가 될 수 있습니다. 

 

  이야기가 좀 길어졌는데 Front-end의 프레임워크 종류는 너무나도 많고, 그것을 선택하는 것은 개발자의 몫입니다. 사실 이제 개발을 갓 시작한 주니어 개발자들은 이것 또한 큰 부담이 되죠. 프레임워크를 선정하여 이것저것 많은 것들을 개발하고, 다음으로 기획한 기능 하나를 구현하려고 하는데 그 기능이 해당 프레임워크에서 지원을 안 한다? (물론 근래 들어 나온 프레임워크들은 대부분을 지원하고 있고, 만일 지원을 하지 않는다 하더라도 우리의 대표적인 포럼인 갓구글을 검색해보면 나오더라고요) 하면 골치 아파지죠. 근데 이런 외적인 부분은 개발자의 잘못이 전혀 아닙니다. 많은 사람들이 오해를 하는 부분 중 하나가 개발자가 계속해서 안된다는 것을 얘기하면 이 사람이 정말 역량이 안돼서 개발을 하지 못하는 것인지, 아니면 자기 주관적으로 의도적으로 하기 싫은 기능이 포함되어 있는지 혼동하게 되죠.

 

  그래서 회사 내에서 기획팀과 개발팀이 친해질 수 없다는 말이 생긴 것이 틀린 말이 아닙니다. 하지만 이건 프레임워크 개발자나 Front-end 개발자 및 기획자에게 책임을 돌릴 수 없습니다. 뭐니 뭐니 해도 가장 최선인 것은 개발에 착수하기 전 충분한 의사소통을 한 후 이러한 이유 때문에 현실적으로 개발이 불가능하다는 것을 표현하는 것입니다. 납득이 된 후 개발을 중지하는 것과 그렇지 않고 막무가내로 개발을 그만두는 것은 작지만 큰 차이라고 생각합니다.


  Back-end 개발 또한 프레임워크를 선택하는 것이 이전에는 한정적이었습니다. 대표적으로 잘 아실법한 그리고 범용적으로 사용 가능한 프레임워크는 뭐니 뭐니 해도 Spring이죠. 하지만 Spring도 시작단계, 즉 버전 1 당시는 문제가 많고 지원하지 않는 기능도 많았습니다. 시작은 누구나 곤란하기 마련이죠. 개발자의 편의성에 맞추어 크게 업그레이드된 부분도 정말 많을 것이고, 4년간 Back-end 개발자로 일하면서  이런 편의성들이 금방 업무 효율성과 직결되는 것을 크게 체감하게 되었습니다. 

 

  이렇게 개발 능력이 향상되고 지속적으로 공부함으로써 저의 부족한 부분과 보충해야 할 부분을 알게 되었지만 무엇보다도 이런 점을 느끼기 위한 시간이 가장 많이 필요하다는 것을 근무하며 깨달았습니다. 즉, 진짜 개발자가 되기 위해서는 자기 시간과 노력을 아낌없이 투자해야 한다는 것입니다. 사실 이런 내용은 직업 불문하고 모든 직종에서 필수적인 요소일 것입니다. 

 

  글을 마치며 특정 사람이 프레임워크를 선택하고 시작하는 것은 모두 시작점에서 동등하게 출발하는 것과 같은 이치라고 생각합니다. 그만큼 자기 시간을 들여 그 프레임워크에 숙달되고 다른 추가 개발이 필요가 되는 시점에, 효율적이고 안정적으로 프로그램을 개발하는 데까지 시간이 점점 단축되겠지요?

반응형

'Study' 카테고리의 다른 글

개발은 '장비'빨이다?  (0) 2020.06.18
코딩 학원을 다녀야 할까?  (0) 2020.06.17
재택근무를 하면서 느낀 것들  (0) 2020.06.15
개발자 일상 오픈!!  (0) 2020.06.12
Slack 활용법  (0) 2020.06.03
IntelliJ의 생산성을 높이는 방법  (0) 2020.02.05
댓글
공지사항