기술 산업이 발전하고 점점 더 많은 수의 자격을 갖춘 소프트웨어 개발자를 필요로 함에 따라 프로그래밍을 배우고 높은 인재 수요와 넉넉한 임금의 혜택을 누리고자 하는 모든 사람이 이 직업에 더 쉽게 접근할 수 있습니다. 수십 년의 프로그래밍 경험을 가진 소프트웨어 개발 베테랑은 종종 프로그래밍 언어와 개발 프로세스에 대한 정보가 제한적이고 인쇄된 교과서에서만 사용할 수 있었고 때로는 품질이 의심스러웠던 당시 이 직업이 얼마나 다른지에 대한 이야기를 공유합니다. 불과 10-15년 전에 프로그래밍을 시작한 선배들도 오늘날 소프트웨어 개발자가 되는 것이 훨씬 쉽다는 데 동의하며, 이는 코딩 기술 습득의 용이성과 이후 실제 작업 수행 모두에 있어서 사실입니다.
![10-15년 전보다 오늘날 코딩이 더 쉬워졌습니까? 이를 가능하게 한 도구 및 기술 - 1]()
하지만 2021년 현재 프로그래머가 되는 것(그리고 되는 것)이 정확히 20년 전인 2001년보다 훨씬 쉬워진 이유는 무엇일까요? 우리는 이것이 더 자세히 살펴볼 흥미로운 주제라고 생각했고 그것이 지금 우리가 할 일입니다.
소프트웨어 개발자의 작업을 그 어느 때보다 쉽게 만들어주는 도구
물론 소프트웨어 개발 산업이 발전함에 따라 모든 도구, 접근 방식 및 기술이 함께 발전하여 더욱 강력하고 사용하기 쉬워지는 동시에 정보에 대한 접근성이 높아지고 광범위해집니다. 그러나 얼마 전에 도입되어 현재 대부분의 코더가 일반적으로 사용하는 일부 도구가 실제로 차이를 만듭니다. 다음은 우리 의견에서 가장 주목할만한 것입니다.
1. 힘내와 GitHub.
Git은 소규모에서 대규모 프로젝트에 이르기까지 모든 것을 빠르고 효율적으로 처리하도록 설계된 무료 오픈 소스 분산 버전 제어 시스템입니다. 2005년에 처음 출시된 Git은 빠르게 업계 표준이 되어 개발자가 소프트웨어 프로젝트의 코드 및 버전 변경을 훨씬 더 잘 제어할 수 있을 뿐만 아니라 여러 코더의 협업을 훨씬 더 효율적이고 체계적으로 만들 수 있습니다. GitHub는 버전 제어 및 협업을 위한 Git 코드 리포지토리 호스팅 플랫폼입니다. 2008년에 처음 출시된 GitHub는 곧 세계 최고의 소프트웨어 개발 플랫폼이 되었습니다. GitHub를 사용하면 개발자가 훨씬 쉽게 협업하고 오픈 소스 프로젝트에 기여하고, 코드에 대한 적절한 문서를 만들고, 다른 사람에게 자신의 작업을 선보이는 등의 작업을 수행할 수 있습니다. “예전에는 Apache Subversion(SVN)을 사용하고 있었는데, 즉, 모든 변경 사항이 하나의 서버에 저장됩니다. 즉, 커밋하면 변경 사항이 직접 업로드됩니다. 때때로 상당히 스트레스를 받았고 "이것이 작동하는지 확실하지 않지만 이 코드를 저장하는 것이 좋습니다"라는 순간을 처리하기가 정말 어려웠던 것을 기억합니다. Git을 사용하면 커밋하고 나중에 푸시하는 것에 대해 걱정할 수 있습니다(의심스러운 경우 언제든지 분기할 수 있음)." 숙련된 C++ 개발자인 Guillaume Elias,
회상합니다 .
2. IntelliJ IDEA 및 기타 IDE.
IntelliJ IDEA는 Java로 작성된 통합 개발 환경으로 SQL, JPQL, PQL, HTML, JavaScript, Kotlin 등과 같은 다양한 기타 언어에 대한 지능형 코딩 지원을 이해하고 제공할 수 있습니다. 또한 다음을 비롯한 여러 다른 언어도 지원합니다. 플러그인을 통한 Scala, Rust, PHP, Ruby 등. 최초의 IDE인 Microsoft의 VB(Visual Basic)가 1991년에 다시 출시되었지만 원래 IDE는 개발자들에게 좋은 평가를 받지 못했습니다. 2001년 IntelliJ IDEA가 출시된 후 2000년대 초반 강력한 기능 및 통합과 함께 채택되기 시작하면서 2000년대에 변화가 생겼습니다. 그 결과 2010년대 IDE, 특히 IntelliJ IDEA는 대부분의 소프트웨어 개발자에게 사실상의 표준이 되었습니다. “1980년대에 시작했는데 명령줄과 make 파일이 표준이던 시절로 거슬러 올라갑니다. 소스 레벨 디버거가 통합된 IDE(제 첫 번째 디버거는 Lightspeed C였습니다)는 엄청나게 개선되었습니다. 그 이후로 모든 개선 사항은 점진적이었습니다. 기능이 더 많이 통합된 더 나은 IDE는 개발 프로세스를 개선했지만 이는 증분주의에 불과합니다. 소스 디버깅 기능이 있는 IDE는 어셈블러를 넘어선 프로그래밍 언어의 발전에 필적하는 비약적인 발전이었습니다.” 은퇴한 소프트웨어 개발자이자 컴퓨터 과학 교육자인 William Hembree,
말했다 .
3. 스택 오버플로.
2000년대 후반~2010년대 초반에는 개발자를 위한 게시판과 커뮤니티 플랫폼이 늘어나면서 코딩 관련 정보를 얻는 데 많은 변화가 있었습니다. Stack Overflow는 매달 5천만 명 이상의 코더가 방문하는 개발자에게 가장 인기 있는 온라인 커뮤니티입니다. 2008년에 출시된 스택 오버플로는 프로그래머가 지식을 교환하고 서로 소통하기 쉽게 만들었고 코딩 초보자를 위한 학습 프로세스를 간소화했습니다. “가장 먼저 떠오르는 것은 스택 오버플로입니다. 자, 여러분은 그것이 도구가 아니라 도구라고 말할 것입니다. 2008년 이전의 사람들에게는 없었던 귀중한 정보 소스입니다. 우리에게는 매뉴얼, 서적, 멘토(선임 개발자)가 있었고 SO 이전에 사람들이 배우고 공유한 방식과 거의 비슷했습니다.” 크로아티아의 선임 소프트웨어 엔지니어인 Antonio Nesic,
지적합니다 .
4. 관리형 클라우드 서비스.
관리형 클라우드 서비스의 채택이 증가한 것도 현대 프로그래머의 작업을 더 쉽게 만드는 데 중요한 역할을 했습니다. 각각 2006년과 2008년에 출시된 Amazon Web Services 및 Microsoft Azure와 같은 클라우드 서비스가 출시되고 대량 채택된 후 프로그래머는 더 이상 시스템 작동을 위해 서버와 네트워크를 설정하고 유지 관리하는 데 그렇게 많은 사람이 필요하지 않습니다. 클라우드 서비스는 또한 오늘날 개발 팀이 개인 수준에서 더 작고 더 생산적이기 때문에 소프트웨어 개발을 훨씬 더 효율적으로 만들었습니다. “동적 웹 프로그래밍을 시작했을 때 ASP가 있었고 .NET용 오픈 소스 웹 프레임워크인 ASP.NET에 대해 말하는 것이 아니라 MS Access 데이터베이스를 사용하는 좋은 오래된 클래식 ASP에 대해 말하는 것입니다. 네, 잘 들었습니다. MySQL, MSSQL 또는 이와 유사한 것을 사용하지 않았습니다. MS Access 데이터베이스를 여기에 연결합니다. 그런 다음 서버와 클라이언트가 있습니다. 그리고 그게 다였다. 저것과 같이 쉬운. 요즘에는 DigitalOcean, Linode, Google Cloud, AWS, Azure 등이 있습니다. 그리고 이 모든 것에는 소프트웨어를 확장하고 다운타임을 최소화하는 데 도움이 되는 수많은 기능이 포함되어 있습니다.”라고 Antonio Nesic은 덧붙입니다.
5. 프로젝트 관리 및 커뮤니케이션 도구: Jira 및 Slack.
마지막으로 Jira와 Slack, 그리고 개발자와 다른 전문가 간의 프로젝트 관리 및 커뮤니케이션을 훨씬 더 잘 조직하고 계획할 수 있게 해주는 기타 유사한 도구에 대해 언급해야 합니다. Jira는 2002년에 처음 출시된 독점 문제 추적 솔루션으로, 사용자가 애자일 및 소프트웨어 개발 프로젝트를 계획, 추적 및 관리할 수 있도록 합니다. 또한 프로그래머가 보다 효율적으로 협업하고, 작업 흐름을 사용자 지정하고, 버그를 추적하고, 백로그를 관리할 수 있도록 하는 여러 다른 기능이 있습니다. Slack은 주제별로 정리된 대화방, 여러 사람과 대화할 수 있는 비공개 그룹, 화상 통화 등 다양한 메시징 및 협업 기능을 갖춘 비즈니스 커뮤니케이션 플랫폼입니다. 2009년에 처음 출시된 후 빠르게 소프트웨어 개발 팀을 위한 가장 인기 있는 커뮤니케이션 도구가 되었습니다. 브렛 워터스, 또 다른 숙련된 프로그래머는 언급할 가치가 있는 다른 도구를 기억했습니다. "Skype, Teams, IM, SharePoint 및 기타 유사한 도구를 사용하면 물리적 회의, 토론, 긴 이메일 교환 등 없이 정보, 공동 작업 등을 빠르게 공유할 수 있습니다."
말했다 .
오늘날 소프트웨어 개발자가 되는 것이 그 어느 때보다 쉬운 이유
물론 새로운 도구와 기술 개발로 소프트웨어 개발자의 작업이 쉬워짐에 따라 전문 프로그래머가 갖추어야 할 학습 기술도 이전보다 훨씬 접근하기 쉽고 초보자에게 친숙합니다. 그렇다면 지난 10~20년 동안 소프트웨어 개발 교육에 어떤 변화가 있었습니까? 많은 것들. 정보의 양이 증가하고 여러 소스를 통해 사용할 수 있게 되었으며 여러 방식으로 학습 기술도 향상되었습니다.
훌륭한 협업 도구 및 플랫폼의 가용성과 온라인과 오프라인 모두에서 빠르게 성장하는 개발자 커뮤니티 덕분에 오늘날 프로그래밍 언어를 배우고자 하는 초보자는 온라인에서 배울 수 있는 여러 무료 자습서를 찾을 수 있습니다. Java와 같이 널리 사용되는 프로그래밍 언어의 경우 특히 그렇습니다. 온라인에서 사용할 수 있는 무료 Java 자습서가 많이 있습니다.
Oracle의 공식 Java 자습서는 확실히 추천할 가치가 있습니다. 다른 훌륭한 대화형 온라인 Java 자습서는
LearnJavaOnline.org ,
JavaBeginnersTutorial.com 및 Tutorials Point 에서 찾을 수 있습니다 .
학습 계획, 게임화 요소, 소셜 기능 및 쓸모없는 이론 대신 학생들에게 적용 가능한 기술을 가르치는 데 중점을 둔 고급 프로그래밍 학습 과정의 존재는 오늘날 소프트웨어 개발 교육에서 차이를 만드는 또 다른 요소입니다. 겸손하지는 않지만 CodeGym은 완전한 초보자에게 적합하고 완전한 기능을 갖춘 Java 개발자를 배출할 수 있는 고급 온라인 학습 과정의 가장 좋은 예일 것입니다. CodeGym은 많은 연습을 통해 가능한 가장 효과적인 방법으로 코딩을 더 잘하는 방법을 배우기에 완벽합니다. 첫 번째 CodeGym 레슨부터 천천히 Java의 기초를 배우게 되며 이론적인 지식과 실습 기술을 지원하도록 고안된 다양한 작업(퍼즐)이 많이 있습니다.
코딩 초보자가 취업 면접을 연습하고 준비할 수 있는 온라인 준비 플랫폼은 2000-10년대까지는 없었던 또 다른 상당한 참신함입니다. 가장 인기 있는 준비 플랫폼 중 일부는
LeetCode ,
Interview Cake 및
HackerEarth 입니다 . 그런데 1200개 이상의 작업이 있는 CodeGym도 준비 플랫폼으로 분류될 수 있습니다. 게임화되고 사용하기 재미있는 플랫폼을 추가할 수 있습니다.
- 프로그래밍에 대한 YouTube 채널, 블로그 및 팟캐스트.
사용자 생성 콘텐츠가 많은 새로운 미디어는 훌륭한 학습 증강 소스가 될 수 있으며, 초보자가
YouTube 채널 , 블로그 및 팟캐스트를 통해 해당 분야의 전문가로부터 정보를 직접 얻을 수 있도록 도와줍니다. 예를 들어 오늘날
Java 초보자를 위한 Derek Banas ,
Programming with Mosh ,
Oracle의 Java 채널 ,
Adam Bien 및
vJUG 와 같은 수많은 훌륭한 YouTube 채널을 찾을 수 있습니다 .
마지막으로 정말 훌륭한
코딩 게임이 출시되었습니다. 우리가 알고 있듯이 CodGym은
살아있는 증거 입니다. 게임화는 학습을 강화 하고 더 나은 발전을 달성하는 동시에 그 과정에서 즐거움을 얻을 수 있는 매우 좋은 방법이 될 수 있습니다 . 코딩 방법 학습에 적용하면 초보자가 어려운 프로그래밍 개념과 기술의 본질을 더 빠르고 적은 노력으로 파악할 수 있습니다. 오늘날 프로그래밍을 배우고 소프트웨어 개발자로 일하는 것이 그 어느 때보다 쉽다는 데 동의하십니까, 아니면 반대 관점을 증명하는 것을 놓쳤습니까? 아래 의견란에 알려주십시오.