이것은 '프로그래머'와 '소프트웨어 엔지니어'사이에 의미 적으로 의미있는 차이가있을 수 있습니다. 이러한 맥락에서 특히, 우리는 여러 프로그래밍 언어와 관련 기술에 대한 지식이 있으며이를 사용하여 원하는 결과를 얻을 수 있음을 알 수 있습니다. 이것은 '컴퓨터 프로그래머'의 훌륭한 작동 정의입니다.
저는 저 자신을 소프트웨어 엔지니어라고 생각합니다. 내 일의 대부분의 일상에서 나는 아마 당신과 같은 일을 할 것입니다. 컴퓨터 언어와 관련 기술을 사용하여 원하는 결과를 얻습니다. 그러나 저는 데이터 구조와 알고리즘에 대해 이해하고 있으며 지식이 훨씬 더 많은 것을 할 수있는 기본적인 토대라고 생각합니다.
종종 – 아직은 아니지만 – 내 직업은 명백한 해결책이없는 복잡한 문제에 대한 해결책을 찾는 것과 관련이 있습니다. 와. 이 과정에서 문제를 분석하고 솔루션을 고안해야하며 때로는이 프로세스가 대규모 아키텍처 영역으로 이동합니다.
이러한 종류의 작업을 수행하려면 이러한 더 깊은 문제에 대한 탁월한 이해가 필요하지만 충분 하지 않습니다 . 다시 말해, 해시 테이블의 작동 방식 또는 힙 정렬에 일반적으로 우수한 성능 특성이있는 이유를 아는 것만으로는 시스템 설계자 또는 선임 엔지니어로는 충분하지 않습니다. 이곳은 논리적 인 출발점이며, 더 깊이 파고 여행을 시작하고 더 큰 문제를 해결하는 데 필요한 경험을 얻을 수 있습니다.
본인의 질문에 대답하기 위해 "무엇을하고 싶습니까? 내 경력은 어디로 갈 것입니까?" 당신이하고있는 일을 계속하기에 만족한다면, 당신이 직면 한 거의 임의적 인 면접 질문을 통과하기에 충분한 데이터 구조와 알고리즘을 배우고 싶을 것입니다.
당신의 경력에서 성장하고 싶고 그에 대한 열정이 있다면, 당신은 가능한 한이 주제들을 포용해야합니다. 그들과 함께 일할 시간이 있고, 열린 마음과 진정한 열정이 있다면, 훌륭하고 흥미로운 것들을 발견 할 것입니다. 내가 퀵소트를 처음 이해 한 날을 절대 잊지 않을 것입니다. 흥분과 발견의 느낌은 내 남은 인생의 대부분을 향한 길을 열었고 나는 그것에 대해 더 감사 할 수 없었습니다. 이제는 소프트웨어 엔지니어로 일하는 것 외에는 아무것도 할 수 없습니다.
당신이 선택한 무엇이든 행운을 빈다.