JavaRush /Java Blog /Random-KO /스웨덴과 사신 둘 다. 풀스택 개발자는 누구이며 어떻게 되는가?

스웨덴과 사신 둘 다. 풀스택 개발자는 누구이며 어떻게 되는가?

Random-KO 그룹에 게시되었습니다
스웨덴과 사신 둘 다.  풀스택 개발자는 누구이며 어떻게 되는가?  - 1컴퓨터 개발 분야에는 신비롭고 모호하지만 동시에 매혹적으로 매력적인 위치가 있습니다. 이미 이해하셨겠지만 이것이 바로 풀스택 개발자의 입장입니다. 아래에서 설명할 여러 가지 이유로 논란의 여지가 있는 평판을 얻었지만, 간단히 말해서 개발자와 기타 기술 전문가가 진정한 풀 스택 개발자가 무엇인지에 대해 합의에 도달할 수 없기 때문입니다. 스웨덴과 사신 둘 다.  풀스택 개발자는 누구이며 어떻게 되는가?  - 2

“풀스택 개발자는 모든 프로그래밍 언어와 기술을 알고 노래하고 춤도 아름답게 추는 기술 마법사입니다.”

Ian Peters-Campbell은
숙련된 개발자이자 소프트웨어 회사인 Stickbuild의 창립자입니다.

풀스택 개발자는 누구인가요?

그렇다면 전통적인 의미에서 풀스택 개발자란 무엇일까요? 가장 일반적인 정의는 제품의 사용자 측(프런트엔드)과 분산 서버에서 실행되는 내부 코드(백엔드)를 포함하여 시스템 기능의 모든 부분을 개발하는 책임을 맡은 전문가라고 말합니다. 원칙적으로 공석 광고에 '풀스택'이라는 문구가 나온다면 개발자는 백엔드와 프론트엔드 개발에 대한 지식과 기술을 동시에 갖추고 있어야 한다는 뜻이다. 그러나 많은 회사에서는 더 나아가 "풀 스택 개발자"란 소프트웨어 제품의 모든 구성 요소를 개발할 수 있을 뿐만 아니라 제품 관리부터 운영 설정까지 모든 것을 맡을 수 있는 만능 군인을 의미합니다. 서버의 시스템 및 사무실 프린터 수정. 실제로 대부분의 경우 풀 스택 개발자는 프로젝트를 성공적으로 완료하는 데 필요한 기술 세트에 대해 상당한 수준의 지식을 보유해야 합니다. 따라서 이 경우 "스택"은 필요한 기능을 달성하기 위해 함께 결합된 소프트웨어 모듈 및 구성 요소의 모음을 의미합니다. 스웨덴과 사신 둘 다.  풀스택 개발자는 누구이며 어떻게 되는가?  - 삼

이 주제가 왜 그렇게 논란의 여지가 있습니까?

풀스택 개발자가 실제로 어떤 사람이어야 하는지, 그리고 그러한 전문가를 별도의 그룹으로 분리할 수 있을 만큼 충분한 양이 존재하는지에 대한 논쟁은 꽤 오랫동안 진행되어 왔습니다. 숙련된 프로그래머들이 지적한 바와 같이, 2000년대 설립 초기에 Facebook 대표가 개발자를 위한 전문 컨퍼런스 중 하나에서 연설하는 동안 Facebook 대표가 풀 스택 개발자만 고용한다고 밝힌 후 새로운 활력이 불타올랐습니다. “풀 스택 개발자에 대한 전통적인 정의가 혼란스럽다면 모든 것이 올바른 것입니다. 풀스택 개발자는 일시적인 존재이기 때문입니다. "풀 스택"이 무엇인지 설명하는 과학적 모델은 없습니다. 풀스택 개발자의 수준을 다른 유사한 개발자와 비교하여 측정할 수 있는 명확한 방법은 없습니다. 풀스택에 관한 유일한 합의는 이 현상의 본질에 대해 어느 누구도 단일한 정의에 동의하지 않는다는 것입니다. 그렇기 때문에 이 주제에 대해 읽는 모든 내용은 주관적인 의견에 지나지 않습니다.”라고 숙련된 소프트웨어 개발자이자 설계자인 Ryland Goldstein은 말했습니다. 스웨덴과 사신 둘 다.  풀스택 개발자는 누구이며 어떻게 되는가?  - 4

풀스택 개발의 4가지 핵심

하지만 많은 전문가들이 풀스택 개발자라는 개념이 논란의 여지가 있다고 주장하고 있음에도 불구하고 채용인원은 적지 않고 오히려 그 반대이다. 따라서 이러한 유형의 직위에 지원하기 위해 원칙적으로 어떤 분야에 필요한 지식을 살펴 보겠습니다.
  1. 프론트엔드 개발.

    일반적으로 프런트엔드는 HTML, CSS, JavaScript 등의 웹 개발 기술 및 프로그래밍 언어를 말합니다. 또한 React와 같은 JavaScript 프레임워크와 제품의 "클라이언트" 측과 관련된 기타 모든 기술도 포함됩니다.

    공부를 시작하는 곳:

    완전한 React 애플리케이션을 만드는 것이 매우 쉬운 Create React App 또는 Gatsby 프레임워크 로 시작할 수 있습니다 . CSS 전처리기, CSS-in-JS 와 같은 기본 CSS 도구, Sass 와 같은 도구를 배우는 것이 좋습니다 .

  2. 백엔드 개발.

    백엔드에는 사이트를 작동시키는 애플리케이션 및 API를 포함하여 서버에서 실행되는 모든 코드가 포함됩니다. 백엔드의 주요 프로그래밍 언어는 Java, Python, Ruby 등입니다. 이 외에도 백엔드 개발에는 SQL 지식이 필요한 데이터베이스 관리도 포함됩니다.

    공부를 시작하는 곳:

    우선, 프론트엔드와 백엔드를 연결하는 일종의 가교 역할을 하는 JavaScript에 대한 지식을 깊게 하는 것부터 시작하는 것이 좋습니다. 특히, 고도로 전문화된 언어인 JavaScript를 범용 언어로 바꿔주는 V8 엔진 기반의 소프트웨어 플랫폼인 NodeJS를 배워보는 것도 좋습니다 .

    Также для того, чтобы иметь максимально полную квалификацию в бэкенде, рекомендуется, помимо Java, постепенно осваивать такие языки программирования, How Python (в первую очередь), PHP и Ruby.

  3. Проджект-менеджмент.

    От проджект-менеджера, если вкратце, требуется управлять проектом, что включает множество задач, среди которых взаимодействие с клиентами, коллегами, сторонними подрядчиками и т.д. Словом все, что нужно для успешной реализации проекта. Сюда также входит планирование, принятие стратегических решений по работе над продуктом и т.д.

    С чего начать изучение:

    Для успешного развития в качестве проджект-менеджера не помешает изучить наиболее популярные инструменты в этой сфере. Основными можно назвать: GanttPRO (сервис для планирования и управления проектами с помощью диаграммы Ганта), Jira Software (популярная система для планирования и отслеживания agile-проектов), LiquidPlanner (инструмент для проджект-менеджмента в реальном времени), Basecamp (еще одна система управления проектами и совместной работы) и т.д.

  4. DevOps.

    Ну и, наконец, четвертым столпом фуллстек-девелопмента является знание DevOps. Обязанности DevOps-а могут сильно отличаться в зависимости от проекта, но How правило к ним относится все, что касается запуска программного codeа в продакшн, включая, например, настройку serverов, на которых будет функционировать приложение, и обеспечение слаженной работы специалистов команды вместе с техническими решениями, которые они используют.

    С чего начать изучение:

    Сфера DevOps также включает в себя довольно много всяких инструментов. Вот те, с изучения которых имеет смысл начинать: инструменты управления исходным codeом (GitLab, GitHub, Bitbucket), CI/CD-инструменты (Ansible, Jenkins, Chef), тулзы для коммуникации и коллаборации (Slack и Microsoft Teams), а также сервисы облачных вычислений и хранения данных (AWS, Azure и GCP).

    스웨덴과 사신 둘 다.  풀스택 개발자는 누구이며 어떻게 되는가?  - 5

    Помимо вышеперечисленных четырех базовых составляющих “полного стека,” он не был бы действительно полным, если бы не включал в себя также мобильную разработку, базы данных и QA автоматизацию — истинный Full Stack разработчик разбирается и в этих технологиях тоже.

Зарплаты Full Stack разработчиков

풀스택 개발자의 급여는 개발 분야에서 보다 구체적인 전문성을 갖춘 동료보다 평균적으로 그리 높지 않습니다. PayScale 에 따르면 미국에서 풀 스택 개발자의 평균 급여는 연간 거의 75,000달러입니다 . 동시에 최소 급여(풀 스택 위치에 있는 프로그래머의 경우)는 연간 약 46,000달러이고 최대 급여는 연간 약 114,000달러입니다. 구소련 국가의 경우, Work.ua 리소스에 따르면 우크라이나의 풀 스택 개발자의 평균 급여는 월 35,000그리브냐(약 $1300)인 반면, 키예프에서는 45,000(약 $1650)입니다. 데이터 에 따르면 러시아에서 풀 스택 개발자의 평균 급여는 4만 루블(530달러)에서 15만 루블에 이릅니다. ($2000). 세계 전체의 평균에 대해 이야기한다면, 현재 우리가 고려하고 있는 직위에서 일하는 전문가들은 연간 약 45,000달러를 벌고 있습니다. 유럽에서는 풀스택 개발자가 덴마크와 스웨덴에서 가장 높은 급여를 받습니다. 스웨덴과 사신 둘 다.  풀스택 개발자는 누구이며 어떻게 되는가?  - 6

풀스택 개발자가 되려면 어떻게 해야 하나요?

이제 자신을 완전한 자신감을 갖고 아이러니 없이 풀 스택 개발자라고 부르기 위해 마스터해야 하는 기술, 능력 및 기술을 간략하게 살펴보겠습니다.
  1. 프로그래밍 언어.

    풀스택 개발자는 여러 프로그래밍 언어에 능숙해야 합니다. 우선, Java, PHP, C#, Python, Ruby, Perl 등 주요 항목이 있습니다. 한마디로, 제품의 주요 비즈니스 프로세스가 작성될 가능성이 가장 높은 언어입니다. 물론, 그러한 언어 전체를 완벽하게 배우는 것은 극히 어려울 것입니다. 하지만 적어도 개발에 중요한 역할을 할 언어의 문법을 마스터해야 하며, 하나 이상의 언어를 기반으로 프로젝트를 구성, 설계, 구현 및 테스트하는 방법에 대한 좋은 지식도 가지고 있어야 합니다.

  2. 프레임워크 및 코드 라이브러리.

    대부분의 경우 주요 프로그래밍 언어에 대한 좋은 지식에는 Java Spring, Hibernate, Python Django, PHP thinkphp, MyBatis 등과 같은 널리 사용되는 프레임워크 및 라이브러리를 사용하는 능력이 포함됩니다.

  3. 프론트엔드 기술.

    풀스택 개발자를 위한 프런트엔드 기술 지식의 중요성 또한 크며 시간이 지남에 따라 더욱 커집니다. 오늘날 편의성과 제품의 전체적인 "래퍼"가 기능성만큼 중요해지면 프로젝트의 전반적인 성공의 상당 부분이 프런트엔드의 어깨에 달려 있습니다. 풀스택을 위해서는 최소한 기본 프론트엔드 기술인 HTML5, CSS3, JavaScript를 알아야 하고, 주요 프론트엔드 프레임워크와 라이브러리인 JQuery, LESS, SASS, AngularJS 및 앞서 언급한 기술을 마스터해야 합니다. 반응하다.

  4. 데이터 베이스.

    데이터베이스는 "풀 스택"의 또 다른 중요한 구성 요소입니다. 모든 제품이나 서비스는 정보를 어딘가에 저장해야 하기 때문입니다. 따라서 풀 스택 개발자는 가장 널리 사용되는 데이터베이스 시스템 몇 가지와 해당 시스템을 사용하는 방법을 최소한 알고 있어야 합니다. 오늘날 가장 널리 사용되는 데이터베이스 시스템은 MySQL, MongoDB, Redis, Oracle, SQLServer 등입니다. 그중 MongoDB는 다양한 인터넷 프로젝트의 데이터베이스로 가장 많이 사용되고 있으며, 기업 제품 분야의 백엔드로는 MySQL과 Oracle이 가장 많이 사용되고 있으며, Redis는 캐싱 및 시스템 성능 향상을 위해 자주 사용됩니다.

  5. 관리 및 소프트 스킬.

    하지만 이 분야에서 좋은 결과를 얻으려면 단순히 기술이나 프로그래밍 언어를 배우는 것만으로는 충분하지 않습니다. 성공적인 프로젝트 관리에는 시간 관리, 계획, 우수한 의사소통 기술 등을 포함한 많은 구성 요소가 포함됩니다. 그리고 이 모든 것은 주로 연습을 통해 획득됩니다.

  6. 디자인에 대한 기본 지식.

    그리고 마지막으로, 디자인에 대한 지식, 즉 UX/UI 디자인은 기초적인 수준이기는 하지만 풀스택 개발자의 역량에도 속합니다.

    그런데 여기에 위의 다양한 기술을 모두 그래픽으로 표시하도록 설계된 잘 구성된 로드맵이 있습니다.

결론 및 전망

위의 모든 내용에서 결론을 내릴 수 있듯이 본격적인 개발자가 되고 심지어 표준 풀 스택 개발자가 되려면 많은 시간과 노력을 투자해야 합니다. 그러나 지속적이고 규칙적인 연습을 통해 시간이 지남에 따라 훨씬 더 복잡한 분야를 마스터할 수 있습니다. 가장 중요한 것은 어디로 가야할지 이해하고, 핵심 기술을 익히고, 자기 학습을 멈추지 않는 것입니다. 그러나 성공적인 풀스택 개발자가 되기 위해 그러한 노력이 필요한지 여부는 또 다른 질문입니다. 그러한 작업의 장점과 단점에 대해 이야기하면 단점이 분명합니다. 많이 공부하고 다양한 것을 이해해야합니다. 장점은 더 복잡합니다. 풀 스택 개발자는 일반적으로 고도로 전문화된 프로그래머에 비해 프로젝트 전체에 더 큰 영향을 미칠 수 있는 기회를 갖습니다. 대다수의 경우 이는 직업 만족도를 높이고 다시 ChSV가 꽃을 피우고 냄새를 맡습니다. 성공적인 개발에 필요한 모든 기술과 기술을 이해하면 때로는 진정한 무한한 가능성이 열립니다. 풀스택 개발자는 대부분 성공적인 IT 기업가가 되는 것으로 알려져 있습니다. 그리고 일반적으로 그러한 기술을 갖춘 사람은 어떤 위기에도 불구하고 일 없이는 남지 않을 것입니다 .
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION