당신은 당신이 실제로 짓고있는 것보다 무언가가 어떻게 만들어 지는지에 대해 더 걱정하고 있다고 걱정합니까?


11

프로그래머로서 나는 내 도구, 다른 사람들의 코드, 내 코드, 일반적으로 세계에서 고유 한 잔소리가 발생합니다. 항상 개선하고 싶습니다. 리팩토링, 나는 최신 기술을 유지합니다. 나는 패턴을 배우고, 바퀴를 재발 명하지 않도록 프레임 워크를 사용하려고합니다. 내가 짜낼 수있는 패턴의 양으로 양말을 날려 버릴 기술 사양을 작성할 수 있습니다.

그러나 요즘에는 실제로 성공적인 소프트웨어를 구현하는 방법보다 사용하는 도구에 대해 더 많이 알고 있다고 생각합니다.

인적 요소 기술이 부족하다고 생각하며 성공적인 소프트웨어 엔지니어가 되려면 멋진 프레임 워크를 아는 것보다 더 많은 것이 필요하다고 생각합니다. 다음 스킬 셋도 필요하다고 생각합니다.

  • 인터랙션 디자인
  • 사용자 경험
  • 마케팅

나는 내가 함께 일했던 사람들과 내가 해본 훌륭한 프로젝트에서 배운 약간의 것을 가지고 있지만, 나는이 기술을 "소유"하는 것처럼 느끼지 않는다.

내가 맞아? 이 기술을 더 발전 시키려고 노력해야합니까, 아니면 경력을 쌓기 위해 이것을 수행하는 사람들에게 맡겨야합니까?

어떤 일을하고 있는지에 너무 얽매이지 않고 "사용자를 멋지게"만드는 방법은 무엇입니까?

프로그래밍 관점에서 이러한 기술을 배우는 데 유용한 자료를 아는 사람이 있습니까?


2
그렇습니다. 당신이 한 사람의 회사라면, 당신은 즉시 꼬집음을 느꼈을 것입니다. 스타트 업은 생존을 위해 싸우는 것을 얻지 못하고 다음 달에 베타 품질의 물건을 내 놓거나 죽어야하거나 고객과 이야기 할 때 진실을 조금이라도 늘릴 수 없기 때문에 고용하지 않을 수도 있습니다. 그러나 잘못 관리되는 대기업에서는 이기적인 자기 이익을 추구하는 것이 좋습니다. 어쨌든 경영진은 항상 그렇게합니다.
직업

나는 "와우, 원활하게 작동한다"고 생각하는 훌륭한 제품을 사용하는 것을 좋아합니다. 따라서 "와우"제품을 만드는 데 참여하려고 노력하는 것은 저에게 당연합니다. 이것이 당신에게 자연스럽지 않다면, 아마도 이것을 즐기고 좋은 돈을 기꺼이 지불하려는 사람들을 염두에 두십시오 (Apple 제품 생각).
LennyProgrammers

2
결과 지향적 인 근로자 대신 프로세스 지향적 인 근로자가되는 길에 들리는 것처럼 들립니다. 프로세스에 집중하면 익숙해지기 때문입니다. 프로세스에서 벗어나 결과에 집중하는 방법을 배웁니다. 당신이 말했듯이, 디자인 패턴과 재료는 단지 도구 일뿐입니다. 당신의 주요 관심사는 당신이 만들고있는 제품이 어떤 문제를 해결할지에 관한 것이어야합니다.
whatsisname

1
@whatisname, 그렇게 간단하지는 않습니다. "결과"는 그러한 것으로 보일 수 있으며 그러한 응용 프로그램은 함께 해킹 된 일부 임시 코드로 버전 1.0에서 훌륭하게 작동하지만 버전 2.0에서는 큰 변화가 필요합니다. 재 작업이 필요한 이전 노력의 "결과"에 갇히게 될 것입니다. 실제로 사용자 관점에서 응용 프로그램의 기능이 빙산의 일각 일 뿐이고 여러분이 할 수있는 상황이라고 생각합니다. ' t "결과"를 그저
programmx10

@whatisname 만약 이것이 답이 되었다면 나는 그것을 받아 들였을 것이지만 나는 당신에게도 동의합니다. Rick. 내가 얻으려고하는 것은 두 가지 기술 세트 중 하나가 균형을 이룰 수있는 지점이므로 최고의 도구와 기술을 사용하면서 훌륭한 사용자 경험을 디자인 할 수 있습니다. 지금 어느 한쪽이 고통 받고있는 것 같습니다. 두 기술을 모두 자연스럽게 만들어야합니다.
Rob Stevenson-Leggett

답변:


5

내 충고 : 가능한 한 많은 사용자와 대화하십시오. 대기업에 속해 있고 사용자와 다른 대륙에 있는지 또는 프리랜서 유형에 있는지 모르겠지만 가능하면 사용자와 대화하십시오.

나는 많은 시간을 되돌려야만한다는 것을 알고 세계가 지금까지 본 것 중 가장 큰 코드를 작성하거나 최소한의 사이클을 사용하는 함수를 작성하는 것이 내 일이 아님을 기억해야한다. 기술적으로 가능한 가장 짧은 시간이지만 사용자가 업무를 수행하는 데 필요한 모든 것을 만들 수 있습니다. 그리고 그 효과에 대해, 나는 (어쨌든) 기술적 인 능력을 넘어서서 가장 좋은 두 가지 특성이 사용자 비즈니스에 대한 좋은 실무 지식과 그들과의 좋은 협력 관계라는 것을 알게되었습니다.

나는 소규모 (~ 50 명) 회사에서 일하고 있으며, 누군가의 큐브에 올라가서 내가 만든 것 / 고정 된 것에 대해 이야기 할 수있는 것을 좋아합니다. 내가 직장에서 얻은 가장 좋은 느낌은 그들이 자신의 작업에 대해 이야기하는 것을들을 수 있고 기술적 인 해결책조차도 실현할 수 없었던 문제를 해결할 수있는 것을 제안 할 때입니다. 내가 그들의 사업을 이해하지 못하고 그들과 우연한 대화를 할 수 없다면 그것은 불가능했을 것입니다.


사용자와 대화하기위한 +
1-

5

나는 그것이 당신이 일하는 곳과 미래에 어떤 유형의 회사로 이동하는지에 달려 있다고 말하고 싶습니다.

소규모 회사의 경우 많은 모자를 착용 할 수 있습니다 (자신의 제품을 판매하지 않는 한 마케팅이 왜이 목록에 포함되어 있는지 잘 모르겠습니다).

대기업에서는 이러한 일에 특히 집중하는 사람들이있는 경향이 있습니다.

실제로, 그것은 당신이 어디로 가고 있는지와 잠재적으로 더 많은 문을 여는 것에 관한 것입니다.


2
감사합니다-흥미로운 포인트. 내가 개발 블로그 등 그들이 통합되는 방법 SEO, 제휴, 생각하고 판매 이상으로 마케팅 뷰
롭 스티븐슨 - Leggett 보낸

2

모든 코드 줄에 대해 버그가 발생할 가능성을 소개합니다.

따라서 최상의 디자인은 DRY (Do n't Repeat Yourself) 원칙을 통해 도입 된 코드의 양을 최소화합니다. 그러나 신생 기업은 YAGNI (You Ai n't Gonna Need It) 접근 방식을 선호하므로 MVP (최소 실행 제품)가 훨씬 빨라집니다.

사용자가 원하는 것을 정확하게하는 깨끗하고 사용하기 쉬운 제품을 만드는 것이 목표라면 YAGNI는 최고의 디자인 패턴입니다. 작업 코드에 직접 기여하지 않는 모든 것을 버립니다. 여기에는 순수주의 구축 프로세스와 강박적인 패턴 사용이 포함됩니다.

일부 독서 자료

사용자 인터페이스 디자인에 대한 훌륭한 책인 " 생각하지 마십시오 "를 읽고 싶을 수도 있습니다 . 또한 Gitomer 시리즈의 도서 (특히 The Little Green Book )는 판매, 네트워킹 및 마케팅 기술에 도움이됩니다.


1

한 가지 이유로 대기업에서도 일정량의 상호 작용 디자인 및 사용자 경험 지식이 매우 유용하다고 생각합니다. 테스트 할 테스터.

초기 단계에서 계획 한대로 사용하기 쉽지 않은 인터페이스 또는 간과되었을 수있는 일부 설계 원칙을 지적하는 것이 매우 유용 할 수 있습니다. 구체적으로 작업하기 전에 이러한 것들을보기가 어려울 수 있으며 항상 콘크리트 작업을 가장 먼저하는 사람입니다.


저는 대기업이 아니며 과거에 인터랙션 디자인 회사에서 근무했습니다. 나는 내 지식이 때때로 부족하기 때문에 내가 지체한다는 것을 알았습니다. 당신은 어떤 자원이나 책 추천이 있습니까?
Rob Stevenson-Leggett

1

내가 짜낼 수있는 패턴의 양으로 양말을 날려 버릴 기술 사양을 작성할 수 있습니다.

그 진술만으로도 소프트웨어 개발의 다른 측면에서 작업해야한다고 생각합니다.


그 점에서 아이러니가 많았습니다.
Rob Stevenson-Leggett

@Rob, 당신이 말한 것을 기쁘게 생각합니다.
ocodo

1

회사 소프트웨어의 모든 측면에 대해 책임을지지는 않지만 많은 주제에 대한 광범위한 지식을 갖는 것이 매우 중요 할 수 있습니다. 다른 것이 없다면 인터뷰에서 더 많은 것을 포기할 수 있으므로 경력을 계속 발전시킬 수 있습니다.

직장의 일부 영역에서 충분히 도전받지 못하면 집에서 직접 프로젝트를 시작하여 흥미로운 것을 찾으십시오. 또는 오픈 소스 프로젝트에 참여하십시오.


1

아니요, 저는 제가 짓고있는 것에 대해 걱정하는 것이 아니라 고객 / 고용주가 제시 한 사양에 맞게 빌드하는 것이 아닙니다. 그들은 이미 그들이 원하는 것을 알고 있으며 그것을 유지 관리 할 수 ​​있도록 제대로 구현해야합니다. 소프트웨어에 기능을 넣는 가장 좋은 방법이 확실하지 않다고 말할 수 있으면 기회가 생길 때 조언을 줄 것입니다

아마 어느 시점에서 나는 내 자신의 프로젝트를 만들고 내가 만들고있는 것에 대해 걱정하고 싶지만 소프트웨어 개발 경력을 시작할 때 한동안 올바른 일을하는 방법을 배우려고 끊임없이 노력하는 것이 중요하다고 생각합니다.


흥미 롭습니다, 당신은 소수에 있습니다. 때때로 다른 사람들이 틀렸다고 생각하지 않습니까?
Rob Stevenson-Leggett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.