티스토리 뷰

반응형

작년에 한창 알고리즘 공부를 하고 있을 때 보았던 백엔드 개발자 로드맵이다.

꽤 유명한 로드맵이라서 개발자에 관심이 있는 분들이라면 한 번 쯤은 접해봤을 로드맵이라고 생각된다.

처음 마주했을 때 정말이지 들어본적도 없는 용어에 기술들이 되게 많이 집합되어 있어서 잠시 앞날이 깜깜해 보였었는데,

원하는 결과를 얻기 위해서면 새로운 지식과 끈기를 가지고 기어코 얻어내려는 내 기질과 함께한다고 생각하니 이 정도 로드맵을 내 것으로 만드는 것은 어쩌면 그리 머지 않은 미래이지 않을까라는 용기가 생기는 것 같았다.

 

어떤 백엔드 개발자가 되고 싶을까

1. 끊임없이 배우며 발전하는 개발자

 

웹쪽은 아니고 게임쪽이지만 중학교 때 게임툴 엔진으로 2개의 게임을 만든적이 있고,

고등학교 때는 유니티 엔진을 이용해 모바일 게임을 만들어 본적이 있었다.

 

최근들어서는 블리자드의 스타크래프트라는 게임의 유즈맵이라는 유저들이 직접 커스텀해서 만드는 것이 있는데

이를 만들기 위해선 UI를 제외한 거의 모든 것이 코드로 돌아간다.

코드를 작성하는 프로그램은 자바스크립트 + 파이썬 기반의 문법을 이용하여 작성하도록 되어있어서

처음 사용자가 작성하려고 하면 제로베이스부터 시작하는 것이기 때문에

이것저것 다양한 자료들을 습득하고 적용하여야 그제서야 코드를 작성해 나갈 수가 있다.

여기에 더해 내가 원하는 결과물을 도출하기 위해서면 그 이상의 데이터를 습득해 응용해나가야만 얻을 수 있는 것이었다.

 

그렇게 끈기를 가지고 여러번의 시행착오를 겪어가면서 많은 것들을 구현할 수 있었고

실제로 내가 작성한 코드가 그제서야 제대로 돌아가는 것을 보았을 때

정말이지 짜릿한 감정이 들지 않을 수가 없었다

 

이런 사례들을 겪고나니 포기하지 않고 끊임없이 도전하였을 때

그 험난한 과정을 보상하는 스스로의 역량이 향상되는 '결과물'이 기다리고 있다는 것을 알게되었다.

그러니 나는 끊임없이 배우며 발전하고 싶다.

 

2. 가독성과 효율성이 좋은 코드를 작성하는 개발자

 

코드를 작성하다보면 가독성은 생각하지 않고 그저 생각대로만 짤 때가 있다.

 

시간적인 측면에서의 효율성은 무의식적으로 이렇게 이렇게 짜야겠다! 라는 생각이 내재되어있는데

공통된 기능을 작용하게 하는 코드들을 메소드로 빼놓지 않는다던가

변수명을 어렵거나 애매모호하게 작명한다던가

코드 블럭을 최소화시킨다던가

하는 그 외의 측면들은 잘 고려하지 않는 것 같다.

단독으로 코드를 작성해본 경험이 절대다수다 보니까 아마 내 중심적으로 작성하는 버릇이 생겼던 것 같다.

 

이렇게 가독성과 효율성이 떨어지는 코드를 현업에서 작성하면 

협업할 떄도 문제가 생기고 내가 이직을 해 다른 개발자분이 들어와 유지보수를 할 때에도 문제가 생기게 된다.

그러니 이를 애초에 방지하고자 가독성과 효율성이 좋은 코드를 작성하는 개발자가 되고 싶다.

 

3. 커뮤니케이션을 잘 할 수 있는 개발자

 

개발자에 관심을 갖다보면 이런 말을 수도 없이 들어봤을 것인데

'개발자에게 커뮤니케이션은 왜 중요할까?' 이다.

 

우선 커뮤니케이션은 나의 머리속에 있는 생각을 상대방에게 전달하는 것이다.

그런데 상대방이 모르는 것을 전달하고자 할 때에는 나는 알고 있는 개념이지만 상대에게는 그러한 개념이 존재하지 않기에 커뮤니케이션 하는 것이 어렵게만 느껴질 것이다.

 

만약 커뮤니케이션이 좋아 이를 쉽게 전달할 수 있는 능력이 있다면

개발 업무에 차질이 생기지 않을 수 있게하고 막혔던 문제를 훨씬 빠르게 풀릴 수 있게 할 수 있을 것이다.

 

그러니 커뮤니케이션을 잘 할 수 있는 개발자가 되고 싶다.

반응형
최근에 올라온 글