TIL (Today I Learned) 날짜
2024년 03월 16일 토요일
오늘 읽은 범위
EP.01 ~ EP.05
책에서 기억하고 싶은 내용
EP.01 개발자에 대한 오해 5가지
오해 1: 개발은 누구나 쉽게 배우고, 할 수 있다.
접근성으로는 배우기 쉽지 않을까?
유튜브만 들어가 봐도 잘하시는 분들이 업로드하신 무료 강의들이 무수히 많고, 인강 사이트에서도 저렴한 가격으로 접근할 수 있다는 점이 개발을 접하기는 쉬워진 것 같다.
공부하면서 느끼는 건데 흥미가 정말 중요한 거 같다.
흥미가 없다면 실력을 쌓을 시간 동안 인내하는 인내심이 좋거나.
요즘은 개발자가 아니더라도 간단한 코드정도는 AI의 힘을 빌어 작성할 수 있으니까.
논리적으로 생각하기를 좋아하고 문제 해결을 즐기는 성향이 필요하다.
인고의 과정을 거쳐 만든 결과물에서 느끼는 성취감이 좋다.
내가 위의 두 타입에 해당한다면, 축하드립니다! 당신은 개발을 제대로 공부해 봐도 되겠군요! (부럽다)
나는 논리적으로 생각하는 건 좋아하지만 잘 하는 지는 모르겠다.
마찬가지로 문제 해결을 즐기는 건 좋아하지만 문제를 잘 해결하는지는 모르겠다...
그래도 두 가지 모두 연습하고 노력하면 어느정도 채워질 수 있는 부분이라고 생각한다.
특히 마지막, 안 풀리던 문제를 해결하거나 완성된 결과물을 보면서 뿌듯함을 느낀다면 개발자 해도 괜찮지 않을까.
나는 공부하는 과정은 정말...정말 지루해하지만 그 과정을 통해 하나의 결과를 만들어나갈 때마다 기분이 너무 좋았다.
내 손으로 작성한 코드가 동작하는 과정을 보는 기분이란...!
하다못해 깃허브 커밋 오류 같은 거 해결하는 것도 재밌다.
이래서 공부하는게 힘들다고 매일 생각하지만 개발자라는 직업을, 개발을 계속하고 싶다.
오해 2: 개발을 잘하려면 암기를 잘해야 한다?
솔직히 나름 암기에 자신이 있는 나인데, 개발은 그런거 없다.
오히려 독이 되는 것 같다. 코드를 이해하고 작성해보는 경험을 많이 해봐야 하는데 자꾸 나도 모르게 코드를 암기해서 작성하는 일이 발생한다...
자바스크립트 함수 외운다고 코딩테스트 문제를 봤을 때 그 함수가 떠오르는 건 아닌 것처럼, 암기보단 자주 사용해 보고 어떤 식으로 사용하는지 기억해 두는 게 좋은 것 같다.
어차피 자주 사용하는 함수나 코드들은 저절로 기억되더라...
오해 3: 개발자는 천재 또는 해커?
시니어 개발자분들이나 당장 주변만 둘러봐도 개발 잘하시는 분들이 널리고 널렸다.
나는 왜 저렇게 못할까 싶기도 하고 같이 공부해도 스펀지처럼 쭉쭉 흡수하시는 분들이 부럽기도 하다.
하지만 어쩌겠어...나는 천재가 아닌걸.
보통 실력만이라도 되기 위해 노력해야겠다.
어디에서나 1인분은 하는 개발자가 되고 싶다.
오해 4: 개발자는 타고난 재능이 필요하다?
개발에 대한 재능은 있으면 매우 매우 좋겠지만 그게 아니라면 정말 근면성실만큼 개발자에게 도움 되는 재능은 없는 거 같다.
오류를 만나도 포기하지 않고 끝내 해결하는 모습. 이런 경험들이 쌓여 결국 실력있는 개발자로 가는 길 같다.
집중력 바닥에 도파민 중독, 누구보다 회피형인 나는 천재적인 재능이 있었어도 못하지 않았을까는 생각이 든다.
어느 분야든지 마찬가지겠지만, 노력이 배신하는 경우는 거의 없는 것 같다.
특히 개발은 더 그런거 같다.
더 많이 부딪치고 깨지고 성장해야지.
오해 5: 개발자는 수학을 잘해야 한다?
전에는 동의 했는데 지금은 잘 모르겠다.
개인적으로 잘하진 못해도 어느 정도는 해야 한다고 생각한다.
수학 문제나 공식들의 해결할 때의 논리가 결국 개발자의 필수 요소인 논리적 사고와 연관이 있다고 생각한다.
특히 코딩테스트를 풀면서 많이 느끼고 있다.
EP.02 어떤 언어부터 공부해야 할까?
프로그래밍으로 만들고 싶은 결과물에 따라 다르다
결국 다양한 프로그래밍 언어를 사용하게 될 거고 수많은 라이브러리와 프레임워크에 대해 공부하게 될 거다...
프로젝트를 할 때도 마찬가지이지만, 만들고 싶은 프로그램에 따라 더 효율적인 언어가 존재하니까 공부하고 싶은 거 공부하면 되지 않을까?
나는 앱 개발을 하고 싶었는데 지금은 취업을 위해 웹 개발, 특히 프론트엔드 공부를 하고 있다.
프론트엔드는 기본적으로 HCJ(HTML, CSS, JS)를 공부해야 한다.
그 후 다른 프레임워크나 라이브러리를 공부할 예정이다!
EP.03 새 언어를 쉽게 배우는 노하우
새로운 언어를 배워야 하는 이유: 새로운 프로그래밍 언어를 배우는 과정에서 그 언어에 담긴 철학, 코드 구조, 개념, 패턴 등을 배울 수 있고, 내 주력 언어를 사용할 때 같이 녹여낼 수 있다면 주력 언어에 대한 전체적인 이해도 상승하기 때문이다.
지금의 나는 아직 자바스크립트도 모르기 때문에... 일단 자바스크립트부터 더 공부하고 새로운 언어에 도전해 봐야겠다.
새 언어 말고 새로운 프레임워크나 라이브러리에 대해 공부하는 것도 도움이 될까? 아무래도 되겠지...?
새 언어를 배우는 노하우
1. 공식 문서 찾아보기: 공식 문서에는 언어의 철학, 사용처, 올바른 예, 관련 커뮤니티 등 정보가 많다.
2. 문법 확인하기: 문법을 보고 입력하고, 이해하고, 기억하는 과정
3. 다른 언어와 특징 비교하기
4. 새 언어로 코딩 시작: 변수/함수 선언 같이 특정한 패턴을 새 언어로 작성하기
5. 튜토리얼 시작: 공식 문서에 있는 튜토리얼 시작하기. 오픈소스 프로젝트를 가져와서 해체하고 조립하는 과정도 좋다.
6. 나만의 프로젝트 만들기: 사전에 이해도가 있는 주제를 새 언어로 다시 만들기
나중에 리액트 공부할 때 적용해 봐야겠다.
공식 문서 가볍게 보고 프로젝트 하나 만들면서 배워야지.
리액트 한글 번역 공식 문서: https://react-ko.dev/
EP.04 언어 이름은 왜 그렇게 지었을까?
다들 변수명이나 함수, 클래스명은 규칙도 만들고 신경 써서 만들면서 프로그래밍 언어 이름은 대충 지은 거 같지...ㅋㅋㅋ
언어 이름에 관한 비하인드 이야기, 생각보다 재밌다.
나도 나중에 언어 만들어서 언어 이름 수댕이로 지어야지~~
EP.05 C, C++, C#은 이름처럼 비슷할까?
C언어: 최소 자원을 최대한 효율적으로 이용해서 최고의 성능을 내는 경우 사용. 메모리 자원의 정밀한 조절이 가능한 절차 지향 언어이다.
C++: C언어를 포함해서 만들어진 언어. 절차 지향과 객체 지향 둘 다 지원한다. C언어와는 철학과 용도가 다르다.
C#: 마이크로소프트가 만든 자바. 다른 두 개에 비해 실행에 거치는 단계가 많아 속도가 느리다. 윈도우 기반 프로그램 개발에 유리하다. 배우기는 셋 중 가장 쉽다.
셋 다 학교에서 찍먹 해봤었는데 나중에 시간 되면 각 언어에 대해 깊게 공부해보고 싶다.
공부해보고 싶은 건 많네,,,
읽은 소감 + 떠오르는 생각
책의 초반이라 가볍게 읽고 지나갈 내용이 많았다!
그래 꾸준히 해야지. 어떤 일을 하든지 꾸준하게 하는 건 중요하니까.
공부하러 가겠습니다~~
'💪 Study > 📚 노마드코더 북클럽' 카테고리의 다른 글
IT 5분 잡학사전 Day 07 (0) | 2024.03.21 |
---|---|
IT 5분 잡학사전 Day 06 (1) | 2024.03.20 |
IT 5분 잡학사전 Day 05 (3) | 2024.03.19 |
IT 5분 잡학사전 Day 03 (0) | 2024.03.17 |
IT 5분 잡학사전 Day 01 (0) | 2024.03.15 |