더 나은 프로그래머가 되는 방법 – 스킬 구축 플래너 사용
많은 프로그래머가 프로그래밍 진행 상황을 개선할 수 있는 간단한 방법을 놓치고 있습니다.
운동 선수, 기업가, 학생, 건강 너트 및 여행자를 생각해보십시오. 그들은 플래너를 사용하는 다양한 그룹의 사람들 중 하나입니다. 계획자는 조직을 유지하고 작업의 우선 순위를 정하기 위해 생산성을 높이는 데 자주 사용됩니다.
하지만 그것은 시작일 뿐입니다.
계획자는 또한 다음과 같은 도움을 줄 수 있습니다.
- 무작위 경로를 구부리고 막다른 골목에 도달하는 대신 직접적인 경로를 유지하십시오.
- 진행 상황 측정
- 동기 부여 유지
- 사기꾼 증후군 정복
플래너가 많은 이점을 제공한다면 더 많은 프로그래머가 이를 사용하지 않는 이유는 무엇입니까?
그들은해야.
프로그래밍을 한 달, 1년, 10년 또는 그 이상이든 상관없이 우리 모두에게는 공통점이 있습니다. 배울 것이 많고 기술을 지속적으로 향상시켜야 합니다.
그렇기 때문에 모든 수준의 프로그래머는 기술 구축 계획자를 사용해야 합니다. 더 빨리 낫고 실제로 즐겨 여행. 장거리 주자 시절에 힘들게 배운 교훈입니다.
필요에서 태어난
나의 첫 하프 마라톤은 잘못된 이유들로 기억에 남습니다. 나는 완전히 몸이 좋지 않았기 때문에 레이스 동안 끔찍한 느낌을 받았습니다. 게다가 훈련을 제대로 안 해서 마무리 시간도 암울했다.
그러나 그 경험은 프로그래밍을 포함한 후속 기술에 계속 적용해야 하는 유용한 교훈을 가르쳐 주었습니다. 계획자의 힘입니다.
더 나은 레이스 시간을 달성할 수 있다는 것을 알고 나는 또 다른 하프 마라톤을 하기로 결심했습니다. 나는 두 번째 회차에서 많은 것을 다르게 했지만 두 가지가 눈에 띈다. 나는 달리기 계획을 따랐고 달리기 일기를 썼다.
이 계획은 모든 세부 사항, 즉 내가 달려야 하는 마일 수와 달릴 속도와 같은 모든 세부 사항이 포함되어 있기 때문에 유용했습니다.
법률용 패드와 펜으로만 구성된 저널은 질적 목적을 수행했습니다. 매일 저녁, 나는 달리기 운동에 대한 몇 가지 메모를 씁니다. 달리기 중 느낀 점과 그날 먹은 음식과 같이 나의 성과에 영향을 미칠 수 있는 요인.
나중에 배우겠지만 계획과 일지는 기술 구축 과정에서 중요한 요소입니다.
내 계획의 세부 사항과 일기장의 응답은 함께 진행 상황을 확인하고 운동을 시작하는 데 책임감을 갖고 궁극적으로 훨씬 더 나은 주자가 되는 데 도움이 되었습니다.
두 번째 하프 마라톤에서 기대를 훨씬 뛰어 넘었을 뿐만 아니라 훈련 과정과 경주 자체도 즐겼습니다.
간단히 말해서, 플래너와 저널을 함께 사용하면 달성한 결과에 큰 영향을 미칠 수 있습니다. 그 이후로 나는 프로그래밍을 포함한 다른 기술을 구축함으로써 이 플래너/저널 모델을 테스트했습니다.
내가 말할 수 있는 것은 다음과 같습니다. 결과를 효율적이고 효과적으로 달성하려면 계획자/저널 모델을 프로그래밍 루틴에 통합하십시오.
이 모델을 자세히 살펴보고 프로그래밍 진행에 어떤 이점이 있는지 살펴보겠습니다.
다른 기술 + 같은 과정 = 원하는 결과
내가 프로그래밍을 배우기 시작했을 때, 나는 나의 러닝 일과 나의 발전을 가속화하는 데 도움이 된 습관을 회상했습니다. 플래너/저널 모델이 떠올랐습니다. 한 기술에서 잘 작동했던 것이 다른 기술에 다시 적용될 수 있다고 생각했습니다.
내가 맞았 어.
프로그래밍을 배우고 더 잘하기 시작하면서 이 플래너/저널 조합(일부 조정 포함)을 다시 적용했습니다. 다시 한 번, 그것은 모든 차이를 만들었습니다.
나는 프로그래머로서 뭐라고요 매일, 매주 하고 싶어요. 이러한 구체적인 세부 사항은 내 플래너/저널 모델의 플래너 측면을 구성합니다. 저널 쪽은 다음과 같이 내 작업과 능력에 대한 개인적인 평가로 구성됩니다.
- 하루 동안 저지른 실수와 배운 교훈
- 효과가 좋았던 학습 전략
- 내 생산성을 돕거나 해치는 전술
시간이 지남에 따라 유사한 댓글이 올라오기 때문에 이러한 응답은 유용합니다. 그래서 나는 끊임없이 패턴을 찾고 있습니다. 하나를 발견하면 일반적으로 조정을 하라는 신호입니다. 또는 똑같이 중요한 것은 내가 무엇을 계속해야 하는지 알고 있다는 것입니다.
플래너와 저널을 함께 사용하면 직접적인 경로를 유지하고, 진행 상황을 측정하고, 동기를 유지하고, 작업과 능력을 자체 평가하고, 사기꾼 증후군을 극복하는 데 도움이 될 수 있습니다.
차례대로 각각 살펴보자. 간단하게 하기 위해 앞으로 이 플래너/저널 모델을 단순히 "플래너"라고 부를 것입니다.
직접 길을 가다
기술을 쌓는 사람들은 종종 비슷한 경험을 합니다. 그들은 많은 길을 가다가 막다른 골목에 부딪히는 것을 반복합니다. 기술 구축은 시간이 많이 걸리고 짜증이 나고 소모적입니다.
이것이 플래너가 매우 유용할 수 있는 이유입니다. 그것은 당신이 조직을 유지하고 가장 중요한 일에 시간과 관심을 집중하는 데 도움이 될 수 있습니다. 매일 및 매주 전략적으로 생각하면 직접적인 경로를 유지하는 데 도움이 될 수 있으며 수많은 무작위적이고 비생산적인 경로와 막다른 골목을 우회할 수 있습니다.
플래너를 사용하는 동안 좌절하거나 막히지 않을 것이라는 말은 아닙니다. 하지만 차이점이 있습니다. 플래너를 사용하면 뭐라고요 매일 해야 하고 왜. 이렇게 하면 기술 구축 시간을 최대한 활용하고 좌절감을 크게 줄이며 시작, 중지 및 다시 시작 횟수를 줄이는 데 도움이 될 수 있습니다.
당신은 발전하고 있습니까?
당신은 당신의 기술을 위해 정말 열심히 일하고 있을지도 모릅니다. 그러나 문제는 다음과 같습니다. 진행하고 있습니까?
이것은 대답해야 할 중요한 질문이며 계획자가 중요한 두 번째 이유입니다. 기술을 효과적으로 구축하는 데에는 노력만으로는 충분하지 않습니다. 노력이 결실을 맺는지 확인하려면 결과를 측정할 구체적인 방법이 있어야 합니다.
일부 기술은 다른 기술보다 진행 상황을 측정하기가 더 쉽습니다. 당신이 주자라면 5마일을 달리는 데 걸리는 시간은 증가하거나 감소합니다. 따라서 진행 상황을 측정하는 것은 상대적으로 평가하기 쉽습니다.
그러나 프로그래밍과 같은 다른 기술은 진행 상황을 측정하는 것을 훨씬 더 어렵게 만듭니다. 예를 들어, 많은 프로그래밍 문제를 해결할 수 있지만 반드시 더 나은 문제 해결사가 되는 것은 아닙니다.
해결책은 바로 이것입니다. 매일 작은 진전, 즉 점진적인 개선에 집중하는 것입니다. 오늘 하고 싶은 일이나 성취하고 싶은 일을 1~3가지 파악하는 것입니다. 작고 관리하기 쉬워야 합니다. 문제를 종이로 해결하는 것은 작은 진전의 한 예입니다. 문제에 사용할 올바른 알고리즘을 식별하는 것은 또 다른 문제입니다.
매일 저녁 다음 날을 위해 또는 아침에 가장 먼저 하고 싶은 작은 보폭을 확인하십시오. 그런 다음, 하루가 끝날 때 당신이 한 일이든 배운 일이든 이 작은 진전을 위해 당신이 이룬 진전에 대해 생각해 보십시오.
예를 들어 문제가 해결되지 않은 상태로 남아 있다고 가정해 보겠습니다. 그러나 사용할 올바른 데이터 구조를 찾았습니다. 또는 적용할 수 있는 새로운 접근 방식에 대해 배웠습니다. 그것이 진보입니다. 당신은 앞으로 나아가고 있습니다.
이러한 작은 진전은 시간이 지남에 따라 누적되어 원하는 결과에 도달하는 데 도움이 됩니다.
당신이 매일 하는 작은 보폭을 확인하는 것은 또 다른 이유로 중요합니다. 그것이 당신의 동기를 부추길 것입니다. 그리고 이것이 플래너 사용이 중요한 세 번째 이유입니다.
동기 부여 유지
매일 작은 보폭을 만들어 내 프로그래밍 진행에 큰 차이를 만들었습니다. 크든 작든 진행 상황이 눈앞에서 펼쳐지고 의욕이 샘솟습니다.
예를 들어, 내가 어제 어려움을 겪었던 것이 오늘 훨씬 더 의미가 있습니다. 또는 지난 주에 배운 개념을 완벽하게 적용했습니다. 이러한 작은 보폭은 내가 매일 일어나 그것을 따라가도록 격려합니다.
작은 보폭에 집중해야 하는 또 다른 이유가 있습니다. 그렇게 하면 기술을 훨씬 더 쉽게 관리할 수 있습니다. 사용할 올바른 알고리즘을 식별하는 것은 관리 가능합니다. 프로그램의 일부를 리팩토링하는 것은 관리할 수 있습니다. 명확하고 의미 있는 변수 이름을 작성하는 것은 관리할 수 있습니다.
이러한 작은 보폭은 정확히 기술이 구축되는 방식입니다. 점진적으로, 단계별로, 작은 보폭을 하나씩 차례로 수행합니다.
자가 평가
우리는 종종 다음 문제나 프로그램으로 넘어가기 위해 너무 서두르므로 몇 분 동안 작업을 자체 평가하는 데 실패합니다.
그건 실수야.
시간을 내어 스스로 평가하는 것이 중요합니다. 가장 효과적인 방법으로 올바른 길을 가고 있는지 확인하고 싶습니다. 그 과정은 생각보다 쉽습니다.
프로그래머로서 우리는 수학자 George Pólya가 그의 책에서 말했듯이 "뒤돌아봄으로써" 우리의 작업을 평가할 수 있습니다. 그것을 해결하는 방법.
뒤돌아보는 것은 "결과와 그로 이어진 경로를 재고하고 재검토"하는 것을 의미합니다. 취하는 단계이다. ~ 후에 당신은 문제를 해결했고 ~ 전에 당신은 다음으로 이동합니다.
아이디어는 문제를 해결하거나 프로그램을 작성하는 것입니다. 그런 다음, 이것이 중요한 점입니다. 다음 문제나 프로그램으로 서두르기 전에 솔루션을 다시 살펴보십시오. 솔루션에서 배우고, 개선하고, 지식을 통합하십시오.
물론, 당신의 솔루션이 정확할 수 있습니다. 그러나 그것은 또한 효율적이고 효과적인? 다시 말해, 귀하의 솔루션이 최선입니까? 다른 데이터 구조, 더 나은 변수 이름 또는 다른 알고리즘을 사용하여 개선할 여지가 있습니까?
시간을 내어 귀하의 업무와 능력을 평가하여 이 질문에 답하십시오. 뒤돌아보면 앞으로 나아가는 데 도움이 될 수 있습니다.
사기꾼 증후군 정복
기술 구축 계획을 유지하는 가장 중요한 이유 중 하나는 아마도 사기꾼 증후군을 극복하는 것입니다. 과거의 나를 포함하여 많은 사람들이 사기꾼 증후군으로 고생하고 있습니다.
알고 보니 내 사기꾼 증후군의 근원은 내가 비교 게임을 하고 있다는 것이었습니다. 다른 사람과 자신을 비교할 때 알 수 있습니다. 프로그래밍을 시작했을 때 나는 종종 수학이나 공학 배경을 가진 사람들보다 열등하다고 느꼈습니다. 나는 또한 “빨리” 프로그래밍을 배운다고 주장하는 사람들에 대한 이야기를 읽을 때 자신이 부족하다고 느꼈습니다.
비교 게임은 당신이 통제할 수 없는 것에 생각과 에너지를 쏟아붓기 때문에 하기에는 좋지 않은 게임입니다. 또한, 정말 중요한 것, 즉 진행 상황에서 주의를 분산시킵니다.
대안이 있습니다. 남과 자신을 비교하지 말고 자신과 비교하십시오. 그것이 내가 하기로 한 것입니다. 큰 영향을 미칠 수 있는 작은 변화입니다.
그 과정의 핵심 단계는 매일 플래너를 사용하는 것이었습니다. 그렇게 함으로써 게임은 하나의 경쟁이 되었습니다. 나 자신과 비교하는 것입니다. 나는 매일 계획을 세우고 나의 일과 능력을 평가함으로써 이것을 한다.
계획자는 매일의 노력과 매일의 작은 보폭과 같이 자신이 통제할 수 있는 일에 집중하면서 내면으로의 여정을 유지합니다.
일일 스킬 플래너로 실현
여기까지 읽었다면 공통점이 있다는 것이 분명합니다. 우리는 더 나은 프로그래머가 되고 싶습니다. 이 게시물에 요약된 아이디어가 그렇게 하는 데 도움이 될 것입니다.
이러한 아이디어를 혼자서 통합하는 것이 너무 많은 작업이라면, 여기 당신을 위해 힘든 일을 할 수 있는 도구가 있습니다. 바로 일일 스킬 플래너입니다. 남편 Paul과 함께 만들고 디자인한 실습형 실용적인 스킬 구축 플래너입니다.
Daily Skill Planner에는 기술을 효율적이고 효과적으로 구축하는 데 도움이 되는 네 부분으로 구성된 프레임워크가 포함되어 있습니다. 또한 이 문서에서 다루는 이점을 포함하도록 설계되었습니다.
- 원하는 결과를 향한 직접적인 길을 가다
- 진행 상황 측정
- 작은 보폭에 집중하여 동기 부여 유지
- 자신의 일과 능력에 대한 자기 평가
- 사기꾼 증후군 정복
Daily Skill Planner를 사용하기로 선택했는지 여부에 관계없이 이 게시물이 내가 몇 년 전에 시작했던 것처럼 약간의 종이와 펜을 사용하는 것처럼 비공식적일지라도 기술 구축 계획자를 유지하도록 동기를 부여했기를 바랍니다.
그래서 여기 제가 여러분에게 드리는 도전이 있습니다. 1~2주 동안 계획을 세우고 이 게시물에서 다루는 몇 가지 아이디어를 통합하십시오. 그런 다음 이 짧은 기간이 끝나면 얼마나 멀리 왔는지 확인하십시오. 나는 당신이 결과에 감동할 것이라고 생각합니다.
프로그래머 및 작가 | howtolearneffectively.com | Dailyskillplanner.com
'Coding' 카테고리의 다른 글
SOLID 정의 – 객체 지향 설계의 SOLID 원칙 설명 (0) | 2022.04.28 |
---|---|
CSS와 함께 Sass를 사용하는 방법 (0) | 2022.04.26 |
변경 로그를 만들고 업데이트하기 위해 Bash 스크립트를 작성하는 방법 (0) | 2022.04.21 |
SwiftUI 아래 SceneKit에서 카메라 관리하는 방법 (0) | 2022.04.19 |
S3에서 AWS Lambda를 사용하기 위한 Terraform 설정하는 방법 (0) | 2022.04.18 |
댓글