인용
"맙소사. 나는 다른 개발자들에 비해 멍청하고 준비가 안 되어 있다. 상사도 내가 얼마나 무능한지 알 것이고 나는 해고될 것이다."
이런 생각은 우리가 소프트웨어 개발자로 처음 업무 현장에 들어갈 때 매우 흔합니다. 나도 예외는 아니다. 이러한 유형의 사고는 사람들이 다른 개발자들에 비해 열등감을 느끼고, 자신의 기술을 속이고 있는 것처럼 느끼며, 코드 작성에 있어서 만능 바보처럼 느끼게 만들 수 있습니다.
몇 달 만에 웹 기반 연구 플랫폼을 개선하고 유지하는 첫 번째 프로그래밍 직업을 갖게 되었다는 설렘은 마침내 절대적인 두려움으로 바뀌었고, 그러한 부정적인 부정적인 생각들이 계속해서 내 마음 속에 쏟아졌습니다. 더 크고 빠르게 진행되는 조직으로 옮겨 마침내 내 사업을 시작했을 때에도 이러한 아이디어는 계속해서 나를 잠식했습니다.
내가 작성하는 코드 한 줄 한 줄이 너무 번거롭고 비효율적이라는 느낌을 항상 받습니다. 다른 재능 있는 개발자에게 보여주면 분명 비난을 받을 것입니다. 나는 멍청하다고 느꼈고 그들이 알아차리는 것은 시간 문제였습니다.
익숙한 것 같나요? 당신이 나처럼 생각하고 대부분의 소프트웨어 개발자가 이런 생각을 갖고 있다면 하루 종일 패닉 상태에 빠질 가능성이 높습니다.
아래에서는 신진 개발자로서 자신과 경력 전망을 발전시키고, 경력을 발전시키면서 건강한 사고방식을 유지하는 데 도움이 되는 몇 가지 주요 전략을 살펴보겠습니다.
1. 직장에서 사용하고 싶은 언어를 찾아보세요.
더 나은 프로그래머가 되려면 정기적으로 프로그래밍을 연습하고 다양한 언어와 기술에 대한 경험을 넓혀야 하지만, 모르는 언어가 너무 많아서 모르는 경우가 많습니다. 어디서부터 시작해야 할지 모르겠습니다. 해결하려는 문제 스타일에 가장 적합한 언어를 선택해야 합니다.
아직 특정 언어를 정하지 못해서 먼저 테스트해 보고 싶다면 Stack Overflow Careers, 인디드, 몬스터 등 취업 사이트를 검색해 어떤 언어가 가장 많이 나오는지 살펴보는 것을 추천합니다. 인기 있는. 원하거나 현재 위치에 필요한 경우 특정 언어를 확실하게 파악하고 연구 및 실험을 시작할 수 있습니다.
웹 기반 연구 플랫폼 개발자라는 첫 직장을 시작했을 때 저는 학습 캠프에 빠졌습니다. 하지만 이 직업을 위해서는 PHP, JavaScript, SQL 기술을 강화해야 했습니다. 그래서 퇴근 후와 주말에 이 세 가지 분야의 기술을 연마하여 직장에서도 좋은 성과를 내고 웹 개발을 기반으로 더 많은 기회를 가질 수 있도록 하겠습니다. 이는 지금 내 사업을 소유하고 관리하는 데 매우 중요합니다. 웹 개발 회사의 기여가 큽니다.어떤 언어를 접하거나 선택하든 중요한 것은 정기적으로 연습하는 것입니다. 다양한 언어를 사용해 보고, 몇 가지 작은 예제를 통해 코딩한 다음, 이를 토대로 작은 프로젝트를 구축하세요. 자신에게 맞는 언어 또는 방법과 문제에 접근하는 방법을 찾으면 이를 고수하고 정기적으로 연습하세요.
2. 당신을 화나게 하는 문제나 무엇이든 찾아보세요.
경력이 발전하면서 대규모 호스피스 기관에 웹 개발자로 합류했습니다. 내 업무는 온라인 청구 및 CRM 시스템을 개선하고 유지하는 데 중점을 두고 있지만 많은 의료진은 종종 불평합니다. 환자들은 항상 시스템이 매우 느리게 실행된다고 보고합니다. 그것은 나를 화나게 하고, 직원들을 더욱 화나게 만든다. 이를 고쳐야 한다는 것이다.
End of Life Care는 거의 전적으로 Microsoft 기술을 기반으로 실행되며 데이터베이스도 예외는 아닙니다. Microsoft SQL Server(MSSQL)입니다. 비록 제가 가장 편안하게 느끼는 쿼리 언어는 아니지만, 저는 여전히 집에서 소규모 MSSQL 프로젝트 구축을 공부하고, 읽고, 연습하고 있습니다. 나의 노력을 통해 점차적으로 몇 가지 샘플 보고서를 작성하여 데이터베이스 관리자에게 보고 기능을 개선할 수 있는 방법을 보여줄 수 있었습니다. 시간이 지남에 따라 제가 구현하는 데 도움을 준 최적화 작업은 승진으로 이어졌고, 그 문제를 해결하면서 배운 기술은 제가 데이터베이스 관리 직업을 구하는 데 도움이 되었습니다.
언어와 함께 성장하고 학습에 대한 열정을 불러일으키는 가장 좋은 방법은 배운 내용을 활용하여 어려운 문제를 해결하는 것입니다. 언어 자체를 배우는 것뿐만 아니라, 언어가 실생활 문제에 어떻게 적용될 수 있는지도 배웁니다.
3. Github 또는 기타 공개 코드 플랫폼에 게시합니다.
4. 무엇을 배우고 있는지, 어떻게 배우는지, 그 이유를 보여주는 블로그를 작성하세요.
당신이 배우고 있고 배우려는 적극적인 의지가 있다는 것을 세계(그리고 미래의 고용주)에게 보여주면 당신은 동종 업계의 95% 이상의 개발자보다 앞서게 될 것입니다. 또한 글쓰기 기술을 연습할 수 있으며, 이 과정을 통해 문제에 접근하는 방법, 문제를 분석하고 해결하는 방법 등 자신에 대해 많은 것을 배울 수 있습니다. 또한 평소에 어떻게 생각하는지, 어떻게 배우고 성장하는지, 어떻게 발전하는지 정리해야 합니다.
5. 소프트웨어 개발 커뮤니티에 적극적으로 참여하세요.
문제를 해결하고, 다른 사람들이 문제를 어떻게 해결하는지 살펴보고, 자신의 목소리와 의견을 표현하세요. 저는 Stack Overflow와 프로그래밍 커뮤니티를 통해 이 작업을 수행합니다. 의사코드에서 괄호를 잊어버렸다고 고함을 지르는 예리한 개발자가 있기 때문에 가장 관대한 문화는 아니지만, 이를 통해 다른 개발자와 상호 작용하고 정직할 수 있습니다. 잔인한) 비판과 다른 사람들이 문제에 어떻게 접근할지 아는 것은 문제에 대해 새로운 사고 방식을 열어줍니다.
6. 기술적인 사람과 비전공적인 사람에게 간결하게 설명하는 방법을 알아보세요.
저는 사람들이 직업적 성공을 달성할 때 숙달해야 하는 가장 어렵고 중요한 것 중 하나가 의사소통이라고 말하는 것을 항상 듣습니다. 처음에는 말도 안되는 일이라고 생각했습니다. 전화로 사람들과 이야기하고, 회의 중에 이야기하고, 이메일을 보내는 것이 얼마나 어려울 수 있습니까? 전문적인 커뮤니케이션 경험이 있는 사람이라면 누구나 이 개념을 비웃을 것입니다. 그러나 저는 여전히 그렇습니다. 얼마나 빨리 오해가 생길 수 있는지, 작업 흐름이 얼마나 복잡한지, 프로젝트 진행이 얼마나 지연되는지 놀라게 될 것입니다.
진정으로 효과적인 의사소통을 마스터하려면 실제로 작업해야 할 작업이 무엇인지에 대한 기본적인 이해를 갖추고(찰스 펫졸드의 "코드"를 적극 추천합니다) 서로 상호 작용해야 합니다. 블로그에 글을 올리고 프로그래밍 커뮤니티와 상호작용하는 것은 의사소통 기술을 효과적으로 향상시키는 데 도움이 될 수 있습니다.
간결하게, 사실적으로, 이해하기 쉽게(필요한 경우) 의사소통하고 복잡한 문제와 해결책을 이해할 수 있는 작은 덩어리로 쪼갤 수 있다면 소프트웨어 분야에서 탁월할 수 있습니다. 개발 분야는 무적입니다. 당신은 프로젝트 관리자, 다른 프로그래머, 임원 등이 모두 당신이 자신의 팀에 합류하기 위해 경쟁하는 것을 보게 될 것입니다.
건강한 사고방식을 유지하세요
전문 소프트웨어 개발자의 성장 경로는 가시와 어려움으로 가득 차 있지 않기 때문에 건강하지 못한 자기 사고와 직업 선택의 함정에 쉽게 빠질 수 있습니다. 모든 사람이 가지고 있는 직업적 불안감을 이해함으로써 자신감을 잃었을 때 더 나은 동기를 부여할 수 있습니다.
1. 모든 사람이 거짓말쟁이처럼 느껴진다는 사실을 알아두세요.
직업이나 인생에서 만나는 모든 사람은 사기꾼 증후군으로 어려움을 겪고 있습니다. 우리 각자는 마치 사기꾼으로 밝혀져 우리의 무능함 때문에 공개적으로 비난을 받을 위기에 처한 것처럼 느꼈습니다. 이것을 이해하면 영적인 영역에서 공평함을 느끼는 데 도움이 될 수 있고, 한때 자랑할 만한 일을 한 모든 사람이 지금 당신과 같은 생각을 했다는 것을 깨닫는 데도 도움이 될 수 있습니다.
이러한 사고방식은 인내하는 데 도움이 됩니다! 새로운 언어, 개발 방법 및 문제 해결 방법을 배우는 건설적인 채널 접근 방식과 결합되면 전체 경력이 크게 향상되고 빠르게 기술의 달인이 될 수 있습니다.
2. 문제가 발생할 수 있다는 점을 알아두세요.
내가 인간이라는 사실을 마침내 받아들인 것은 프로그래밍을 하면서였다는 것은 의심의 여지가 없습니다. 나는 또한 혼란스럽고 서투르고 자주 실수를 합니다. 네, 당신도 마찬가지입니다. 마감일을 놓치거나, "모두 답장"을 너무 많이 누르거나, 스와이프하여 심각한 오류를 잡아내거나, 놀라운 버그가 앱 아키텍처를 너무 쉽게 빠져나가게 할 수 있습니다.
행복하고 건강하게 지내고 싶다면 자신의 실수를 분석하고, 실수로부터 배우고, 다음 번에 더 잘하기 위해 배운 것을 적용해야 합니다.
3. 다른 사람의 입장이 되어 보세요.
처음 상사에게 혼났을 때 내가 어떻게 했는지 아시나요? 나는 서둘러 사무실로 돌아와 문을 잠그고 울었습니다. 나는 내가 역대 최악의 프로그래머인 것처럼 느꼈고 해고될까 봐 걱정하기 시작했습니다. 그런데 프로젝트 관리자가 내 사무실로 와서 지금까지 내 프로세스와 프로젝트가 좋았다고 설명했습니다. 상사는 막 그녀의 딸이 중병에 걸렸다는 사실을 알게 되었고, 그녀의 상사는 방금 그녀의 잘못을 비난했으며, 설상가상으로 그녀는 이혼 소송을 제기했습니다. 괜찮은.
상사님의 경험을 듣고 나 자신에 대한 의심과 걱정이 금세 사라졌습니다. 내가 그 상황에 있었다면 아마도 같은 반응을 보였을 것이다.
공감은 프로그래머로서, 그리고 인간으로서 성공의 기초입니다. 고객과 사용자의 실제 요구 사항을 이해하거나 상사가 겪고 있는 압력을 알면 그들이 왜 그렇게 행동하는지 이해하는 데 도움이 될 수 있습니다. 또한 가치 있고 문제 해결 솔루션을 제공하고 능력을 입증할 수 있는 방법도 알려줍니다.
제가 제안한 대로 이제 막 시작한 소프트웨어 개발자로서 당신 앞에는 이미 밝은 길이 놓여 있을 것입니다. 훌륭한 코드를 작성하고 업계 규정을 준수하려면 거의 매일 자신의 약점에 직면하고 지속적으로 자신을 개선해야 합니다.
다른 모든 사람들과 마찬가지로 여러분도 때때로 흔들릴 수 있으며, 우리가 논의한 일부 단계와 전략에도 불구하고 여전히 부정적인 생각에 사로잡힐 수 있으며 이는 완전히 정상적인 현상입니다.
지속적인 개선에 전념하고, 자신이 인간일 뿐이라는 사실을 깨닫고, 다른 사람의 입장에서 생각해 볼 수 있는 한, 당신은 업계에서 가장 존경받고 성취한 개발자 중 한 명이 될 것입니다. 산업.
W3C 프로그래머의 성장 경로는 다음과 같습니다.
1단계:
html, css, html5, css3, javascript, jquery를 자세히 알아보세요.
모든 부분을 익히고 나면, 학습한 지식을 기억하고 기록할 수 있는 텍스트 도구를 찾으세요. 이런 학습 효과가 좋습니다.
단계별로 진행하며, 먼저 지식 구조와 각 구조에 관련된 상식을 학습하고 기억하세요. 각 구조에 대한 자세한 지식은 사용 시 참고할 수 있으며, 사용을 통해 점차 익숙해질 것입니다.
두 번째 단계:
지식 포인트의 제품 수준 응용 학습 찾기
js의 지식 구조와 상식을 학습한 후 네비게이션 바, 드롭다운 목록, 슬라이드 등을 통해 자신을 모방하여 공부하고 글을 쓸 수 있습니다. 한편으로는 js의 사용에 대해 더 잘 이해하게 되었습니다. 다른 한편으로는 이러한 제품 수준의 특수 효과를 만드는 방법을 배웠습니다. 결정적으로, 귀하는 제품에서 직접 사용할 수 있는 모듈식 소스 코드도 축적했습니다. 일하고, 두뇌력과 시간을 절약합니다.
3단계:
코드 품질을 향상하고 언어를 더 깊이 학습합니다.
코드 최적화 및 성능 최적화 방법에 관한 두 권의 책을 선택하여 js 언어 본질과 js 숙련도를 선택했습니다.
4단계:
오픈소스 프레임워크 조사
애플리케이션 수준의 제품이 아닌 일반 도구 제품을 작성하는 경험을 배웁니다. 제품의 시장 규모가 얼마나 클지보다는 도구 사용이 얼마나 쉬운지, 성능이 얼마나 좋은지 등을 고려해야 합니다. 연구하는 동안 유사한 프레임워크를 작성하는 모델을 작성합니다. 그것은 축적이기도 하고, 프레임워크 작성을 배우는 경험이기도 합니다.
5. 나만의 프레임워크를 작성해 보세요
다양한 비즈니스의 프레임워크를 추출하여 작성해 보세요.