안녕하세요 👋🏻  글로벌미디어학부 17학번 공병주입니다!

저는 2022년에 10개월동안 배달의 민족에서 진행하는 개발자 양성 교육 과정 우아한테크코스에 참여했어요. 과정에 참여하면서, 학부 생각이 많이 나더라고요. ‘이런 것들은 학부에서 절대 배울 수도 없을텐데..’ , ‘알려주는 선배도 없을텐데..’

그래서, 학부 밖, 학교 밖에서 공부하고 배운 지식들을 여러분들에게 공유하고자 스터디를 하나 열게되었습니다!

백엔드 개발자 되고 싶은데 혹은 백엔드 개발에 관심이 있는데 어떻게 시작해야하지..🤔🥲

IT 기업에서 일하는 개발자를 꿈꾸고 계시다면, 아래 4개는 필수적으로 첫걸음에 공부해야하는 것들이예요!

Java, OOP, Clean Code, Test

Java

여러분들이 생각하는 IT 기업 (ex. 네카라쿠배당토직야)에서는 대부분이 Java를 기반 Framework인 Spring으 로 서버가 구축되어 있어요. 따라서, 한국에서 백엔드 개발자를 하려면 Java 공부를 하는게 좋겠죠?

백엔드 개발을 한다고 무작정 Spring, JPA를 공부하는 사람도 있는데, 이들도 다 Java로 만들어졌기 때문에 결국 Java는 필수적으로 탄탄히 해야해요! Java를 못하는데 Spring과 JPA를 잘하는 것은 말도 안되는 일이고 무조건 Java를 잘 다뤄야지 Framework와 ORM 등을 잘 사용할 수 있습니다.

OOP(객체 지향 프로그래밍)

프로그래밍 언어마다 패러다임이 존재하는데요. Java의 패러다임은 OOP(Object Oriented Programming)입니다. OOP는 프로그램 유지보수 관점에서 상당히 중요해요. 프로그램의 기능 요구사항이 바뀜에 따라, 코드도 변경되기 때문에 최대한 변경에 대응하기 쉬운 코드를 짜는 것이 중요해요. 이를 돕는 것이 OOP 패러다임이고요! 실제로 회사에서 객체 지향 세미나도 많이 할만큼 객체지향은 근본 중에 근본입니다~!

Clean Code

컴퓨터가 이해할수 있는 코드는 어느 바보나 다 짤수 있다. 좋은 프로그래머는 사람이 이해할 수 있는 코드를 짠다. - 마틴 파울러

Untitled

결국 개발은 혼자하는 것이 아니라 조직원들과 함께 하는 것인데요. 따라서, 남의 코드를 잘 읽고 이해하는 것이 중요해요. 반대로 생각하면, 누군가 내 코드를 읽었을 때 잘 읽히고 잘 이해되는 것이 협업하는 과정에서 중요하겠죠? 따라서, 개발자에게 요구되는 기본적인 역량 중 하나가 Clean Code, 깔끔한 코드를 작성하는 것입니다!

Test And TDD(Test-Driven Development)

Test라는 개념에 대해 다들 생소하실거예요. 학부 생활 중 어떤 프로그램을 만들 때, 본인이 올바르게 프로그램을 만들어가고 있는지 확인하기 위해서는 main 함수를 실행시켜서 직접 값들을 입력하고 눈으로 확인했을거예요.

지금은 비교적 간단한 기능들을 프로그램으로 만들었기 때문에 main 함수를 실행해서 console에 값을 입력하면서 Test 하는 것이 가능했을거예요. 하지만, 여러분들이 나중에 큰 프로젝트(졸업작품부터 시작해서..)를 해나간다면 체크할 케이스들이 많아지고 main함수 실행 + console 입력을 통해 모든 케이스를 다 확인하기는 것은 불가능해요.

따라서, 아래와 같이 Test Code를 통해 검증합니다.