개발자란 무엇일까?

2022. 1. 1. 23:43잡다한 IT

 

개발자란 무엇일까?
우리가 당장 사용하는 홈페이지만 해도 글쓰기, 삭제, 저장, 불러오기, 로그인, 회원가입 등등 엄청나게 많은 기능들이 있다. 그리고 이 모든것을 사용자가 눈으로 볼 수 있도록 만들며 관리자가 관리하고 이 데이터를 어떻게 사용할것인지에 대해 고민한다.

개발자의 분야는 크게 4가지로 나뉘어 진다.
사용자(이하 client)가 보는 모든 화면을 클라이언트단 이라고 하며 이 클라이언트를 개발하는 개발자를 프론트엔드 개발자 라고 한다.

사용자가 사용하는 모든 기능들의 로직을 관리하는, 보이지 않는 뒷 부분을 관리하는 백엔드 개발자가 있다.

이런 모든 서비스가 안정적으로 돌아갈 수 있는, 인프라 전반을 개발하는 개발자를 데브옵스 개발자 라고 하며 

모든 활동을 통해 만들어진 데이터를 사용가능한, 활용가능한 정보로 바꾸는 개발자인 데이터 사이언티스트가 있다.

일반적으로 사용자는 프론트, 백엔드 개발자와 자주 접하게 된다.
어떤 홈페이지에서 가장 먼저 사용하는 기능중 하나인 회원가입을 생각해 보자.

프론트엔드 개발자는 
먼저 HTML과 CSS그리고 JAVA등으로 사용자가 시각적으로 보는 화면을 먼저 구성해야한다.(모바일과 pc는 각각 앱 프론트엔드 개발자, 웹 프론트엔드 개발자 라고 불린다.) 그리고 버튼을 클릭하면 다음 페이지로 넘어가고, 

이제 이 정보를 벡엔드 개발자가 만든 로직으로
회원가입시 ID,PASSWORD 등 사용자가 기입하는 모든 정보가 문제가 없는지 먼저 확인하고(특수문자, id가 곂치는지, 빈칸은 있는지, 등등) DB로 발송이 되어 저장이 되고, 이후 로그인, 로그아웃이 잘 되야 할 것이다. 이런 일련의 과정은 '서버'라는 컴퓨터에서 이루어 진다.

데브옵스 개발자는 
이제 사용되고 있는 서비스와 서버에 대해 관리해야한다. 사용자가 많아지게 된다면 서버를 증설하고, 줄어들면 서버를 축소하는 등 고객의 증감에 따라 자동적으로 서비스가 원할히 이루어지는지 등등 개발과 운영(development and operation)을 연계하여 다양한 기능을 설계하고 만들어야 한다.

* 인프라 개발자와는 약간 궤를 달리한다. 기본적으로 인프라 개발자는 프로그렘 에러를 직접적으로 고치는것이 아니며 인프라 개발자가 하는 업무를(서버 스케일 in/out 배포 등등)을 자동화 하여 개발자 스스로 운영할 수 있는 환경(개발에만 집중할 수 있는)을 구축하고자 한다.

마지막으로 데이터 사이언티스트는 축적된 데이터(로그인 시간, 로그아웃 시간, 사용자가 주로 보는 화면, 서비스 등등 수집될 수 있는, 가공되지 않는 데이터)를 규합하여 통계화 시킨다. 그렇게 된다면 사용자가 주로 어느 시간대에 접속하여 어떤 서비스를 주로 사용하는지 파악하여 단순한 데이터 덩어리를 사용가능한 정보로 변환시켜 마케팅에 사용한다.

*주로 데이터 파이프 라인에서 작업을 하는 데이터 엔지니어, 통계적으로 분석하는 데이터 분석가, 이런 정보에서 유의미한 모델을 추출하는 데이터학습, 즉 머신러닝 이렇게 3가지 파트로 나뉘어 진다.



'잡다한 IT' 카테고리의 다른 글

JSON? 제이슨? 제이슨!  (0) 2022.01.12
프론트와 벡엔드는 어떻게 서로 통신할까?  (0) 2022.01.02
Log4J 문제의 후속내용(업데이트재귀...?)  (0) 2021.12.27
LOG4J(log4 shell)이슈  (0) 2021.12.23
2.4GHz vs 5GHz  (0) 2021.10.07