일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 유효성검사
- 스프링부트실전가이드
- 백엔드공부
- MariaDB
- DAO 연동 컨트롤러 서비스 설계
- 백엔드
- 프로젝트 생성
- ORM
- 데이터베이스 연동
- 제로베이스 #백엔드 #Java #Spring #개발자 #백엔드공부 #백엔드 스쿨
- validated
- 제로베이스
- 스프링 부트 핵심 가이드
- spring
- JPA
- 개발자
- auditing
- Java
- 리포지토리 인터페이스
- 백엔드스쿨
- Swagger
- 인텔리제이
- DAO 설계
- 엔티티 설계
- #devops #terraform #state
- Today
- Total
JeongJin's Blog
백엔드 신입 개발자가 쌓아야 하는 역량은? - 자료구조/알고리즘/코딩테스트편 본문
신입 개발자가 쌓아야 하는 역량에 대해 이야기 해보려 한다.
1. 자료구조
- 컴퓨터 관련 학과를 재학중이거나 졸업한 분들은 자료구조 수업을 듣게 된다.
1. 저의 기억으로 처음에 배우는 자료구조는 배열이다. 반복문을 통해서 1차원 배열, 2차원 배열을 배우면서 이중 for문에서 포기하는
학생들도 간혹 있다. (그게 바로 나...ㅜㅜ)
가장 기본이 되는 자료구조 이면서 실무에서도 많이 쓰이기 때문에 필수로 이해하고 기억해야 한다.
2. 스택/큐
정보처리기사에서도 단골로 나오는 자료구조이다. 자격증 시험 공부를 위해 개념적으로 LIFO와 FIFO를 외웠지만 실무에서도 사용
하는 경우도 있으니 알아두면 유용하다.
3. 리스트
실무에서는 데이터 사이즈가 정적이지 않기 때문에 배열 사용 시 한계가 있다. 예전에는 메모리에 대한 걱정이 없었기 때문에 배열 정
의 시 메모리를 크게 할당하여 코딩하였지만, 클라우드 시대에는 메모리를 적절하게 사용해야 하므로 리스트를 이용해야 하므로 알아
두면 좋다.
4. 해쉬테이블
배열, 리스트 경우 순회를 통해서 해당 값에 접근하다 보니 데이터가 큰 경우 성능 이슈가 있을 수 있는 부분을 보완하는 자료구조라
고 생각한다. 실무에서도 많이 사용하기 때문에 해쉬의 개념을 잘 익혀두면 유용할 거 같다.
- 신입 개발자라면 이정도만 알아도 실무를 진행하는데 크게 문제는 없다고 판단한다.
2. 알고리즘
- 백트래킹, 정렬, 이진탐색 등 다양한 알고리즘들을 알아두면 좋지만 어떤 프로그래밍을 하냐에 따라서 알고리즘은 사용 빈도가 많지 않
을 수 있다라고 판단한다.
- 웹 백엔드 개발의 경우 데이터 베이스를 이용하여 서비스를 구현하다 보니 SQL 문을 통해 이미 가공된 데이터를 조회 하므로 알고리
즘 사용 빈도가 높지는 않다.
- 네트워크나 자율주행 등 관련 서버 개발의 경우에는 필수라고 생각이 되기 때문에 본인의 포지션에 맞는 알고리즘을 공부하는게 효율
적이라고 생각한다.
- 코딩 테스트를 통과하기 위한 알고리즘을 먼저 공부하는게 효율적이다.
3. 코딩 테스트
- 코딩 테스트는 많은 문제를 접하면서 본인의 것으로 만드는게 중요하다고 생각한다. 많은 플랫폼이 있지만 제가 경험한 플랫폼은 프로
그래머스와 LeetCode 였던거 같다.
마지막으로 위 3가지와 별개로 신입개발자에게 중요한건 인내심, 의지, 인성이라고 생각한다.
제가 경험한 신입개발자들은 인성이 좋은 사람도 있지만 어느정도 숙달된 경우에는 본인 실력이 우수하다고 생각하여 윗사람에 함부로 대하는 개발자들도 간혹 있다.
하지만 결국 본인도 세월이 지나면 그 위치가 될 것이고, 본인에게도 그대로 돌아올 것이기 때문에 아래 또는 윗사람에게 의견 부분이 충돌하더라도 존중과 배려를 통하여 일을 진행하다 보면 실력은 물론이거니와 인성도 퍼팩트한 개발자로 성장할 것으로 생각한다.
'백엔드' 카테고리의 다른 글
앞으로의 백엔드 공부 계획 (0) | 2023.08.22 |
---|---|
백엔드 커리어 로드맵 - 어떤 백엔드 개발자가 되고 싶은지 (0) | 2023.08.18 |
프론트엔드와 백엔드 차이 - 백엔드 개발자가 되고 싶은 이유 (0) | 2023.08.06 |