버튼 수집상

[글] 개발자라면 반드시 알아야하는 기본기 본문

TIL - 블로그(기사)

[글] 개발자라면 반드시 알아야하는 기본기

cocokaribou 2023. 6. 30. 11:27

개발자가 되고 싶은데 기초적인 프로그래밍 언어 공부 외 모든 것이 막연했던 시절에

자바 커뮤니티 OKKY를 드나들며 뭐라도 줏어들으려고 했다.

특히 fender 라는 분의 글과 리플을 읽으면서 늘 개발자의 삶을 시뮬레이션 해왔다.

여러 기고문 중에서도 아래의 글은 오늘날까지도 머리 한 켠에 새겨져있다.

 

https://okky.kr/articles/674111

 

OKKY - 개발자라면 반드시 알아야하는 기본기

오키에 올라오는 질문 글을 보면 일정한 패턴이 보일 때가 있습니다. 원래 이렇게 하면 되야하는데 오류가 난다 -> 검색해봤는데 모르겠다 -> 소스와 오류 복사해서 질문 글 작성, 대략 이런 식이

okky.kr

초보 개발자에게 필요한 기본기를 물었을 때 fender 님은 두 가지를 꼽는다.

1. 공식 api 문서 읽을 줄 알기
그래야 클래스나 함수의 명세를 읽고 쓰임새를 알 수 있다.

2. 스택트레이스 읽을 줄 알기
그래야 오류 내역을 알 수 있다.

 

저 글 덕분에

자바로 처음 프로그래밍 공부를 접했을 때

수업에서 배운 클래스는 기억해뒀다가 그날 바로 자바 도큐멘테이션에서 명세를 찾아읽곤 했다.

전부 이해하진 못했어도, 문서의 구조와 자주 등장하는 용어들에 익숙해지고자 했다.

 

3년차 주니어 앱개발자 입장에서 이 글을 오랜만에 돌아보니 감회가 새롭다.

처음 보는 클래스나 라이브러리는 우선 문서를 찾아봐야 한다.

그리고 오류 스택트레이스도, 아무리 못해도 첫 줄이라도 읽는 것이 기본이다.

안드로이드의 경우, Crashlytics라는 솔루션으로 크래시 로그를 파악해서 매 업데이트마다 대응하려고 한다.

그러나 표면적인 현상을 방지하는 경우가 많고, 오류의 근본적인 원인까지 파고들어서 해결하는 내공이 많이 부족하다.

 

조너선 스타인하트는 <한 권으로 읽는 컴퓨터 구조와 프로그래밍> 서문에서 이렇게 말한다.

애플리케이션 프로그램 개발은 다른 사람이 만든 기본요소를 임포트하는 방법과 이 기본 요소들은 서로 붙이는 방법일 뿐이다. 

 

만들어져있는 기본 요소를 임포트하는 방법을 정리해놓은 것이 api 문서이다.

문서를 봐도 해결이 안 된다면 직접 소스코드를 뜯어보고 파악해야하지만 말이다.

뒷 부분은 이렇게 이어진다.

시스템프로그래머는 애플리케이션 프로그래머가 사용하는 기본 요소를 만든다. 시스템프로그래머는 자신이 작성하는 코드가 하드웨어와 상호작용해야 하기 때문에 하드웨어에 대해 알아야만 한다. 시스템 프로그래밍을 배우지 않는다면, 여러분의 도메인을 벗어나는 문제가 생기면 문제를 직접 해결하려고 파고들기보다는 여러분을 도와줄 사람을 찾는 편이 낫다.

 

글문으로 된 명세와 오류를 파악할 줄 아는 것이 개발자의 스타트다.

하지만 문서와 로그에 다 담기지 않는 내용을 파악하기 위해서는 소스코드나 시스템에 대한 이해가 있어야 한다.

그리고 (아무래도 역시) 영어를 잘 해야 한다.

 

728x90