나는 과연 엔지니어가 될 수 있을까?

제 친구가 최근에 저에게 연락을 했고 저는 그와 연락을 취하고 있었고 우리는 우리의 삶과 직업에 대해 이야기하고 있었습니다. 그는 뚜렷한 방향 없이 생계를 유지하기 위해 고군분투하고 있습니다. 나는 그가 엔지니어가 되어야 한다고 제안했습니다. 왜냐하면 초임 급여가 정말 좋고 멋진 물건을 만들 수 있기 때문입니다. 그는 창의적인 사람이므로 많은 의미가 있습니다.

그는 나에게 위의 질문을 던졌다. 나는 다음과 같은 질문으로 대답했다.

Suppose Santiago was a shepherd. 
He sold a bunch of his sheep to his friend, then he sold, 10% of his flock, 6 sheep to a merchant in town. 
He took the proceeds to travel a journey to find a lost treasure near the pyramids of Egypt. 
How many sheep did he have in his whole flock?

네, 연금술사의 산티아고입니다. 이것은 기초 단어 문제로, 이를 풀기 위해서는 기초 대수학을 사용해야 합니다.

Y is the size of the flock,
y * .1 = 6

X is the number of sheep he sold to his friend
y - 6 = x 

Y는 무리의 크기, .1은 십진법으로 10%, 6은 산티아고가 이미 보유하고 있는 양의 수입니다. 여기서부터 간단한 문제가 됩니다.

y * .1 = 6
(y * .1)/.1 = 6/.1
y = 6/.1
y = 60

His flock was 60 sheep

y - 6 = x
60-6 = x
54 = x 

He sold 54 sheep to his friend

나는 그에게 그 문제를 해결할 수 있다면 엔지니어가 될 수 있다고 말했다. 왜요?

왜 소프트웨어 엔지니어가 될 수 있습니까?



위의 문제를 해결할 수 있다면 joe plumber에서 joe 프로그래머로 이동할 수 있는 기본 기술이 있다고 주장합니다. 이유는 다음과 같습니다.
  • 단어 문제를 해결하는 것은 실제 비즈니스 문제를 해결하는 것과 매우 유사합니다. 당신은 문제를 분석하고 어떤 종류의 결과를 결정할 필요가 있습니다. 논리적이고 단계적인 알고리즘적 사고입니다.
  • "코딩"은 작업의 한 부분일 뿐입니다. 어떤 사람들에게는 그것이 작업의 80-100%일 수도 있지만 유일한 것은 아닙니다. "Agile"스크럼 개발을 할 때 저는 일상적으로 하루에 2-3시간을 회의에 보냈습니다. 관리직도 아니었습니다. 종종 개발자는 요구 사항 검토, 설명 요청, 테스트 작성, QA와 논쟁, 코드 작성과 같은 시간의 일부를 보냅니다.
  • 독해력은 매우 중요합니다. 위의 문제를 해결할 수 있다면 문제를 이해하고 솔루션으로 변환하는 방법을 알고 있음을 보여줍니다. 읽기는 중요하며 많은 개발자가 종종 간과합니다. 설명서에 쉽게 답이 나와 있는데 선배가 찾아온 횟수가 셀 수 없다!
  • 하루의 대부분을 코드를 읽고, 시도하고, 디버깅하는 데 보내며, 새 코드를 많이 작성하는 것보다 (일반적으로 새 제품이 아닌 한) 더 많은 시간을 보냅니다. Thingy X는 Thingy Y와 함께 작동해야 하며 C를 사용하는 동안 기능 A 또는 B를 중단할 수 없습니다. 그런 종류의 것입니다.

  • 개발자에게 필요한 기본 역량은 무엇입니까?


  • 요구 사항을 읽고 이해하며 팀과 협력하여 이러한 것들을 구축하는 능력.
  • 팀 및 다른 사람들과 함께 일할 수 있는 능력.
  • 1개 언어(이상적으로는 여러 개)로 프로그래밍할 수 있는 능력.
  • 논리적으로 생각하는 능력.
  • 배우고 성장하려는 능력과 욕구

  • 배우고 성장하고자 하는 열망, 다른 사람들과 읽고 협력할 수 있는 능력, 그리고 마지막으로 최소한 1개 언어에 대한 지식이 있는 경우; 아마도 프레임워크를 아는 것도 좋을 것입니다. 그러면 전문 소프트웨어 엔지니어가 될 수 있습니다.

    로켓을 우주로 발사하거나 생물 의학 연구 문제를 해결하기 위한 소프트웨어 시스템을 구축하지는 않을 것입니다. 당신은 아마도 차세대 API, 데이터 스토리지를 구축하고 새로운 산업의 모든 유행어를 배우는 기업 계급 및 파일 구축에 합류하게 될 것입니다. 당신은 많은 돈을 벌 수 있고 당신은 그것을 하는 많은 재미를 가질 수 있습니다.

    원래 posted on my blog

    좋은 웹페이지 즐겨찾기