"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 소프트웨어 엔지니어가 되고 싶나요? 하향식 학습의 어려움.

소프트웨어 엔지니어가 되고 싶나요? 하향식 학습의 어려움.

2024-08-06에 게시됨
검색:808

Want to be a software engineer? The difficulty of top down learning.

저는 어렸을 때부터 항상 문제를 이해하고 해결하는 것을 좋아하는 매우 호기심이 많은 사람이었습니다. 저는 고등학교 때 프로그래밍을 처음 접했고, 분명한 이유로 금방 프로그래밍에 집착하게 되었습니다.

고등학교 시절 제가 기억하는 첫 번째 언어와 도구는 Turing, 프로세싱, GreenFoot 및 BlueJ와 같은 것이었습니다. Turing을 제외하고 모두 학습 도구였으며 주로 그래픽 프로그래밍에 초점을 맞춘 Java 추상화였습니다. 이 도구를 사용하면 매우 멋진 작업을 매우 빠르게 수행할 수 있습니다. 이러한 초기 경험이 제 관심을 끌게 된 계기가 되었습니다.

거기서 저는 지역 대학에서 웹 개발을 공부하고 싶습니다. 여기서 저는 HTML, CSS, JavaScript와 같은 것을 배우기 시작했습니다. 나중에 PHP, Ruby, ASP.NET, Angular 및 순수 개발 이외의 기타 관련 기술로 이동합니다. 훌륭한 과정이었으며 매우 효과적인 웹 개발자가 되기 위해 필요한 모든 기술을 제공해주었습니다.

대학 생활이 끝날 무렵 저는 웹 개발 전반에 대해 꽤 잘 이해하게 되었습니다. 나는 확실히 모든 것을 알지는 못했지만 나에게는 아무것도 미스터리하지 않은 지점에 있었습니다. 여기에서 나의 자연스러운 호기심은 나를 더 깊이 파고들게 만들었습니다. 운영 체제, 시스템 수준 개발 및 임베디드 시스템의 토끼굴로 나를 안내합니다. 상상할 수 있듯이 첫 번째 단계는 C를 기울이는 것이었습니다.

C를 배우는 것은 제가 예상했던 것보다 훨씬 더 어려웠습니다. 포인터뿐만 아니라 스택과 힙 메모리의 개념도 매우 혼란스러웠습니다. 특히 가비지 수집기가 있는 고급 언어에서 발생합니다. C가 단순히 더 어렵다는 것이 아니라 실제로 언어가 실제로 매우 간단하다는 것이 나에게 분명해졌습니다. 그러나 나는 지난 몇 년 동안 더 높은 수준의 언어를 배우면서 만든 모든 나쁜 습관과 잘못된 가정을 끊임없이 잊어야 했습니다!

이것이 바로 하향식 학습의 저주라고 부르는 것입니다!

저는 시스템 수준이 아닌 언어를 배울 때 이러한 모든 잘못된 가정을 했다는 사실에 극도로 좌절감을 느꼈습니다. 또한 C를 배우는 과정이 원래 예상했던 것보다 3배나 오래 걸리게 만들었습니다.

나는 내가 사용하고 있던 추상화에 대한 이해가 부족했습니다!

오해하지 마십시오. 애플리케이션 수준 개발에만 집중하거나 기본적인 Python 스크립팅만 수행하면 전체 경력을 쌓을 수 있는 사람들이 많이 있습니다. 그러나 진정한 소프트웨어 엔지니어가 되고 싶고 임베디드 시스템부터 운영 체제 및 해당 운영 체제용으로 개발된 애플리케이션에 이르기까지 해당 분야 전체를 이해하고 싶다면 상향식으로 학습하는 것이 매우 유리합니다.

진정 소프트웨어 엔지니어가 되고 싶은 사람에게 제가 제안하는 것은 C부터 시작하는 것입니다. 포인터뿐만 아니라 스택과 힙의 차이점도 이해하세요. 소규모 C 애플리케이션이 생성하는 어셈블리를 분석하는 것일지라도 일부 어셈블리를 사용해 보십시오. 이런 것들을 근본적으로 이해한다면 나머지는 훨씬 쉬워질 것입니다!

그렇게 시작했으면 좋겠어요. 내 실수로부터 의지하세요!

릴리스 선언문 이 기사는 https://dev.to/prismlabsdev/want-to-be-a-software-engineer-the-difficulty-of-top-down-learning-f9p?1에서 복제됩니다. 침해가 있는 경우, 문의: Study_golang@163 .comdelete
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3