고등학교 프로그래머가 자신의 작업을 주목할 수있는 가장 좋은 장소는 무엇입니까? [닫은]


52

저는 컴퓨터 프로그래밍에 대한 열정이있는 16 세의 고등학생입니다. 저는 11 학년이며 약 8 개월 동안 학교 강의 계획서의 일부로 배우고 있습니다. 나는 학교에서 가르치는 것을 넘어서서 몇 가지 (합리적으로 좋은) 응용 프로그램을 얻었습니다. 내가 프로그래밍하는 언어는 Windows 플랫폼에서 C ++입니다. 결국 저는 좋은 대학에서 CS를 전공하고 프로그래머로 일하고 싶습니다.

내가 가진 구체적인 질문은 다음과 같습니다.

  • 내 작업을 알아볼 수있는 좋은 장소는 무엇입니까?
  • 젊은 프로그래머를위한 저널이나 출판물이 있습니까?
  • 출판물이 아니라면 좋은 블로그가 있습니까 아니면 직접 시작하는 것이 더 좋습니까?
  • 프로그래머로 주목받는 데 도움이되는 다른 것이 있습니까?

가능한 한 객관적이 되려고 노력했습니다.

이 모든 것이 tl; dr 인 경우 : 젊은 프로그래머로 주목받는 가장 좋은 방법은 무엇입니까?

편집 : 나는 고등학교에서 똑바로 고용을 찾고 있지 않다 목표는 전문 프로그래머로서 지역 사회를 감동시키지 않는 것입니다. 이것은 다른 사람들이 당신의 작품을보고 비평하는 것이 당신의 지원을 향상시킬 수있는 대학 지원을위한 것입니다. 지금까지 쓴 것에서 돈을 벌려고하지 않습니다.


12
다른 사람들이 16 살짜리 greenhorn ;-)을보고 싶어한다고 생각하는 이유는 무엇입니까?
Doc Brown

27
스택 오버플 로는 좋은 곳입니다! 유익하고 유용한 답변을 제공하고 (좋은 도움이되는 질문을하십시오!) 예상 고용주를 귀하의 프로필로 안내하십시오.
코디 그레이

24
@viraj 나는 당신의 열정과 좋은 답변에 박수를 보냅니다. 그러나 당신에게 나의 제안은 그것이 당신의 초기 인생을 소비하지 못하게하는 것입니다. 다른 취미와 관심사를 받아들이고, 사교 활동을하고, 즐거운 시간을 보내십시오. 인생에서 한 번만 아이가 될 수 있습니다. 당신이 자라서 경력을 쌓으면, 평생 동안 그 직업을 갖게 될 입니다. 그것은 그런 나이에 만드는 아주 심각한 일입니다. 어릴 적 직업에 집착하여 나중에 삶을 미워하고 끔찍한 중년의 위기를 겪었던 많은 사람들과 같이되고 싶지 않습니다.
maple_shaft

4
@FrustratedWithFormsDesigner 만약 탑 머니없이 탑 스쿨에 입학하고 싶다면 들어가기가 더 어렵습니다.
maple_shaft

10
@maple_shaft 당신의 요점은 좋지만 프로그래밍에 정말로 열정적이라면 그를 떠나고 싶지 않습니다. Bill Bills / Mark Zuckerberg에게 "청소년에게 너무 많은 시간을 보내지 말라고 말하십시오. 당신의 인생의 나머지를 가지고 ". 조언은 경력이 아닌 관심과 열정에 중점을 두어야합니다 .
Kirk Broadhurst

답변:


61

경고와 제안을 드리고자합니다.

경고 :

  • 지식을 과대 평가하지 마십시오. 지금은 간단한 응용 프로그램을 작성하고 수업 시간에 실제로 가르치는 것 이상을 충분히 알고 있다고 가정 할 수 있습니다. 그러나 이것이 당신을 "전문 프로그래머"로 만들지는 않습니다. 그것은 당신을 "프리랜서"로 만들 수 있습니다.

  • 학교에서 가르치는 것의 가치를 과소 평가하지 마십시오. 당신에게 무언가 분명해 보일지라도, 그것을 연구하십시오 : 당신은 계속 진행하면서 "새로운 측면"(나중에 더 명확해질 것입니다)을 보게 될 것입니다.

제안 :

  • 전문 응용 프로그램의 수명주기는 3-5 년이며 수천 시간 (최대 수백만)의 노동 시간이 필요합니다. 개발자가 단독으로 배포 할 수 없습니다. 전문 프로그래머는 다른 사람들과 협력해야합니다. 도구 (언어, IDE 등)에 대한 좋은 지식뿐만 아니라 기술, 방법 및 관용구도 중요합니다.

  • 도구는 공식적인 샘플과 연습으로 배울 수 있지만 기술과 숙어는 "설명"만 가능합니다. 이들을 "학습"하려면 경험을 경험하고 다른 사람들과 공유해야합니다. 그들은 지속적으로 발명되고 개선되었습니다.

  • 회사는 학교에서 채용 할 때 기본 기술을 통해 도구에 대한 이해와 능력을 확인하지만 가장 중요한 것은 새로운 것을 빠르게 학습하고 필요에 따라 "작업을 캡처"하는 능력을 테스트합니다.

  • 경험이 많은 사람들을 고용 할 때, 그들은 자신이 한 일과 그로부터 얻은 경험을 살펴 봅니다.

사기:

  • 더 "평가"되기를 원한다면 다른 사람의 문제 (예 : stackoverflow ) 또는 공개 프로젝트 (예 : sourceforge ) 에 참여하여 다른 사람과 함께 일하는 법을 배우십시오.

  • 또한 너무 빨리 돈을 요구하지 마십시오. "공유 할 대상"과 "판매 할 대상"으로 "코드 생성"을 분리하십시오. 공유 할 수있는 것은 다른 사람이 사용할 수 있지만 다른 사람의 참여를 유도하여 초기 프로젝트를 확장 할 수도 있습니다. 판매 할 수있는 것은 다른 유사한 프로젝트와 관련하여 앱을 "고유 한"앱으로 만들어 실제 상용 제품이되는 것입니다.
    다른 사람과 코드를 공유하려면 사이트 코드 프로젝트 또는 sourceforge를 참조하십시오 . 그들의 평가는 또한 당신이 한 일이 다른 사람들에게 얼마나 흥미로운 지에 대한 아이디어를 제공합니다.


30
지식을 과대 평가한다고 언급하면 ​​+1입니다. 고등학교 때 나는 멋진 것들을 쓰고 있었고 괜찮은 프로그래머라고 생각했다. 그런 다음 대학에 진학하기 시작했고 전문적인 수준에 가깝지 않다는 것을 깨달았습니다.
Mike L.


+1, 처음 대학에 갔을 때, 이미 습득 한 기술의 인증을받는 것이 더 좋다고 생각했습니다. 일부 지역에서 다른 학생들보다 몇 마일 앞서 있었지만 여전히 전문가 수준에 가까운 곳은 없었습니다.
user606723

4
지식을 과대 평가하여 +1하십시오. 나는 일주일에 얼마나 많은 이력서가 그들이 열거 된 모든 기술에서 "전문가"라고 말하는지를 말할 수 없다. 그렇게하는 것은 당신의 순진함만을 보여줍니다.
Jesse Bunch

6
재미있는 점은 종이 상자에서 스스로 프로그래밍 할 수없는 컴퓨터 과학 분야에서 3-5 년 정도의 코드를 작성하여 전문적으로 코드를 작성하는 소수의 사람들이 있다는 것을 알고 있습니다. 많은 사람들이 전문적으로 일하기도합니다.
Max

35

작성한 응용 프로그램을위한 오픈 소스 프로젝트를 만들고 온라인으로 호스팅하는 것에 대해 생각해 보셨습니까? SourceForge.net 또는 GitHub.com 은 훌륭한 오픈 소스 프로젝트 호스트입니다. 이를 통해 응용 프로그램에 대한 가시성을 확보 할 수 있습니다.


11
이 사이트에 대한 피드백은 직접적이거나 잔인하거나 프로젝트가 무시 될 수도 있습니다. 의견에 대한 피드백을 받아 개선해야 할 중요한 사항입니다. 지역 사회는 당신과 그것을 도울 수있는 무언가로 생각하십시오.
jefflunt

26

우선, 16 명의 YO 프로그래머 대부분은 실제로 커뮤니티에 감명을주지 않을 것입니다.

제 생각에는 그 이유가 있습니다. 좋은 프로그래머가되는 것은 프로그래밍 기술에만 의존하는 것이 아닙니다. CS 전공에서 바라본 바와 같이, 프로그래밍은 컴퓨터 과학 의 일부일 뿐이며, 상을 수상한 사람들 (최소한의 학술상)은 새로운 무언가 (예를 들어, 새로운 정리)를 입증했거나 발견했기 때문에 그렇게 할 것입니다. 일종의 작업 (디자인 패턴)을 달성하는 새로운 방법. 그렇게하려면 (적어도) 다음이 필요합니다.

  • 수학에서 좋은 배경 지식을 얻으려면 알고리즘을 이해하고 다른 데이터 구조를 마스터해야합니다.
  • 좋은 프로그래머는 "콘크리트 한"언어에 관심을 갖기 전에 패러다임 (객체 지향, 기능 등)을 먼저 이해한다는 것을 이해하십시오.
  • 좋은 프로그래밍은 종종 코드 모델링에도 사용된다는 것을 이해하고 기존 디자인 패턴을 배우십시오.

이미 모든 것을 숙달했다고 느낀다면, 아마도 지역 사회에 깊은 인상을 줄 것입니다.

항상 오픈 소스 프로젝트에 기여하려고 노력할 수 있지만 실제로 기여하기 전에 얼마나 많은 것을 따라 잡아야하는지에 대해 놀랄 수도 있습니다.

마지막으로 StackOverflow를 둘러보고 원하는 언어로 얼마나 대답 할 수 있는지 확인하십시오. 레벨에 대한 대리자가 좋습니다.


2
+1 : 경험에 대한 대체물이 없습니다. 내가 고용 할 때 나는 보통 누군가가 그들의 벨트 아래에 시행 착오를 많이 반복하고 있음을보고 싶다.
JohnFx

3
+1 : 함께 일하는 많은 프로그래머들이 수학이 중요하지 않다고 생각하는 것 같습니다. 그리고 그들은 같은 호흡에서 알고리즘 효율성에 대해 논쟁하고 논쟁 할 것입니다.
kojiro

+1 : 수학은 컴퓨터 과학에서 가장 기본적인 요소 중 하나입니다. 수학 없이는 필드로서의 컴퓨터 과학이 존재할 수 없었습니다. 수학없이 바이트 그룹을 다른 바이트 그룹으로 만들 수 없습니다. 또한 컴퓨터가 어떻게 작동하는지 이해하지 못하면 두 개의 바이트 레지스터가 어떻게 추가되는지 (간단한 프로세스 아님) 이해하지 못하면 컴퓨터를 이해하지 못할 것입니다. 과학. 프로그래밍 자체에는 문제 해결 기술, 프로그래밍 언어 학습이 필요하며 밑줄 프레임 워크는 컴퓨터 과학에서 쉬운 부분입니다.
Ramhound

1
컴퓨터 과학 분야의 전문가가되는 데있어 가장 어려운 부분은 문제를 해결하는 가장 좋은 방법을 결정할 수 있다는 것입니다. 새로운 프로그래밍 언어를 배우는 것은 쉬운 일이며, 강점을 활용하고 주어진 언어의 약점을 피하는 방법을 배우는 것은 훨씬 어렵습니다. 이렇게하면 "전문가"와 "코드 원숭이"를 분리 할 수 ​​있습니다.
Ramhound

13

스택 오버플로에 대해 높은 평판을 얻으십시오. 거의 동일한 주제가 여기에서 논의되었습니다.

Stack Overflow에서 높은 평판이 좋은 일자리를 얻는 데 도움이됩니까?


5
또한, SO에 대한 높은 평판을 얻는 것은 큰 재미이며, 질문을 읽고 게시하고 답변하는 과정에서 많은 것을 배우게됩니다.
Paul Hiemstra

1
제 생각에 SO에 대한 높은 명성은 "모든 프로그래머가 관련시킬 수있는 수많은 기본적인 질문에 대답하기 위해 사이트에서 많은 시간을 보냅니다"를 의미합니다. 나는 그것에 대해 많이 생각하지 않을 것입니다. (참고 : 당신은 여전히 ​​전문가 일 수 있으며 SO에 대한 높은 명성을 가질 수 있습니다)
siamii

8

시도해 볼만한 몇 가지 사항 :

  • 실제 문제를 해결하는 소프트웨어를 작성하십시오. 이상적으로 이전에는 해결되지 않은 문제 (또는 적어도 만족스럽지 않은 문제). 최고의 홍보 노력에도 불구하고 아무도 소프트웨어를 사용하지 않으면 필사적으로 소프트웨어를 필요로하지 않을 가능성이 있습니다.
  • 관련 메일 링리스트, IRC 채널 및 인터넷 포럼에 대한 작업을 발표하십시오. 프로그램에서 일부 라이브러리를 광범위하게 사용하는 경우 라이브러리 커뮤니티에 게시하는 것이 좋습니다. 기존의 다른 소프트웨어를 보완하는 경우 커뮤니티 등에 알리십시오.
  • 프로젝트가 충분히 심각한 경우 전용 웹 사이트를 설정하십시오. 웹 사이트는 기능 요약, 다운로드 및 설명서 링크 및 해당되는 경우 몇 개의 스크린 샷을 제공해야합니다. 이 웹 사이트는 저렴한 웹 사이트 인 지오 시티 스타일의 혐오가 아닌 적절한 웹 사이트인지 확인하십시오. 진지하게 받아들이고 싶다면 행동하십시오. 뉴스 섹션, Wiki 및 / 또는 버그 추적기를 추가하면 잠재적 인 사용자에게 프로젝트가 얼마나 활동적인지 알 수 있으며, 이는 프로젝트가 실제로 활성화되지 않은 경우 나 자신에게 도움이 될 수 있습니다.
  • 오픈 소스 프로젝트 인 경우 널리 사용되는 FOSS 허브 (github, bitbucket, 필요한 경우 sourceforge) 중 하나에서 호스팅하고 위의 내용을 참조하여 위키와 버그 추적기를 공개하십시오 (단, 정기적으로 사용하는 경우에만).
  • 무엇을 하든지 좋은 문서를 제공하십시오. 짧은 "시작"과 전체 참조가 모두 필요합니다. 첫 번째가 없다면 사람들은 프로그램을 사용하기가 너무 어렵다는 것을 알게 될 것입니다. 두 번째가 없다면 사람들은 필요한 정보를 찾을 수 없기 때문에 사용을 중단합니다.

7

Bernard의 답변 에 따라 조금 더 추가 하겠습니다 . 프로그래머가 시작하기 쉽지 않은 인기있는 프로젝트를 만들지 않으면 OSS 프로젝트가 너무 많아서 알아 채기가 어려울 수 있습니다.

프로그래밍 커뮤니티에서 주목 받고 있다고 가정하면 프로그래머가 사용하는 도구에 대한 추가 기능 (OSS 또는 비공개 소스)을 게시하는 것이 좋습니다. 면접에 들어가 회사가 이미 작성한 소프트웨어를 사용하고 있다고 말할 수 있다고 상상해보십시오. 많은 개발자 도구에는 애드온을 작성하기위한 API가 있으며, 마케팅에 대해 크게 걱정하지 않고도 도구에 대한 노출을 얻을 수있는 호스트 "App Stores"도 있습니다.

내 머리 꼭대기에 몇 가지 예가 있습니다.

선택한 도구에 따라 주목할 프로그래밍 커뮤니티의 특정 영역을 타겟팅 할 수 있습니다.


4
  1. Imagine Cup 과 같은 대회 또는 최소한 학교 대회 (있는 경우)로 이동
  2. 응용 프로그램을 온라인 상태로 만들고 소스 코드를 제공하고 질문과 관련이 없지만 다른 사람의 의견을 듣고 배우십시오.
  3. 다른 지역 사회에 공헌하십시오

4

여기에는 약간 다른 견해가 있습니다.

소프트웨어를 알리려면 가장 좋은 방법은 사람들이 소프트웨어를 사용하도록하는 것입니다. Bill Gates와 Mark Zuckerberg는 훌륭한 젊은 프로그래머 였지만 더 좋은 프로그래머는 많았습니다. 그러나이 두 신사는 많은 사람들이 그들의 제품을 사용할 수있게했으며 따라서 그들의 일로 더 잘 알려져 있습니다.

사람들이 귀하의 코드를 사용하도록하려면 :

  • 많은 사람들에게 제품을 판매하십시오. 예를 들어, 앱 스토어에 모바일 앱을 설치하고 다운로드, 구매 및 계속 사용을 추적합니다.
  • 많은 사람들이 귀하의 제품을 사용하고 광고 수익을 올리도록하십시오.
  • 많은 개발자가 제품과 함께 작동하는 제품을 개발하도록하십시오. 이것은 어렵다.
  • 인기있는 오픈 소스 프로젝트에 참여하여 많은 사람들이 귀하의 기여를 활용할 수 있도록하십시오.

제 생각에 소프트웨어는 사용자에게 이익을 제공하지 않고 거의 관련이 없습니다. 그리고 당신은 사람들이 관심을 갖는 문제를 해결하는 것에 주목할 것입니다. 그것은 매우 드문 기술입니다.


3

아직 읽지 않은 한 가지 답변은 Google Summer of Code입니다.

로부터 웹 사이트 :

Google Summer of Code는 학생 개발자에게 다양한 오픈 소스 소프트웨어 프로젝트를위한 코드 작성을 제공하는 글로벌 프로그램입니다. [...] Google Summer of Code를 통해 허용 된 학생 지원자는 참여 프로젝트의 멘토 또는 멘토와 쌍을 이루어 실제 소프트웨어 개발 시나리오에 노출됩니다.

참여하려면 18 세 이상이어야하지만 그다지 멀지 않습니다. 나는 참여하고 훌륭한 경험을 가진 사람들을 알고 있습니다. 귀하의 모든 기여는 공개 소스 프로그램에 대한 것이기 때문에 공개되므로 알 수 있습니다.

귀하는 18 세 미만이므로 Google Code IN 이라는 대학 이전 학생 (13-17 세)을위한 GSOC 유사 프로그램도 있습니다 .


3

내 관점에서 프로그램을 작성하는 사람들이 있습니다.

  1. "프로그래머"-여기에는 16 세의 자체 강의와 99 %의 중국에서 사용 가능한 "소프트웨어 개발자"인력이 포함됩니다. 최소한의 의미로 작업을 수행 할 수 있지만 디자인 패턴, 유지 관리 성, 강력하고 방어적인 코딩, 알고리즘 / 데이터 구조 및 효율적인 소스 사용과 같은 개념과 같은 개념에 대한 아이디어는 거의 없습니다. 제어 소프트웨어. 효과적으로 문서를 읽고 대부분의 API를 사용할 수 있습니다.
  2. "평균 전기 기술자"-80 % 전기, 10 % 컴퓨터 과학, 10 % 소프트웨어 엔지니어. 전자 기술에 능통하지만 일반적인 "프로그래머"만큼이나 많은 프로그래밍. 전기 측면의 논리와 비판적 사고 및 관리 기술이 도움이 될 것입니다.
  3. "평균 컴퓨터 과학 BS 졸업생"-25 % 프로그래머, 25 % 소프트웨어 엔지니어, 25 % 컴퓨터 과학자, 25 % 응용 전자 공학 (논리 포함).
  4. "평균 컴퓨터 엔지니어"-이 사람들은 50 % 전기 엔지니어, 50 % 컴퓨터 과학 졸업생이 혼합되어 있습니다.

정의 :

  1. "컴퓨터 과학"-Dijkstra는 한 번 언급했다. "컴퓨터 과학은 천문학이 망원경에 관한 것보다 컴퓨터에 관한 것이 아닙니다." 컴퓨터 과학은 컴퓨터보다는 수학에 관한 것입니다. 여기에는 복잡한 알고리즘과 데이터 구조를 개발, 이해 및 분류하는 기능이 포함됩니다.
  2. "소프트웨어 엔지니어링"-디자인 패턴, 프로그램을 나타내는 다이어그램 (이것이 무엇인지 기억할 수 없습니다). 그런 것들. 방어 적 코딩 .. 소스 제어 사용,

위의 "Average"라는 단어를 사용했습니다. 개인적인 관심과 직업 경험에 따라이 비율은 크게 변할 수 있습니다. 이것들은 단지 지나치게 일반화 된 고정 관념입니다. 표지로 책을 판단하지 마십시오. 나는 또한 내 경험에서 BSing 비율입니다.


1
당신의 다른 유형의 프로그래머는 말도 안됩니다. 소프트웨어 엔지니어링 없이는 효과적인 프로그래머가 될 수 없습니다. 컴퓨터 과학자들은 항상 소프트웨어 엔지니어링을 사용합니다. "전기 엔지니어"의 분리는 말도 안되며 컴퓨터 엔지니어와 컴퓨터 과학자 사이에는 거의 차이가 없습니다.
Ramhound

나는 이것을 조금 이상하게 썼다. 약간 리팩토링하여 수정했습니다. 그래도 아직 완전하지 않습니다. 답변 : a) 요점, 내리스트의 "프로그래머"는 효과적인 프로 게 머가 아닙니다. b) 컴퓨터 과학은 소프트웨어 개발에 관한 것이 아니므로 소프트웨어 엔지니어링을 사용하지 않습니다. c) 컴퓨터 공학은 컴퓨터 공학과 전기 공학의 하이브리드 분야입니다. en.wikipedia.org/wiki/Computer_engineering
user606723

1

저는 프리랜서 프로그래머입니다. 9 년 전 고등학교를 졸업 한 이래 프로그래밍은 나의 주요 수입이었습니다. 나는 여전히 학위를 받으려고하지만 현재로서는 여전히 나에게 적합하지 않습니다.

자기 주도적 인식으로가는 길은 다음과 같습니다. 이 단계를 통해 프로그래밍 커뮤니티에서 인정받을 수 있다고 말하지는 않지만 인터뷰 할 때 신뢰도를 높이는 데 도움이됩니다.

당시 IMO 프로그래밍에 정통한 후에도 기초로 돌아가서 튜토리얼을 통해 영감을 얻은 작품을 기반으로 포트폴리오를 구축했습니다. 또한 JavaDoc과 같은 방식으로 코드에 주석을 달도록 강요했습니다. 포트폴리오는 현재 화려 함과 매력으로 가득 차 있지 않을 수도 있지만, 당신이 구축하고 궁극적으로 거기에있는 것을 대체 할 수있는 기준을 제공합니다. 그런 다음 잠재 고객에게 보여줄 데모 및 코드 샘플 세트를 가졌습니다. 이것은 첫 직장을 얻는 데 필수적입니다. 아무도 경험이없는 사람을 고용하고 싶지는 않지만, 전문적인 경험이없는 유망한 프로그래머에게 기회를 줄 개인이 많이 있습니다.

나중에이 프로그램들을 분석하고 자주 사용하는 작업을 기반으로 라이브러리를 작성하기 시작했습니다. 새 라이브러리를 사용하여 인터넷에서 CompSci 문제를 살펴보기 시작했고 라이브러리를 사용하여 솔루션을 구축하는 데 걸리는 시간을 스스로 결정했습니다. 이것은 미래에 내가 특정 작업에 대해 청구해야 할 기준을 제시 할 것입니다.

그때까지 오픈 소스를 발견했습니다. 나는 관심있는 언어로 sourceforge의 프로젝트를 살펴 보았고 내가 사용할 수있는 응용 프로그램을 찾았습니다. 이러한 응용 프로그램을 설치하고 매일 컴퓨팅 경험의 일부로 사용하기 시작했습니다. 나는 매일의 상호 작용이 가능한 한 이러한 응용 프로그램의 강점과 약점을 볼 수 있었고 내 필요에 맞게 확장하기 시작했습니다. 검토를 위해 개발중인 커뮤니티에 패치를 제출하고 몇 명 후에 프로젝트 멤버가되기 위해 지원할 것입니다. 이곳에서 당시에 고려했던 "풍부한 경험"을 한 팀에서 일할 때 사용한 다양한 도구를 사용하여 다음 단계로 넘어가는 방법을 배웠습니다.

저는 오픈 소스 프로젝트를 수행하면서 얻은 모든 관행을 조정하고 개인으로서 일할 때 적절한 솔루션을 구현했습니다. 저는 프리랜서 개발자로서 경력을 진지하게 추구하기 시작했고 많은 프리랜서 채용 사이트에 가입했습니다. 나는 인기있는 직업이 무엇인지보고 신청을 시작했습니다. 내가 거절 할 모든 직업에 대해, 나는 지식을 넓히기 위해 직업을 얻은 것처럼 여전히 자신을 위해 그것을 완성 할 것입니다. 이것은 내 포트폴리오를 구축하고 실제 문제를 소개하는 데 도움이 될 것입니다. 마지막으로 첫 인터뷰를 받았을 때 나는 솔직했고 전문적인 경험이 없다고 말했다. 나는 그들에게 내가 일한 오픈 소스 프로젝트, 내가 거기서 성취 한 것을 말하기 시작했다. 내가 만난 몇 가지 주요 장애물과 해결 방법.


0
  1. 최대한 많이 배우십시오. 이것은 책, 포럼, 수업으로 이루어질 수 있지만 가장 중요한 것은 실제로 프로그래밍하고 비판을받는 것입니다. 고등학교에서 프로그래밍 수업을 능가했다면 지역 (커뮤니티) 칼리지에 좋은 CS 수업이 있는지 확인하십시오 (여름 또는 야간 수업). 또는 MIT / Stanford 유형의 개방형 코스웨어를 사용해보십시오.
  2. 주도권을 보여줍니다. C ++은 완전히 무시된다는 것을 알고 있습니다. 오픈 소스 프로젝트 목록에 수십 개의 커밋이 있다고하면 무언가 등을 알고 있음을 알 수 있습니다 (주의하지만 커밋을 위해 커밋하지 마십시오). 자신 만의 오픈 소스 프로젝트를 시작하십시오. 이것은 오후에 할 일이 아닙니다. 그러나 몇 달 동안 아기가되는 것. 유용한 기능을 수행하고 사람들이 다운로드하도록하는 Android / iphone 앱을 작성하고 게시하십시오.

추신 : 제가 대학에 지원 한 지 오래되었습니다. 그래도 여전히 이런 것들을 열거 할 수있는 기회를 제공합니까? (예 : 취미에 관한 섹션 또는 관심사에 대한 에세이 질문).


0

JohnFX가이 질문에 큰 답을했다고 생각합니다.

몇 가지 생각 :

  • jQueryUI가 시작하기 가장 좋은 곳이라고 생각합니다. 재미 있고 시각적입니다. 따라서 jQuery 사이트의 jQueryUI 개발자 포럼으로 이동하여 기고자에게 요청할 수 있습니다.

  • 훌륭한 기술을 시연하는 것보다 프로그래밍에 대한 열정과 헌신을 보여줄 것이라고 생각합니다. 그러나 그만 두지 마십시오! 참여해 주시기 바랍니다.

  • 이 시점에서 QA를 수행하기 위해 정산해야 할 수도 있습니다. 품질 보증은 지루하지만 수락하고 헌신 할 수 있습니다. 그러나 거기에서 약간의 코드를 제공하고 플러그인을 만들 수 있습니다.

  • 당신이 무언가에 참여하도록 요청하고 그들이 어렵게 만드는 것은 그들이 멍청하기 때문입니다. 사람들이 격려하고 좋은 프로젝트를 찾으십시오.

  • 격려적이고 멋진 사람들이있는 프로젝트를 찾고 당신이 기여한 후에는 성인 기고자 중 한 명 또는 프로젝트 책임자 중 한 명에게 짧은 추천서를 쓰도록 요청할 수 있습니다.


0

나는 "자신을 과대 평가하지 마십시오"라고 대답 한 사람들에 대해 정중하게 동의하지 않습니다!

당신이 당신의 나이에 프로그래밍에 대한 사랑이 있다면, 가십시오, 당신은 아마 당신의 나이에 다른 아이들보다 위대하고, 당신이 베테랑이 될 때, 당신은 다음 Brian Kernighan, Edsger Dijkstra 또는 Doug Lea가 될 것입니다!

아이폰이나 안드로이드 개발을 배우고 실제 앱을 만들 것을 제안합니다.

무언가를 잘하고 거기에 도착하는 동안 회의에서 연설하고 기사를 작성하면 눈에 띄게되고 기술을 연마 할 수 있습니다.

저는 70 년대 후반부터 1996 년부터 Java로 프로그래밍을 해왔습니다. 제가 읽은 가장 중요한 Java 책은 Java가 발명되기 10 년 전에 작성된 Gang of Four Design Patterns입니다. 잘 읽어보세요!

오늘날 가장 많이 지불하는 산업은 금융이지만 빠르게 변화하고 있습니다. 나는 그것이 다시 올 것이라고 믿는다. 그러나 당신은 결코 모른다!

프로그래머가되어 높은 고용 및 직업 만족도를 즐기십시오!

행운을 빕니다, 당신은 당신보다 앞서 좋은 경력을 가지고 있습니다!


0

iPhone 및 Android에서 잘 작동하는 웹 앱을 구축하고 (현재는 표준 브라우저 무시) HTML5의 확장 기능 (https://developer.mozilla.org/en/HTML/HTML5)을 활용하여 대기 시간, 점잖은 네트워크, 그리고 전화 브라우저의 한계. 이것은 아마도 서버 기반 API에 연결되는 javascript + html5 브라우저 앱을 제공하는 것을 의미합니다. (SOAP가 아닌 xmlrpc / json / yaml을 선택하십시오). 빨리 비명을 지르세요. 서버에서는 저렴한 VPS의 Linux (데비안)에서 cherrypy를 사용하는 것이 좋습니다. 123systems.com, buyvm.net (바람직하지만 종종 제공되지 않음)에서 한 달에 4 달러 미만으로 구입할 수 있습니다. Python 사용 방법을 배우고 Fabric을 사용하여 물건을 서버에 배포하십시오. namecheap.com에서 .info 도메인을 1 년에 2.99 달러에 구입하고 dnsmadeasy.com을 DNS에 사용하십시오 (비싸지 만 가치가 있습니다. DNS를 통해로드 밸런싱을 수행 할 수있는 단일 문제는 없었습니다. 또한 데이터베이스에 의해 연기되지 마십시오. sqlite를 사용하고 SQL 문으로 테이블을 수동으로 디자인하는 방법을 배웁니다. 마지막으로 한 대의 컴퓨터로 30,000 명의 사용자를 처리 할 수 ​​있습니다. (3 초마다 한 번 적중시 2,000 회 동시) HTML5의 저장소에 가능한 한 많이 캐시해야합니다.

이 작업을 수행하고 블로그 항목에 대해 블로그를 작성하고 블로그 항목 및 진행 상황을 확인하면 확실히 알 수 있습니다. 배울 것이 많지만 할 수 있습니다!


-1

내 작업을 알아볼 수있는 좋은 장소는 무엇입니까?

인터넷의 어느 곳에서나 깔끔하고 독창적 인 유틸리티와 같이 언급 할 가치가있는 것을 쓰면 많은 사람들이 사용 / 다운로드 할 수 있습니다. 이미 이미이 작업의 큰 부분을 수행했습니다. 시원하고 유용하며 사용 가능한 응용 프로그램은 스스로 광고합니다.

젊은 프로그래머를위한 저널이나 출판물이 있습니까?

출판물이 아니라면 좋은 블로그가 있습니까 아니면 직접 시작하는 것이 더 좋습니까?

당신은 이미 여기에 있습니다-이것은 많은 공동체에서 하나이며, 공유하고자하는 열망과 알기로 유명합니다. 다른 사람들은 공과 주제를 현재 토론에 연결하는 것보다 더 행복합니다.

프로그래머로 주목받는 데 도움이되는 다른 것이 있습니까?

생산적이고 창의적이며 유용한 프로그램이라면 프로그래밍을위한 프로그램 만 작성하면됩니다.

다른 답변에서 언급했듯이 한 가지 요점은 오픈 소스 프로젝트에 대한 기여입니다. 코딩을 향상시키는 유일한 방법은 현재 문제를 해결하는 것보다 코딩하는 것입니다. 왜냐하면, 해결해야 할 문제가 없다면, 당신은 헛된 것입니다 ... 오, 한 가지 더, 심술쟁이 노인들은 마음이 부풀어지고 의도적으로 낙담하고 "젊은 채찍 박쥐"의견을 말하지 않습니다. 열성적인, 그게 당신이 필요한 전부입니다.


-1

내가 너라면, 당신은 당신이 프로그램을 말한다 알려진 내 지식이 내 작품을 던졌다 만들 것 c때문에, 일상 사용자 PC의 환경에 맞있어 프로그램을 만들기 시작 같은 일을 youtube downloader하고 자신의 시작 dev team에만 19 헤이 남자 메신저와 나는 4 년 프로그램 시작 전에 나는이 메신저를 후드에서 젊은 흑인 남자로 데려 가라. ... 그래서 나는 당신이 프로그래밍에 대한 열정을 이해할 수 있었지만 동시에 프로그래밍은 많은 시간과 노력을 들일 수있다. 컴퓨터에 앉아있는 모든 시간은 어린 소년에게 스트레스를 줄 수 있습니다.


-1

작업을 인정받을 수있는 곳이 많이 있지만 작업을 최고 수준으로 생각할 수 있지만 일부는 직장에서 간단한 날일 수 있습니다. 내가 16 살이었을 때, 나는 일이 대단하다고 생각했고, 멋진 일을하고 있었지만, 지금은 실제로이 분야에서 일하고 있는데, 내가 있었던 곳은 현재의 곳과 비교할 수 없으며 여전히 먼 길입니다. 내가 원하는 곳에서


-2

게임을하고 있다면 Ludum Dare에 참여하십시오. 좋은 게임은 명성을 얻게 될 것입니다.


-3

주목 받고 돈을 벌고 싶다면 iPhone 또는 Android에서 모바일 개발을 권장합니다. 이미 C ++을 알고 있습니다. 이는 훌륭한 시작입니다. iPhone의 기본 개발에는 Objective C가 필요하며 Android의 경우 Java가 필요합니다. 둘 다 C ++과 비슷하며 (메모리 관리가 없기 때문에 Java가 더 쉽다) 배우기가 어렵지 않을 것이다. 따라서 주목할만한 응용 프로그램을 작성하고 돈을 벌 수있을뿐만 아니라 그 과정에서 새로운 언어와 핫 플랫폼을 배우게됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.