Bạn có bao giờ lo lắng rằng bạn quan tâm nhiều hơn đến cách xây dựng một cái gì đó hơn là những gì bạn đang thực sự xây dựng?


11

Là một lập trình viên, tôi có một sự khó chịu cố hữu tại các công cụ của tôi, mã người khác, mã của tôi, thế giới nói chung. Tôi luôn muốn cải thiện nó. Vì vậy, tôi tái cấu trúc, tôi đứng đầu trong các kỹ thuật mới nhất. Tôi cố gắng và tìm hiểu các mẫu, tôi cố gắng sử dụng các khung để không phát minh lại bánh xe. Tôi có thể viết một thông số kỹ thuật sẽ thổi bay tất của bạn với số lượng mẫu tôi có thể ép.

Tuy nhiên, gần đây tôi cảm thấy tôi thực sự biết nhiều hơn về các công cụ tôi sử dụng hơn là cách thực hiện phần mềm thành công.

Tôi cảm thấy như mình đang thiếu bộ kỹ năng nhân tố con người và tôi tin rằng để trở thành một kỹ sư phần mềm thành công cần nhiều hơn là biết được khuôn khổ tuyệt vời nhất. Tôi nghĩ rằng nó cũng cần một số kỹ năng sau đây.

  • Thiết kế tương tác
  • Kinh nghiệm người dùng
  • Tiếp thị

Tôi đã có một chút về điều này mà tôi đã học được từ những người tôi đã làm việc và các dự án tuyệt vời mà tôi đã làm nhưng tôi không cảm thấy mình "sở hữu" những kỹ năng này.

Tôi có đúng không Tôi có nên cố gắng phát triển những kỹ năng này hơn nữa không, hay chúng nên để lại cho những người làm việc này cho sự nghiệp?

Làm thế nào để bạn chắc chắn rằng bạn không bị trói buộc trong cách bạn đang làm gì đó và đảm bảo rằng bạn "làm cho người dùng của bạn tuyệt vời"?

Có ai biết các nguồn lực tốt để học các kỹ năng này từ quan điểm lập trình không?


2
Vâng, đó là một vấn đề lớn. Nếu bạn là một công ty một người, thì bạn sẽ cảm thấy khó chịu ngay lập tức. Một người khởi nghiệp có thể không thuê bạn vì bạn không hiểu rằng họ đang chiến đấu để tồn tại và họ phải đẩy ra những thứ chất lượng beta vào tháng tới hoặc chết, hoặc vì bạn không thể nói lên sự thật một chút khi nói chuyện với khách hàng. Tuy nhiên, trong một tập đoàn lớn bị quản lý sai lầm, có lẽ tốt hơn là theo đuổi lợi ích cá nhân ích kỷ. Quản lý làm như vậy tất cả các thời gian nào.
Công việc

Tôi thích sử dụng các sản phẩm tuyệt vời, nơi tôi nghĩ "wow, nó hoạt động trơn tru". Vì vậy, cố gắng tham gia vào việc tạo ra những sản phẩm "wow" như vậy là điều tự nhiên đối với tôi. Nếu điều này không tự nhiên với bạn, có lẽ chỉ cần ghi nhớ những người thích, những người thích điều này và sẵn sàng trả tiền tốt (nghĩ rằng các sản phẩm của Apple).
LennyProgrammer

2
Nghe có vẻ như bạn đang trên con đường trở thành một công nhân định hướng quy trình, thay vì một công nhân định hướng kết quả. Bạn tập trung vào quá trình vì đó là những gì bạn quen thuộc. Học cách buông bỏ quá trình và tập trung vào kết quả. Như bạn đã nói, các mẫu thiết kế và công cụ chỉ là công cụ: mối quan tâm chính của bạn nên là vấn đề mà sản phẩm bạn đang làm sẽ giải quyết.
whatsisname

1
@whatisname, nó không đơn giản, chắc chắn rằng "kết quả" có vẻ như vậy và ứng dụng đó hoạt động rất tốt cho ver 1.0 với một số mã ad-hoc đã bị hack cùng nhau nhưng sau đó đối với ver 2.0, một sự thay đổi lớn là cần thiết, bạn vẫn còn sẽ bị mắc kẹt với "kết quả" của nỗ lực trước đó sẽ cần phải hoạt động trở lại .. Tôi nghĩ đó thực sự là một tình huống mà chức năng của một ứng dụng theo quan điểm của người dùng chỉ là phần nổi của tảng băng và bạn có thể ' t giới hạn "kết quả" cho điều đó
chương

@whatisname Nếu đó là một câu trả lời tôi sẽ chấp nhận nó nhưng tôi cũng đồng ý với bạn Rick. Điều tôi đang cố gắng đạt được là một điểm trong đó một trong hai bộ kỹ năng cân bằng để tôi có thể thiết kế trải nghiệm người dùng tuyệt vời trong khi sử dụng các công cụ và kỹ thuật tốt nhất. Dường như ngay bây giờ người này hay người kia đang đau khổ. Tôi cần phải làm cho cả hai kỹ năng bản chất thứ hai.
Rob Stevenson-Leggett

Câu trả lời:


5

Lời khuyên của tôi: Hãy nói chuyện với người dùng của bạn càng nhiều càng tốt. Tôi không biết bạn đang ở một công ty lớn và ở một lục địa khác với người dùng của bạn hay bạn đang ở vị trí tự do, nhưng nếu có thể, hãy nói chuyện với người dùng của bạn.

Tôi biết rằng rất nhiều lần, tôi phải ngồi lại và nhớ rằng đó không phải là công việc của tôi để xây dựng đoạn mã lớn nhất mà thế giới từng thấy, hoặc xây dựng một hàm sử dụng ít chu kỳ nhất và mất thời gian công nghệ ngắn nhất có thể, nhưng để làm bất cứ điều gì người dùng cần để thực hiện công việc của họ. Và với hiệu quả đó, tôi thấy rằng ngoài khả năng kỹ thuật tuyệt đối, (dù sao bản thân tôi), 2 đặc điểm tốt nhất cần có là kiến ​​thức làm việc tốt về doanh nghiệp của người dùng và mối quan hệ làm việc tốt với họ.

Tôi làm việc trong một công ty nhỏ (~ 50 người) và tôi thích có thể đi đến khối lập phương của bất kỳ ai và trò chuyện về những điều mới nhất tôi đã thực hiện / sửa chữa cho họ. Cảm giác tuyệt vời nhất tôi từng có được từ công việc của mình là khi tôi có thể nghe họ nói về công việc của họ, và đề xuất một cái gì đó sẽ giải quyết vấn đề mà họ chưa bao giờ nhận ra một giải pháp kỹ thuật thậm chí có thể tồn tại. Điều đó sẽ không thể xảy ra nếu tôi không hiểu về công việc của họ và không thể có những cuộc trò chuyện ngẫu nhiên với họ.


+1 để nói chuyện với người dùng - rất quan trọng để tạo ra một sản phẩm hữu ích
Gary Rowe

5

Tôi muốn nói rằng nó phụ thuộc vào nơi bạn làm việc và loại công ty bạn thấy mình sẽ chuyển đến trong tương lai - đó thực sự là một cuộc thảo luận kết thúc mở.

Với các công ty nhỏ hơn, bạn có thể đội nhiều mũ (mặc dù tôi không chắc tại sao tiếp thị lại nằm trong danh sách này trừ khi bạn có ý định bán sản phẩm của riêng mình).

Trong các công ty lớn hơn, họ có thể có xu hướng có những người tập trung đặc biệt vào những điều này.

Vì vậy, thực sự, đó là tất cả về nơi bạn nhìn thấy bản thân mình và có khả năng mở ra nhiều cánh cửa hơn cho chính mình.


2
Cảm ơn - những điểm thú vị. Tôi xem tiếp thị nhiều hơn bán, tôi đang nghĩ blog phát triển, SEO, Chi nhánh, cách tích hợp chúng, v.v.
Rob Stevenson-Leggett

2

Đối với mỗi dòng mã bạn viết, bạn giới thiệu khả năng xảy ra lỗi.

Vì vậy, các thiết kế tốt nhất giảm thiểu số lượng mã được giới thiệu - có lẽ thông qua nguyên tắc DRY (Đừng lặp lại chính mình). Tuy nhiên, các công ty khởi nghiệp ủng hộ cách tiếp cận YAGNI (You Ain't Gonna Need It) dẫn đến MVP (Sản phẩm khả thi tối thiểu) nhanh hơn nhiều.

Nếu mục tiêu của bạn là tạo ra một sản phẩm sạch, dễ sử dụng, thực hiện chính xác những gì người dùng của bạn muốn, thì YAGNI là mẫu thiết kế cuối cùng của bạn. Vứt bỏ mọi thứ không trực tiếp đóng góp vào mã làm việc. Điều đó bao gồm các quá trình xây dựng thuần túy và sử dụng các mẫu ám ảnh.

Một số tài liệu đọc

Bạn có thể muốn đọc " Đừng làm tôi suy nghĩ ", đây là một cuốn sách tuyệt vời về thiết kế giao diện người dùng. Ngoài ra, bất kỳ bộ sách nào của Gitomer (đặc biệt là Cuốn sách nhỏ màu xanh lá cây ) sẽ giúp bạn với các kỹ năng bán hàng, kết nối và tiếp thị.


1

Tôi nghĩ rằng một lượng nhất định về thiết kế tương tác và kiến ​​thức trải nghiệm người dùng rất hữu ích ngay cả trong một công ty lớn vì một lý do: bạn là nhà phát triển là người đầu tiên thực sự sử dụng giao diện, vài tuần hoặc thậm chí vài tháng trước khi nó ở trạng thái có thể sử dụng được Một người kiểm tra để kiểm tra.

Nó có thể rất hữu ích ở giai đoạn đầu để chỉ ra một giao diện không hoàn toàn dễ sử dụng như đã được lên kế hoạch hoặc một số nguyên tắc thiết kế có thể đã bị bỏ qua. Những điều đó đôi khi có thể khó nhìn thấy trước khi bạn có một cái gì đó cụ thể để làm việc và bạn luôn là người đầu tiên có một cái gì đó cụ thể để làm việc với.


Tôi không ở trong một công ty lớn và tôi đã từng làm việc cho một công ty thiết kế tương tác. Tôi thấy rằng bởi vì kiến ​​thức của tôi đôi khi thiếu tôi sẽ trì hoãn. Bạn có bất kỳ nguồn lực hoặc sách giới thiệu?
Rob Stevenson-Leggett

1

Tôi có thể viết một thông số kỹ thuật sẽ thổi bay tất của bạn với số lượng mẫu tôi có thể ép.

Câu nói đó một mình khiến tôi tin rằng bạn cần phải làm việc trên các khía cạnh khác của phát triển phần mềm.


Có một số điều trớ trêu trong đó :) Có lẽ đã không gặp quá nhiều trong câu hỏi.
Rob Stevenson-Leggett

@Rob, rất vui vì bạn nói rằng, tôi có đèn lạm dụng mô hình nhấp nháy màu đỏ lớn tắt khắp nơi.
ocodo

1

Mặc dù bạn có thể không bao giờ chịu trách nhiệm cho mọi khía cạnh của phần mềm của công ty bạn, nhưng có một phạm vi kiến ​​thức rộng trên nhiều đối tượng có thể cực kỳ có giá trị. Nếu không có gì khác, đó là nhiều thứ bạn có thể bỏ qua trong một cuộc phỏng vấn, vì vậy bạn có thể tiếp tục phát triển sự nghiệp của mình.

Nếu bạn không đủ thách thức trong một số lĩnh vực trong công việc, hãy bắt đầu dự án của riêng bạn ở nhà để làm điều gì đó mà bạn thấy thú vị. Hoặc tham gia với một dự án nguồn mở.


1

Không, tôi không làm, công việc của tôi không phải lo lắng về những gì tôi đang xây dựng mà là xây dựng nó theo thông số được đặt ra bởi khách hàng / chủ nhân của tôi. Họ đã biết những gì họ muốn và tùy thuộc vào tôi để thực hiện nó đúng cách để có thể duy trì. Tôi sẽ đưa ra lời khuyên khi có cơ hội nếu tôi có thể nói rằng họ không chắc chắn về cách tốt nhất để đưa một tính năng vào phần mềm

Có lẽ đến một lúc nào đó tôi sẽ muốn thực hiện dự án của riêng mình và lo lắng về những gì tôi đang xây dựng nhưng tôi nghĩ trong một thời gian khi bắt đầu sự nghiệp phát triển phần mềm, điều quan trọng là không ngừng nỗ lực để học cách làm việc đúng đắn


Thật thú vị, bạn thuộc thiểu số. Bạn không nghĩ rằng đôi khi những người khác có thể sai?
Rob Stevenson-Leggett
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.