728x90
반응형

 

이전 글 SI 개발자의 프로젝트를 선택할 때 고려사항에 대해

 

지극히 주관적인 필자의 생각으로  프로젝트를 선택할 때

 

무엇을 고려해야 할까 적어보았습니다 

 

궁금하시다면 아래의 링크를 클릭해주세요

 

2022.10.12 - [IT_Developer/About_Developers] - SI 개발자 프리랜서가 프로젝트를 선택할 때 무엇이 가장 중요할까?

 

SI 개발자 프리랜서가 프로젝트를 선택할 때 무엇이 가장 중요할까?

이전 글에서 개발자 등급별 단가에 대해서 급여 부분은 가장 민감하고 합당한 금액을 받아야 하기에 제 생각을 적어보았습니다 더 자세한 사항이 궁금하시다면 아래의 링크를 확인하세요 2022.09

tantangerine.tistory.com

 

 

하드코딩은 무엇일까?

 

개발자라면 다 알고 있으며 하드코딩이라는 이 단어를 정말 싫어할 것이다

 

왜 싫어하고 왜 하드코딩을 하는 것일까?

 

우선 하드코딩이란 무엇일까 사례를 살펴보면서 무엇인지 알아보자

 


 

하드코딩
하드코딩이란

 

 

비즈니스 업무에서 프로세스의 유연성이 없는 것이 하드코딩이다

 

비즈니스 업무에 프로세스를 진행함에 있어 유연성이 필연적이라고 할 수 있습니다

그 이유는 어떠한 행위를 하던 모든 것을 적용할 수 있어야 합니다

 

의류 쇼핑몰 플랫폼을 만들었다고 합시다

이 플랫폼은 에서 의류 매장을 연결하여 스마트 스토어처럼 판매한다고 합시다

 

그런데 이때 도매 사업 진출한다고 합니다

플랫폼에서 오프라인 매장에서는 납품받을 의류를 올리고

온라인 매장에서는 자신들이 판매할 의류를 올린다고 합니다

도매업은 플랫폼에 노출이 되지는 않지만 오프라인 매장에 의류를 납품하고 대금을 받아야 합니다

그래서 월별로 일정한 금액만큼 옷을 납품받기로 합니다

이 도매업의 비즈니스 업무를 추가한다고 한다면 

이 프로세스를 어떻게 추가해야 할까요??

 

매장별로 오프라인 매장과 온라인 매장을 구분하여

온라인 매장에 해당하는 의류만 플랫폼에 노출하고

오프라인 매장에 납품받을 의류들을 올리는 경우에는 노출하지 않게 하는 것입니다

그리고 이때 매장별로 상품을 적용하여 금액과 할인율을 다르게 표현하게 합니다

상품에 대한 매출이 발생하면 상품에 따라 정산을 진행하게 됩니다

 

이러한 프로세스를 정립하게 되었다면

오프라인 매장, 온라인 매장을 등록하고 매장별로 상품을 적용시켜 매출 정산을 진행합니다

이렇듯 유연성을 가진 이 프로세스는 플랫폼에서 고객들이 자유롭게 오프라인 매장을 등록할 때마다 

추가적인 작업이 없이도 업무가 가능할 것입니다

 

하지만 처음 온라인 매장만 있을 경우에서

프로세스를 정립을 하지 않고 개발자가 오프라인 매장을 추가할 경우 

추가할 오프라인 매장만 분기를 하여 그 매장만 노출을 하지 않는 쿼리를 새롭게 작성하여

오프라인 매장을 구성하게 된다면 정말 간단하고 빠른 시간 안에 완성할 수 있게 될 것입니다

 

하지만 이 경우에는 오프라인 매장이 추가될 때마다 분기를 추가해주어야 하며

담당자가 그만두거나 부재중이라면 어디서 추가를 하는지 알 수 없기 때문에

단 한 가지만이라도 하드 코딩된 곳을 찾지 못하고

추가를 못한다면 오류가 발생할 것입니다

 

이렇듯 하드코딩이 단순히 코드상 고정값이 들어가는 것이 문제가 아닌

어떠한 업무에 있어 프로세스를 정립할 경우

유연성이 없어 개발자가 추가해주어야만

프로세스가 진행되는 코드들이 하드코딩이라고 합니다 

 

 


 

이러한 문제점을 알면서도 왜 하드 코딩을 할까?

 

 

첫 번째는

정말 모르고 하는 개발자가 있다는 것입니다

필자도 한 번씩 왜 이렇게 코딩을 하느냐며,

프로세스를 정립하라고 조언을 합니다

그제야 그런 방법에 대해서 알게 되며 프로세스를 정립하기도 합니다

 

이것은 개발자가 비즈니스 업무에 대한 이해도가 없을 때 발생하는 현상입니다

프로젝트를 진행할 때 비즈니스 업무가 어떤 방식으로 진행되고 있는지

파악하는 것이 먼저이며 그것을 충실히 해야 하드코딩을 막을 수 있습니다

 

자신이 시작한 작은 하드코딩

후임 개발자는 큰 고난이라는 것을 명심하시고 개발하시길 바랍니다

 


 

두 번째는

위에도 잠깐 말했지만

귀찮거나, 시간이 없다는 핑계,

그 업무에 대해서 단발성으로 취급해버리기 시작하면서

시작된 작은 하드코딩업무가 점점 커져버리면서

걷잡을 수 없게 됩니다

 

운영을 하고 있다면 더더욱 변경하기 힘들어지며

한번 수정 시기를 놓치면 그것은 암흑의 동굴로 빠지게 될 것입니다 

 

누군가 시작한 하드코딩을 프로세스 화하기에는

운영 업무에서 사이드 이펙트가 엄청 크기 때문에 고치기 어려운 점이 있습니다

그래서 필자는 하드코딩을 보면 바로바로 개발자에게 수정 요청을 하며

필자가 개발한 코드에 누군가 하드코딩이 작성한다면 바로 수정합니다

 

자신이 작성한 코드에 자신의 이름을 기입하기에

저의 코드에 하드코딩이 있다는 것을 용납할 수 없습니다

 

이렇듯 마지막 자존심이라고 생각하시고

하드코딩을 하지 않기를 바랍니다

 


 

 

오늘은 하드코딩에 대해서 이야기해보았습니다

이것 또한 지극히 주관적인 이야기입니다

하지만 하드코딩은 좋은 것이 아니기에

하지 않는 것이 좋다는 것은 확실합니다

 

앞으로 좋은 마인드로 개발할 수 있도록 힘내시고

귀찮더라도 프로세스를 정립하고

시간이 없더라도 프로세스를 정립하는 것이

추 후에 시간을 아낄 수 있는 일이란 것을 알아 두셨으면 합니다

 

아직 IT 대모험은 끝나지 않았으니 힘내시고

더욱 정진할 수 있는 마음가짐을 갖도록 노력합시다

그럼 담에 또 봐요~

 

 

728x90
반응형
728x90
반응형

이전 글에서 개발자 등급별 단가에 대해서

 

급여 부분은 가장 민감하고 합당한 금액을 받아야 하기에

 

제 생각을 적어보았습니다

 

더 자세한 사항이 궁금하시다면 아래의 링크를 확인하세요

 

 

 

2022.09.05 - [IT_Developer/About_Developers] - IT 프리랜서 SI 개발자 초급, 중급, 고급 단가는 얼마나 될까?

 

IT 프리랜서 SI 개발자 초급, 중급, 고급 단가는 얼마나 될까?

이전 글에서 SI 프리랜서 개발자의 인력난에 대해서 최근 개발자 관심이 높아지면서 프리랜서의 정규직 전환이 많아졌습니다 그래서 프리랜서가 필요한 프로젝트에서는 인력난으로 단가도 높

tantangerine.tistory.com

 

 

 

SI 개발자가 프리랜서로 일할 경우에 프로젝트를 선택할 때 고려해야 하는 사항이 무엇일지

저만의 주관적인 생각을 적어보려 합니다

 

 

SI 개발자가 프리랜서로 일할 경우에 자신만의 프로젝트 선택 기준이 있을 것입니다

필자는 여러 가지 항목 중 단가, 비즈니스  업무, 개발 단계, 프로그래밍 언어, 프로젝트 환경 4가지 정도를 고려합니다

 

4가지에 대해서 왜 중요한지 말해 보도록 하겠습니다

 

 


 

첫째, 자신의 합당한 가치에 대한 단가

자신의 포지션에 합당한 대가를 받을 수 있는지에 대해서 생각합니다

고급이면 고급, 중급이면 중급의 단가가 책정되어있으며,

그 책정된 단가가 자신에게 합당한 지 잘 생각해보는 편입니다

 

물론 개발, 유지보수, 운영 별로 책정 기준이 다르며,

업무 강도가 얼마나 되는지도 단가 협의에 고려대상이 됩니다

 


 

둘째, 고급, 특급에 무엇을 할지 생각

SI 개발자는 일반 개발자와 다른 점이 여기에 있습니다

대기업을 상대로 어드민 사이트를 개발하다 보면

대기업의 주축 사업과 그 사업에 필요한 관리 업무를 프로세스화 하는 작업을 많이 합니다

업무는 물류, 정산, 인사, 회계, 은행, 보험 등 여러 가지가 있습니다

그에 따른 비즈니스 업무는 어느 정도 정형화되어 있으며

경험이 축적되면 여러 가지 요건에 대응하는 유연성도 높아지게 됩니다

 

그러기 위해서는 초급, 중급 때부터 고급, 특급이 되면 어느 비즈니스 업무를 할지

미리 생각해두고 공부하면서 준비를 해야 합니다  

 


 

셋째, 프로그래밍 언어의 중요성

프로그래밍 언어는 계속 변화해가고 있습니다

프런트 단은 vue.js, react.js 넥사크로 등

백단은 java, node.js 등

 java에서 사용하는 데이터 베이스 프로그래밍 프레임워크인 MyBatis 등

node.js에서 사용하는 express, sequelize 등

데이터 베이스 Oracle, MySQL 등

 

정말 수많은 프로젝트에서 여러 가지 언어들을 사용하고 있습니다

프로젝트를 하면서 여러가지 언어를 배우는 것도 좋고 실무경험을 쌓는 것도 좋기 때문에 고려대상이 될 수 있습니다

하지만 언어를 모른 채 들어가서 날코딩으로 작업을 해놓은 파일들을 보면

조금은 공부하고 가는 것이 좋을 것 같습니다

 

이것은 다음 포스팅에서 SI 프로젝트의 실태라는 주제로 글을 작성해보겠습니다

 


 

넷째, 자신의 워라벨을 위해

프로젝트 환경은 정말 중요합니다, 월차 사용할 수 있는 팀 분위기와 출퇴근시간, 야근 및 잔업 등

이런 것들은 뭐 설명을 안해도 다들 아실 것이라 생각합니다

 

 


 

이렇듯 필자는 여러 가지 요인들을 생각합니다

그중 단가와 비즈니스 업무가 무엇인지를 많이 보는 편입니다

 

단가를 협상할 경우에는 그 프로젝트 상황에 맞게 받는 것이 좋다고 생각합니다

운영 중인 서비스에서 개발업무가 많다면 개발업무를 하면서 운영 단가를 받게 된다는 것이며,

운영을 하면서 개발을 하는 것은 사이드 이펙트를 신경 써야 하는 부분이 많기에

쉬운 일이 아닙니다 그래서 다른 장점이 아니라면 선호하지 않습니다

그 이유는 개발 프로젝트에 투입해서 합당한 단가를 받아서 같은 업무를 할 수 있기 때문입니다

 

필자도 비슷한 상황이 있었습니다

지인의 소개로 프로젝트 면접을 보고 협상을 진행했습니다

운영 업무인지 모르고 진행되었던 면접이라 

면접 후 유선상으로 협상을 하는 과정에서 운영 단가로 책정되며

개발일이 너무 많아서 개발일도 할 수 있다며 장점을 내세우며,

개발환경도 신기술을 사용해서 배울 점이 많다는 점을 내세웠습니다

하지만 운영 단가를 책정하고 개발업무를 한다는 것이 장점이 될 수 있을까라는 생각을 하였고

면접 담당  PM이 운영 단가를 주고 개발을 하겠다는 마인드도 그렇게 좋게 받아들이기가 힘들었습니다

 

배울 점이 있다는 것은 좋은 요건이지만 

어느 프로젝트든 배울점이 많이 있으며 그것을 장점이라고 단가를 낮게 주겠다는 이야기는 

납득이 되지 않았습니다

 

 

그리고 두 번째로 비즈니스 업무 경험을 쌓기 위해 노력하고 있습니다

그 이유는 고급을 넘어 특급을 갈려고 한다면, 한 가지 업무를 집중해서 분석/설계까지 할 수 있는 능력을 보유해야 합니다

그러기 위해서는 웹 개편 고도화등 단순 개발 코딩 업무는 피하는 것이 좋다고 생각합니다

 

비즈니스 업무 경험을 쌓다 보면 대기업의 여러 가지의 요건을 경험하면서 대응력을 기르는 것이 중요하다고 생각합니다

SI 개발자 프리랜서는 고급과 특급으로 올라가려면 데이터 모델링이 필수라고 생각합니다

개발자로 남아서 개발을 하고자 하는 것도 좋지만

나이가 들고 계속 개발자로 일하는 것은 한계가 있다고 생각합니다

 

  하지만 지금 현재 나이가 많은 신 부장도 개발자로 일을 하는 현상이 보이기에

어느 것이 좋다고 말은 할 수 없지만

필자인 저는 모델링을 공부하는 것이 좋다고 생각하고 있습니다

 


 

프로젝트 선택할 경우 4가지 고려사항을 적어보았습니다

이것은 지극히 주관적인 필자의 생각입니다

정말 말도 안되는 이야기일 수도 있으며

다른 사람관점에서는 아니다라고 할 수도 있겠지요

 

그러니 자신의 생각을 댓글로 적어주시며 공유하였으면 합니다

그럼 오늘도 즐거운 하루되시길 바라며

우리의 IT 대모험을 계속되기를 ~

 

 

 

 

  

 

 

 

 

 

728x90
반응형
728x90
반응형

프리랜서 개발자 시장 인력이 부족한 이유는?

 

코로나 시대에 접어들고

비대면 서비스가 늘어나면서 IT 업종에 대한 관심도가 높아졌다

여러 기업들이 IT에 대한 역량을 키우기 위해 애썼고

그 결과를 반영하듯 IT기업은 사상 최대 실적을 기록했다

 

그중 배달의 민족, 당근 등 IT기업들도 같이 성공을 거두면서

그 열기는 더욱 뜨거워졌다

 

그 많은 자원들은 다시 여러 신생기업에 투자가 일어났고

신생 스타트업들도 투자받은 돈으로  개발자 규모를 늘리기 시작했다

 

아래의 자료를 보더라도

그때 당시 채용규모는 작다고 말할 수 없는 정도이다

지금 보이는 기업들이 이 정도이니

다른 신생업체와 대기업들까지 포함한다면

it 개발자만 뽑는 채용규모가 정말 큰 규모가 아닐 수 없다

 

 

개발자-채용규모
2020 개발자 채용규모

 

 

당연히 대기업들도 개발자 채용을 늘리기 시작했으며

네 카 라 쿠 배라는 말까지 생길 정도였다

 

그런데 이러한 것이 프리랜서 시장에 왜 영향을 주었냐는?

조금 의아할 부분도 있겠지만

조금만 생각하면 그것은 당연한 결과 일지도 모른다

 

IT기업이 아닌 대기업들도 IT팀이 있으며,

그런 기업들은 자기 계열사에서 진행하는 프로젝트를 맡아서 진행을 한다

 

즉 사업을 하기 위해서

필요한 업무에 대한 시스템을 구축하는 것이다

이러한 프로젝트는 대규모이고 단발적이라서 프리랜서 고용률이 높은 편이다

그런 프로젝트에서 프리랜서 중에서 마음에 드는 개발자에게

스카우트 제의를 하는 경우도 있다

그렇게 프리랜서들이 대기업에 취업이 되고

아니면 대기업의 대규모 개발자 채용을 하면서 

이직하는 프리랜서도 늘어났을 것이다

 

그렇게 프리랜서가 부족한 현상이 나타나면서

 중급 고급 개발자들을 구하기 힘들게 되고

프리랜서 개발자 단가까지 높아지는 현상도 나타났다

 

 

아래에서 보면 소프트웨어 기술자 월평균 임금을 알 수 있다

 

개발자-평균임금
개발자 평균 임금

 

 

이렇게 많은 임금들이 올라가고 있고

프리랜서도 그 영향을 많이 받는다

 

하지만 지금은 상황이 조금 변한 것 같다

실적이 좋은 상황에서 채용한 개발자들로 인해

카카오 인건비 47% 네이버도 24%가 부담이 늘어났다는 

기사들을 볼 수 있다

 

 

 

개발자임금부담
개발자 임금 부담 - 황정수 기자 hjs@hankyung.com

 

 

 

인건비증가
증가하는 인건비

 

 

 

인건비가 늘어나는 건 확실하다

하지만 정말 위의 회사들이 이 정도의 인건비가

부담이 될만한 수치일까 하는 것이다

 

내부 사정은 잘 모르겠지만

지금 현재 당장은 안 좋아 보일지는 몰라도

기간이 어느 정도 지나면

이 수치는 부담이 될 정도는 아닐 것 같다

 

지금 부담돼서 하반기 채용을 줄이는 기업들도 있지만

그럼에도 불구하고 오늘의 집, 현대 오토에버와 케이 뱅크 등

경력채용과 신입 채용을 늘리는 기업들도 있다

 

기업마다 상황이 다르지만

코로나 시대에 늘린 채용이

지금 현재는 인건비가 부담이 되는 것은 확실한 것 같다

 

언제까지 임금이 오를지

채용이 계속될지는 모르지만

 

지금 이 상황은 개발자들에게 좋은 소식인 것은 분명하다

 

앞으로 국가 정책으로도 

초등학교의 코딩이 정규 교육으로 지정받으면서

인재 양성에 노력하는 모습을 보이고 있다

한 분야를 관심을 갖는다는 것은

기쁜 일이 아닐 수 없다

 

앞으로도 테크산업이 많은 성장을 하길 바라본다

728x90
반응형

+ Recent posts

Powered by Tistory, Designed by wallel