ABOUT ME

-

Today
-
Yesterday
-
Total
-

Post Calendar

«   2024/09   »
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
  • 백엔드 커리어 로드맵 - 어떤 백엔드 개발자가 되고 싶은지
    고찰 2024. 3. 21. 12:53

    📌 백엔드 로드맵

     

    🔸 프로그래밍 언어와 데이터베이스(DB)

    • 백엔드를 비롯한 개발의 출발점은 프로그래밍 언어와 데이터베이스에 대한 이해
    • 내가 구축(사용)하고자 하는 서비스에 부합하는 혹은 직군에서 제일 많이 사용되는 언어를 학습
    • 선택한 언어에 대해 깊이 있는 이해를 바탕으로 데이터베이스와의 상호작용, 데이터 모델링 등을 학습

    🔸 프레임워크와 라이브러리 및 개발툴 활용

    • 프레임워크 및 여러 개발툴 등은 백엔드 개발자의 생산성을 높여준다.
    • 예로 들면, Java는 Spring, Node.js는 Express 등 프레임워크를 사용하여 데이터베이스와의 상호작용, RESTful API 구축, 보안 등을 학습
    • 버전 관리(Git)과 협업 도구(Jira, Slack) 등을 활용하는 방법도 중요

    🔸 클라우드 기술

    • 현재 백엔드 개발은 클라우드 기술과 밀접하게 연관
    • AWS, GCP, Azure 등 클라우드 서비스를 기반으로 애플리케이션을 배포하고 관리하는 CI/CD 방법 중요
    • 컨테이너(Docker, 쿠버네티스 등)을 이해하고 활용하는 것도 중요

    🔸 보안 및 성능 최적화

    • 애플리케이션의 보안과 성능은 항상 주의를 요하는 중요하는 문제
    • 보안 취약점을 방지하고 성능을 최적화하기 위한 방법을 학습
    • 보안 관련 도구 및 프레임워크를 사용하고, 코드와 인프라를 강화하는 방법을 고민

    🔸 지속적인 학습과 커뮤니티 참여

    • 최신 기술과 트렌드를 지속적으로 접할 기회를 많이 만들 것
    • 지속적인 학습과 커뮤니티 참여를 통한 다른 개발자들과의 지식 공유 및 네트워킹 가능
    • 스터디 그룹, 온라인 커뮤니티, 개발 및 컨퍼런스, 세미나 등을 통해 지식을 확장하고 새로운 아이디어 도출


    어떤 백엔드 개발자가 되고 싶니?

    1. 문제 해결을 끈기있게 도전하는 역량

    • 한국농어촌공사 저수지 수위 측위 시스템 웹 페이지를 개발하면서 UI에 부트스트랩을 적용하였고, 수집 데이터 서버로부터 Webhook을 사용해 사내 서버로 데이터를 Json 형식으로 수신해 웹 가시화를 하는 부분이 입사 초기에 많이 어려웠고, 500 Internal Server Error와 데이터 타입에 대한 여러 오류 등이 많이 발생하였다. 발생하는 오류에 대해서 구글링과 Stack Overflow에 관련 자료 등을 찾아보면서 해결해 나갔다. 해결하는 과정을 많이 거치다보니 다른 새로운 에러와 문제들이 발생하더라도 능동적으로 문제를 해결할 수 있는 방법을 알게 되었고, 직접 부딪히면서 해결하고 나면 자부심이 생겨났다. 

    • 발생한 오류들을 해결하는 과정에서 새로운 라이브러리 도구들과 로직들을 접하게 되었고, 이를 통해 스스로의 역량을 향상시키며 학습 과정에서 문제들을 지속적으로 끈기있게 도전하는 역량을 배웠다. 이 점은 앞으로도 내가 개발자로 일하는동안 성장 동력으로써 꾸준히 발전해나가고 싶은 부분이다.

    2. 새로운 기술에 열려있는 자세

    • 개인적으로 생각했을 때, 프론트엔드 개발은 시각적으로 보다 직관적이며 사용자와의 상호작용이 더욱 빈번하게 발생하는 경향이 있다. 이에 따라 새로운 프론트엔드 기술이 더 자주 등장하고, 프레임워크와 라이브러리의 업데이트가 신속한 것 같다. 반면, 비교적 백엔드는 데이터 처리, 서버 관리, 시스템 아키텍처 등에 집중하며 발생하는 이슈들을 처리하고, 기존 프로젝트 요구사항과 업무 범위 내에서 기술을 더욱 강화시키는데 집중하는 측면이 있다. 

    • 그럼에도 불구하고, 현대 소프트웨어 개발 환경에서 서로 다른 기술 스택 간의 통합과 협력은 필수적이라고 생각한다. 주어진 개발환경에서 안주하고, 도태되기보다 기술 발전 속도가 빠르게 변화함에 따라 새로운 기술과 도구들이 계속해서 등장하기 때문에 항상 최신 동향을 파악하고 적용하는 자세를 갖을 것이다.

    3. 협업과 커뮤니케이션 능력

    • 팀원과의 협업은 필수적이다. 원활한 커뮤니케이션은 프로젝트의 성공에 큰 영향을 미친다. 예전 오늘의 집 개발 테크 리더분께서 실제 팀 개발 문화에 대해서 말씀 하신 것을 들은 적이 있었는데, 그 중 가장 큰 문화 키워드가 '오버 커뮤니케이션' 이었다. 다른 사람들이 보통 생각했을 때 정말 쓸데없는 개발 외적인 이야기들부터 프로젝트에 관련된 개발에 있어서 딥한 이야기까지 격없이 말을 수없이 많이 한다는 것이다. 

    • 개인적으로는 부정적인 면보단 긍정적인 이점을 더 많이 생각하게 되었다. 중요한 정보들을 계속해서 공유함으로써 조직 내부의 투명성을 높이고, 팀원들과 업무 진행 상황과 겪고 있는 현재 다양한 이슈들을 알 수 있고, 그룹장은 더 나은 의사결정을 신속하게 내릴 수 있겠다는 생각이 들었다. 팀원들간에도 더 많은 상호작용이 이루어지고, 서로에 대해 이해와 신뢰를 증가시킬 수 있겠다. 이를 통해 팀의 협업과 조화를 촉진하고, 문제 발생 시 적극적인 해결과 다양한 아이디어를 도출해 효율적인 개발 팀 문화를 정착시켜나갈 수 있는 이점을 제공할 수 있을 것 같다. 따라서 본인도 효과적인 협업과 커뮤니케이션을 통해 팀원과의 관계를 강화시키고, 이타적으로 팀원이 겪고 있는 문제를 같이 고민해볼 수 있는 깐부 역할을 하고 싶다.
       

    4. 사용자 중심의 마인드셋

    • 사용자 중심의 마인드셋은 서비스를 개발할 때 핵심이 되는 접근 방식이다. 사용자의 요구사항과 경험을 중심으로 개발하는 것을 의미한다. 피드백을 소중히 여겨 서비스를 출시한 후에도 지속적으로 사용자들의 의견을 수집하고 분석하여 개선하는 방법을 모색해야 한다. 이를 통해 요구사항에 더욱 적합한 솔루션을 제공하고 지속적인 만족감을 유지시킬 수 있다. 

    • 개발자로서 단순히 기술적인 문제 해결에만 집중하는 것이 아니라 사용자들의 경험과 만족을 중심으로 서비스를 개발하는 것을 목표로 삼고 싶다. 사용자들의 신뢰를 얻고 지속적인 성공을 통해 스스로도 무한한 성장과 발전을 이루어낼 수 있겠다. 

    5. 지속 성장하는 성실성

    • 내가 스스로 가장 중요하게 생각하는 가치 중 하나는 성장성이다. 지속적인 성장과 성실성은 직무 수행 능력을 향상시키는데 가장 크게 일조하며 새로운 기술들을 습득하고 문제들을 해결하는 과정에서 얻은 경험과 지식은 개발자의 전문성을 높이고, 업무를 효율적으로 수행하는데 도움이 된다. 자기계발과 성취감을 높이는 데에도 큰 도움이 되는데, 지속적인 노력과 열정을 가지고 성장하고 발전해 나가는 과정을 통해 사용자들의 요구사항과 니즈를 충족시키고 싶다. 단순히 코드를 작성하는 것 이상으로 개발을 통해 가치를 창출하고, 그 가치를 같이 만들어가는 사람들과의 협업, 그 가치를 이용하는 사용자들의 만족감을 충족시켜 그들의 삶을 더 나은 방향으로 이끌어 나가고 싶다.

     

    댓글

Designed by Tistory.