paint-brush
IT 및 소프트웨어 개발 분야에서 30년 동안 경력을 쌓아온 방법~에 의해@raddevus
2,037 판독값
2,037 판독값

IT 및 소프트웨어 개발 분야에서 30년 동안 경력을 쌓아온 방법

~에 의해 Roger Deutsch11m2023/02/16
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

1983년에 한 교사는 학생들에게 컴퓨터 프로그래머가 되려면 수학을 아주 잘해야 한다고 말했습니다. 교사는 데이터 처리가 무엇인지 전혀 몰랐습니다. 그는 그룹을 고등학교의 데이터 처리실로 이끌었고 그곳에서 거대한 라인 프린터를 보았습니다. 거대한 프린터는 컴퓨터에서 데이터를 인쇄하는 데 사용되었습니다. 이 경험으로 인해 컴퓨터 프로그래밍에 대한 아이디어가 사라졌습니다.
featured image - IT 및 소프트웨어 개발 분야에서 30년 동안 경력을 쌓아온 방법
Roger Deutsch HackerNoon profile picture
0-item

1983년 직업의 날

오래 전(1983년) 나는 고등학교 복도 끝에 닫힌 문 밖에 있는 이 거대한 라인 프린터(아래 참조) 앞에 서 있었습니다. 그날은 Career Day였고, 저는 더 알고 싶은 직업으로 데이터 처리(컴퓨터 프로그래밍)를 선택했습니다.

선생님은 전혀 모른다

복도 끝에 있는 프린터 앞에 서기 전에 우리는 모두 교실에 앉아 데이터 처리가 무엇인지 설명하는 교사의 말을 들었습니다. 선생님이 큰소리로 손을 흔들면서 데이터 처리가 무엇인지 전혀 모른다는 것이 우리 모두에게 분명해졌습니다.


기존 IBM 라인 프린터


물론 수학

하지만 선생님이 고집했던 한 가지는 수학과 컴퓨터의 연결이었습니다.


“데이터 처리 분야에서 경력을 쌓으려면 수학에 매우 강해야 합니다.”라고 교사가 말했습니다. “수학을 잘하지 못하면 컴퓨터를 접할 기회가 없습니다.”


나는 의자에 털썩 주저앉았다. 나는 이미 내가 수학을 못한다는 것을 알고 있었다. “그들”이 나에게 말했었습니다.


아이디어가 부족한 선생님이 우리를 데이터 처리실로 안내합니다

30분간의 강의가 끝나자 선생님은 우리를 고등학교 데이터 처리실로 데려가셨습니다. 마지막으로 사람들이 컴퓨터 앞에 앉아서 실제로 프로그래밍을 하는 모습을 보았습니다. 나는 그들의 컴퓨터 모니터를 잠깐 보고 프로그래머가 실제로 무엇을 하는지 살펴보았습니다. 아니요.


우리가 거대한 프린터 앞에 섰을 때 선생님은 이렇게 말씀하셨습니다. “프로그래머들이 하루 종일 그 소리를 듣지 않아도 되도록 이 프린터를 여기에 내놓았어요. 시끄러워요.”


그룹 중 누군가가 닫힌 문을 가리키며 “자, 들어가서 그들이 무엇을 하는지 볼 수 있을까요?”라고 물었습니다.


1980년대 프로그래머에게는 침묵이 필요하다

선생님은 고개를 저으며 말했습니다. “글쎄, 우리는 컴퓨터 부서를 귀찮게 할 수 없기 때문에 들어갈 수 없습니다. 그들은 일을 하려면 많은 조용함이 필요합니다. 그런데 여기 그들이 사용하는 프린터가 있습니다.”

그래서 그게 다였습니다. 나는 잠시 동안 거대한 프린터를 바라보다가 눈살을 찌푸렸다.


나를 위해 완전히 죽인 컴퓨터 프로그래밍

나는 거대하고 조용한 괴물을 쳐다보며(당시에는 인쇄도 하지 않아서 너무 지루했다) “어! 글쎄, 이것은 나에게 컴퓨터 프로그래밍에 대한 아이디어를 없애줍니다. 저는 수학을 잘 못하는데 데이터 처리가 완전 지루한 것 같아요.”


2023년으로 빨리감기

여기 2023년에 저는 IT(정보 기술) 분야에서 32년 동안 근무했으며(여전히 근무 중), 1999년부터 소프트웨어 개발자로 근무했습니다(23년 이상). 저는 1991년부터 계속해서 IT 분야에 종사해 왔습니다. 고등학교 선생님이 제가 결코 성공할 수 없을 것이라고 장담한 일로 가족을 부양할 수 있었기 때문에 그것은 좀 큰 일입니다.


수학에 관한 것이 아니라 학습에 관한 것입니다.

오래 전에 그 선생님은 수학이 그렇게 중요하다는 것에 대해 근거가 없었습니다. 수학은 프로그래머가 되는 데 도움이 될 수 있습니다. 하지만, 반드시 필요한 것은 아닙니다. 사람이 좋은(또는 훌륭한 소프트웨어 개발자)이 되기 위해 정말로 필요한 것이 무엇인지 그가 몰랐다는 것은 안타까운 일입니다.

1983년과 1991년 사이에 나에게 무슨 일이 일어났는가?

나는 컴퓨터 프로그래머가 되겠다는 생각을 포기했지만 컴퓨터를 가지고 놀기 시작했습니다.


콜레코 아담

내 첫 번째 컴퓨터는 1984년에 구입한 Coleco Adam(wikipedia) 이었습니다. Coleco Adam은 Colecovision 게임 시스템을 만든 회사에서 제작했습니다(게임에 동일한 카트리지를 사용함). Adam에는 내장형 워드 프로세서와 고속 카세트에서 로드할 수 있는 BASIC 프로그래밍 언어가 있습니다.


Coleco Adam에는 두 개의 고속 카세트 드라이브가 함께 제공됩니다.

이미지 작성자: Andrew Lih .


BASIC 프로그래밍을 시도했습니다.


나는 Family Computing 잡지에 실린 목록에 있는 프로그램을 충실히 입력했지만 언제나 뭔가 잘못 입력하거나 잡지에 뭔가 잘못 인쇄되어 프로그램이 전혀 작동하지 않았습니다.


이것은 선생님이 나에게 “너는 수학을 모르기 때문에 결코 컴퓨터 프로그래머가 될 수 없다”라고 했던 말을 확증하는 것 같았다.


놀랍게도 제가 입력하려고 했던 원본 프로그램 중 하나가 실제로 다음 링크의 Archive.org에 보관되어 있었습니다(이것은 제가 1984년에 읽은 실제 Family Computing 잡지 입니다).


실제로 입력하려고 시도한 코드의 스냅샷은 다음과 같습니다.


Family Computing 잡지의 BASIC 코드


TRS-80 - Tandy Radio Shack 모델 80

그리고 다음 해(1985년) 고등학교 3학년 때 프로그래밍 수업을 듣고 TRS-80에 대한 BASIC을 배웠습니다. 최종 프로젝트를 위해 다른 학생들의 코드를 복사했던 기억이 나기 때문에 제가 많이 배웠거나 이해했는지 잘 모르겠습니다.


1986 코모도어 128

마침내 1986년에 나는 지역 백화점에서 Commodore 128을 구입하고 그것으로 게임을 시작했습니다. 나는 게임을 로드하는 방법을 배워야 했고, 그 당시에는 뭔가를 배우려면 매뉴얼을 읽어야 했습니다.

도중에 무슨 일이 일어났나요?

하지만 그 과정에서 제가 사용하고 있던 모든 명령에 대해 정말 좋은 기억력을 가지기 시작했다는 사실을 깨달았습니다. 그냥 재미있게 놀고 게임을 하고 있어서 별 생각이 없었어요.


놀이는 이해를 향한 확실한 길입니다

컴퓨터를 계속 가지고 놀면서 나는 훨씬 더 나은 이해를 얻기 시작했고 컴퓨터에 대해 편안함을 느끼기 시작했습니다. 나는 선생님이 말씀하신 것에 대해 생각하지 않았고, 수학 실력이 부족하다고 걱정하지도 않았습니다. 배우고 있었지만 실제로는 몰랐습니다.

그렇다면 소득에 대한 절망

그러다가 1989년쯤에 다양한 대학 과정을 시도했지만 실질적인 성공을 거두지 못한 후 마침내 컴퓨터 수업을 몇 개 들었고 내가 배우고 있는 내용이 의미가 있다는 것을 깨달았습니다.

하지만 수입도 필요했기 때문에 커뮤니티 칼리지의 컴퓨터실에 취직하여 워드 프로세서를 시작하는 방법이나 파일을 플로피 디스크에 저장하는 방법을 모르는 사람들을 돕기 시작했습니다.


커뮤니티 칼리지 2년이면 충분했어요

저는 COBOL(Common Business Oriented Language)에 대해 두 수업을 들었는데 정말 좋았어요! 정말 지루해요. 저는 응용 과학 컴퓨터 정보 시스템 분야에서 준학사 학위를 취득하고 졸업할 예정이었지만 너무 지쳐서 수업 세 개만 마치기 전에 중단했습니다.


아직 세 가지 수업을 마치지 못했습니다.

  • 코볼 III
  • 경영 205
  • 비즈니스용 컴퓨터 CIS 112


나는 동네 컴퓨터 가게에 일하러 갔다. 우리는 IBM 호환 PC를 제작하고 판매했습니다(386 및 468 Intel 프로세서는 출시되었으며 Windows 3.0을 실행하고 있었습니다).

1992년 기술지원

1992년에 나는 대규모 회사에서 특정 소프트웨어 패키지에 대한 기술 지원을 담당하는 일을 맡았습니다. 무슨 일이 일어났기 때문에 그것이 내 경력의 진정한 시작이었습니다. 나는 내 모든 기술이 합쳐졌다는 것을 깨달았습니다. 나는 또한 Windows에서 실행될 작은 프로그램을 작성하는 데 집중하기 시작했습니다. C++ 프로그래밍을 배우기 시작했습니다.


수학 요구 사항에 대한 생각을 멈추고 소프트웨어 작성을 시작했습니다.


그래서 예전에 선생님이 하신 말씀을 걱정하기보다 뭔가를 만드는데 집중하기 시작했어요. 내가 좋아하는 일을 하면서 또 다시 '노는 것' 같았어요.

내 직업에서는 사람들이 DOS에서 설정하도록 하는 방법(config.sys 파일에서 Himem.sys 구성 )을 이해해야 했기 때문에 그 과정에서 PC가 어떻게 작동하는지 배웠습니다.


문지기는 진짜였어

물론 그 길에는 문지기도 있었습니다. 내가 프로그램을 작성하기 시작했을 때, 나와 함께 일한 개발자들은 종종 나의 지식 부족을 조롱하고 내가 작성한 프로그램에 구멍을 뚫어 내가 배울 것이 많고 프로그래머가 될 가능성이 거의 없다는 것을 상기시켜주었습니다. .

내가 이 모든 것을 언급하는 이유는 무엇입니까?

슬프고 힘든 삶에 대해 투덜거리거나 불평하는 것처럼 들릴 수도 있지만, 그렇지 않습니다.

아니면 내가 한 일을 자랑하는 것처럼 들릴 수도 있습니다. 실제로는 그렇지 않습니다. 실제로 기술이 전혀 없는데도 컴퓨팅 분야에서 경력을 쌓을 수 있다는 사실에 놀랐습니다.

저는 이 기사에서 세 가지 사실을 밝히려고 합니다.

이 기사의 세 가지 주요 요점

  1. 저는 아무런 기술도 없이 시작했고 업계에서 0도 안되는 존재로 여겨졌습니다.
  2. 저는 컴퓨터 기술이 의심스럽고 대학 학위가 없음에도 불구하고 30년 넘게 IT(주로 소프트웨어 개발) 분야에서 저와 가족을 부양해 왔습니다.
  3. 내가 할 수 있었다면(그리고 지금도 하고 있다면) 당신도 할 수 있다


하지만 그 과정에서 성공하는 데 도움이 되는 몇 가지 사항이 있다는 것을 알게 되었습니다.

첫 번째 것은 어떤 개인이나 대학에서도 귀하에게 제공할 수 없습니다. 그러나 그것이 당신이 그것을 가지고 있지 않다는 것을 의미하지는 않습니다.

사람에게 정말로 필요한 것

다행스럽게도 IT 세계로 기어들어가는 동안 나에게 가장 도움이 되는 것들을 우연히 발견했습니다.


시작하고 낙담을 느끼는 경우

어쩌면 나는 이러한 것들 중 몇 가지를 밝힐 수 있으며, 당신이 시작하고 낙담을 느낀다면 당신의 길을 계속 나아가는 데 도움이 될 것입니다.


소프트웨어 개발 및 학습에 대해 내가 배운 것

수년에 걸쳐 저는 지치지 않고 IT 세계에 머무르는 데 도움이 되는 몇 가지 사항을 발견했습니다. 이러한 것들은 내가 정규 교육을 거의 받지 않았음에도 불구하고(대학 학위가 없음) 앞으로 나아갈 수 있도록 도움을 주었습니다.


먼저, 관심을 가지세요

가장 먼저 알아야 할 사항은 다음과 같습니다.


주제에 대한 열정이 당신을 어려움을 이겨낼 것입니다

무엇이든 배우는 것은 어렵고 프로그래밍 언어나 기술을 배우는 것도 매우 어려울 수 있습니다. 새로운 기술과 언어를 배우면 하루가 끝날 때마다 압도당하고 무력감을 느낄 수 있습니다. 프로그램이나 기능을 작동시키는 데 어려움을 겪으면서 결코 성공할 수 없다고 느낄 수도 있습니다. 하지만 스스로에게 물어봐야 할 중요한 것은 '내가 정말 이 일을 좋아하는가? 나는 사물을 알아내는 도전을 정말 좋아하는가?”

솔직하게 그렇게 한다면 막혀서 결코 이해하지 못할 것 같은 느낌이 들더라도 이겨낼 수 있을 것입니다.

기술의 모든 부분을 사랑해야 한다는 말은 아닙니다.

내가 당신이 하는 모든 일을 사랑해야 한다고 말하는 것이 아니라는 점을 이해해 주십시오. 내가 과거에 사용해야 했던 프로그래밍 언어 중 내가 싫어하는 것이 있습니다(PERL, 싫어요!). 마음에 들지 않는 부분을 극복하는 방법이 있습니다.

바보 같은 느낌은 쉽지 않다

때때로 우리가 기술(또는 우리가 이해하지 못하는 것)에 압도당하는 것은 사실 기술이 우리를 바보처럼 느끼게 만들기 때문입니다.

보통 사람들은 내가 방금 말한 것을 큰 소리로 말하지 않으므로 다시 한 번 말씀드리겠습니다.

기술은 종종 우리를 바보처럼 느끼게 만듭니다. 우리는 우리 자신, 우리의 지식, 심지어 우리의 삶에도 의문을 제기하기 시작합니다. "저 한테 뭐가 잘못된 거예요? 나는 왜 이것을 이해할 수 없습니까? 내가 멍청한 게 틀림없어.”


나는 IT 생활의 대부분을 바보 같은 느낌으로 살아왔습니다.


IT 산업은 끊임없이 변화하고 있기 때문에 때때로 우리는 우리가 작업하는 것에 대한 지식이 없는 상황에 처하게 됩니다. 이것은 지식이 부족한 것입니다.


지식이 부족하면 약점처럼 느껴진다


이것은 약점처럼 느껴집니다. 우리는 알려지지 않은 기술과 알려지지 않은 곳에서 일하고 있으며 스스로 발을 디디는 것이 어렵습니다. IT 산업은 너무나 자주, 너무 빠르게 변화하기 때문에 우리는 종종 약점을 가지고 일을 하고 있습니다.


많은 사람들이 이렇게 느낀다는 점을 이해하십시오. (그러나 그것을 말하지는 않을 것입니다.)


IT 업계에 종사하는 많은 사람들이 그렇게 생각하지만, 겉으로 드러나는 약점이 드러날 경우 평판을 잃을 수도 있고 심지어 직업을 잃을 수도 있다고 생각하기 때문에 큰 소리로 말하지는 않습니다.


자신에게 알지 못하는 자유를 주세요

당신은 자신에게 유효한 사람이라는 느낌을 주면서도 아무것도 모르는 자유를 주어야 합니다. 모든 것을 알 필요는 없고, 모든 것을 아는 것은 어쨌든 불가능하다.


주제에 대한 열정을 유지하려면: 원하는 것을 하십시오

이 모든 학습은 극도로 압도적일 수 있으며 우리를 매우 나약하게 느끼게 만들 수 있습니다. 그 약점은 주제에 지루해짐에 따라 종종 불쾌감으로 변합니다. 당신의 뇌는 반항하며 이렇게 말합니다. “우리는 이런 쓰레기 같은 것을 배울 필요가 없습니다. 난 이런 걸 배우는 것도 좋아하지 않아요.”

그 순간에 당신이 해야 할 일은 다음과 같습니다:

원하는 것을 구축하세요

당신이 원하는 것을 만드는 데 집중한다면, 당신은 약간의 에너지를 얻게 될 것이고, 그것이 당신을 어려운 부분을 헤쳐나갈 수 있게 해줄 것입니다.

원하는 것을 완전히 구축할 수 없다면 가까운 작업을 수행하는 예제를 찾아 작동시키고 해당 예제를 원하는 것으로 바꾸는 데 집중하세요.

튜토리얼 불쾌감에서 벗어나기

자신의 운명을 통제함으로써 힘을 얻을 수 있도록 자신의 일을 해야 합니다.

배우고 있는 내용에만 집중하는 대신(종종 매우 지루함) 원하는 것을 얻기 위해 기술을 어떻게 사용할 것인지에 집중하십시오. 그것은 당신에게 활력을 불어넣고 튜토리얼 Malaise에서 벗어날 것입니다.

당신이 압도 된 느낌이 든다면

압도당하고 그만두고 싶은 마음이 든다면:

  1. 잠시 시간을 내어 압박감을 제거하세요. 우리는 한 번에 한 가지만 배우게 됩니다. 하루에 한 번씩, 여러분은 이 일을 이겨낼 것입니다.
  2. 모른다고 편안하게 지내세요. IT 산업이 지식에 열광하더라도 아무것도 몰라도 괜찮습니다. 정말로 알아야 한다면 시간이 지나면 배우게 될 것입니다. 시간이 걸리고 괜찮습니다.
  3. 당신에게 흥미로운 것들을 만들어 보세요. 기분을 좋게 만드는 가장 작은 것(스크립트나 명령줄 프로그램, 원하는 작업을 수행하는 몇 줄의 코드)을 만드세요. 프로그래밍을 시작한 이유와 프로그래밍에 대해 실제로 좋아하는 점을 기억하세요.



내가 개발한 소프트웨어에 대해 배우고 싶다면 계속하세요.

FOSS(완전 오픈 소스 소프트웨어)

나는 내 모든 소프트웨어를 오픈 소스에 공개하고 있으며 내 GitHub 에서 내 모든 프로젝트를 확인할 수 있습니다.

소스를 확인하고 끌어내려 변경할 수 있습니다.

당신이 좋아할 만한 특정 프로젝트

C'YaPass: 비밀번호를 다시는 기억하지 마세요



핵심역량 - 연차평가 성과 창조자