Tại thời điểm nào bạn sẽ bỏ một số nguyên tắc phát triển phần mềm của bạn để kiếm nhiều tiền hơn?


16

Tôi muốn ném câu hỏi này ra để thú vị xem phương tiện ở đâu.

Tôi sẽ thừa nhận rằng trong 12 tháng qua, tôi đã chọn TDD và rất nhiều giá trị Agile trong phát triển phần mềm. Tôi đã rất choáng ngợp với sự phát triển phần mềm của mình trở nên tốt hơn đến mức tôi sẽ không bao giờ bỏ chúng ra khỏi nguyên tắc. Cho đến khi ... tôi được đề nghị một vai trò hợp đồng nhân đôi số tiền lương mang về nhà trong năm.

Công ty tôi tham gia không theo bất kỳ phương pháp cụ thể nào, nhóm đã không nghe thấy bất cứ thứ gì như mùi mã, RẮN, v.v., và tôi chắc chắn sẽ không bỏ qua thời gian làm TDD nếu nhóm thậm chí chưa bao giờ thấy thử nghiệm đơn vị trong thực tế. Tôi có bán hết không? Không, không hoàn toàn ... Mã sẽ luôn được viết "sạch" (theo lời dạy của chú Bob) và các nguyên tắc của RẮN sẽ luôn được áp dụng cho mã mà tôi viết khi cần. Mặc dù vậy, việc kiểm tra đã bị bỏ qua đối với tôi, công ty không đủ khả năng để trao một đội vô danh như vậy, ngay cả tôi đã tạo ra các khung kiểm tra, họ sẽ không bao giờ sử dụng / duy trì khung kiểm tra một cách chính xác.

Lấy đó làm ví dụ, điểm nào bạn sẽ nói một nhà phát triển không bao giờ nên từ bỏ các nguyên tắc thủ công của mình vì lợi ích / tiền bạc cho cá nhân họ? Tôi hiểu rằng đây có thể là một ý kiến ​​cá nhân về mức độ quan tâm của người ta đối với nhu cầu của chính họ, nhu cầu kinh doanh và lợi ích của nghề thủ công, v.v. Nhưng người ta có thể xem xét rằng ví dụ thử nghiệm có thể bị loại bỏ nếu công ty quyết định họ muốn có nhóm thử nghiệm, thay vì hiểu thử nghiệm đơn vị trong lập trình, đó có phải là điều bạn có thể tha thứ cho mình như tôi đã làm không? Vì vậy, nếu có một thứ gì đó bạn sẽ bỏ, thường sẽ có một chi phí tương đương trong doanh nghiệp bù cho những gì bạn bỏ - hy vọng, trừ khi tất nhiên bạn bỏ ra khá nhiều cho việc tự bỏ tiền túi và không cộng tác / cộng đồng; ).

Nhân đôi số tiền của bạn, quay trở lại RAD? Hoặc đi bộ và tìm ai đó làm Agile, và không bao giờ nhìn lại ...


19
Anh bạn, bạn đã bị tẩy não? Đừng ngu ngốc và lấy tiền của họ. Bán hết? Bạn là hạt gì? Nếu bạn cảm thấy có lỗi, bạn có thể chia sẻ một nửa thu nhập thêm của mình với tôi. Với thêm $, bạn có thể mua nhà sớm hơn và do đó đảm bảo rằng bạn có nguồn thu nhập thụ động (tiền thuê nhà) - đó là những gì tôi sẽ làm. Bằng cách đó, bạn có thể đủ khả năng để thành thạo và đặt ra các điều khoản của riêng bạn thường xuyên hơn.
Công việc

1
Nó đã đi xuống nó là một nơi mới vì vậy luôn luôn có một yếu tố học tập, chỉ có thể không lâu dài. Việc mua một ngôi nhà là chiến thắng lớn nhất đối với tôi, ngay cả khi tôi làm điều này trong một năm và tiếp tục làm việc lâu dài hơn trong đó các quy trình là đúng, v.v ... Bạn đã đúng, tôi đã rất thất vọng khi từ chối . Nhưng toàn bộ tình huống khiến tôi suy nghĩ về những gì người khác có thể đã làm trong sự nghiệp của họ.
Martin Blore

5
Mọi người, gần như tất cả các bạn bảo anh ta lấy tiền. Có phải điều này đã xảy ra với bạn rằng đối với ai đó, sự đánh đổi này có thể tương đương với một nhà vật lý được yêu cầu chế tạo vũ khí hạt nhân hoặc một nhà hóa học để sản xuất thuốc. OK, mã xấu có thể sẽ không gây ra cái chết. Nhưng nguyên tắc là những gì định nghĩa chúng ta và tính cách của chúng ta, suy nghĩ hai lần trước khi hy sinh chúng.
Dave O.

1
@Dave: nó phụ thuộc vào quy mô quan trọng của dự án: en.wikipedia.org/wiki/Cockburn_Scale
rwong

1
Tôi sẽ nhận công việc. Bạn luôn có thể cố gắng chuyển đổi đồng nghiệp của mình khỏi Dark Side.
Không ai là

Câu trả lời:


25

Kể từ khi tôi nghiện các bài kiểm tra đơn vị hơn 10 năm trước, trong phần lớn các nơi làm việc của tôi, tôi là người đầu tiên đã từng nghe về những điều này. Tuy nhiên, tôi tiếp tục viết bài kiểm tra đơn vị nhỏ của mình bất cứ khi nào tôi có thể, và ước tính chi phí kiểm tra đơn vị vào các nhiệm vụ của mình. Bất cứ khi nào ai đó hỏi về thói quen mã hóa của tôi, tôi đã nói những gì tôi đang làm và tại sao nó làm việc cho tôi. Thông thường ít nhất một số người quan tâm, và cuối cùng tôi đã có bài thuyết trình về chủ đề này và khuyên mọi người viết bài kiểm tra đơn vị đầu tiên của họ.

Bạn không cần phải bắt đầu thuyết phục mọi người về cách nhanh nhẹn vào ngày đầu tiên tại nơi làm việc mới của bạn. Chỉ cần làm theo các nguyên tắc trong công việc của bạn càng nhiều càng tốt. Nếu bạn làm tốt, bạn sẽ cung cấp mã tốt hơn. Nếu đồng nghiệp và / hoặc quản lý của bạn nhận thấy điều đó, họ sẽ hỏi bạn làm thế nào. Sau đó, bạn có thể nói với họ.

Cập nhật

Hầu hết các nhà phát triển (và nhà quản lý) dày dạn đã thấy xu hướng và mốt đến và đi, vì vậy họ không bị kích thích bởi những từ thông dụng mới nhất. Tuy nhiên, nếu bạn có thể chứng minh rằng một cách tiếp cận nhất định (công cụ, cách suy nghĩ) thực sự có hiệu quả trong thực tế, trong dự án thực tế , những người quan tâm đến nghề của họ gần như chắc chắn sẽ ngồi dậy và lắng nghe. Nhưng nếu bạn không có những người như vậy trong đội của mình, có lẽ đã đến lúc tìm kiếm một nơi tốt hơn ...


Cảm ơn bạn Peter. Rất vui được biết bạn đã trải nghiệm loại điều này trước đây và tôi chắc chắn sẽ nghe lời khuyên của bạn.
Martin Blore

17

Đây là nơi tôi nghĩ rằng tất cả các nhà phát triển cũng nên biết một chút về quản lý dự án. Tất cả mọi thứ là một sự đánh đổi giữa thời gian, tiền bạc và tài nguyên. Xem xét bản thân tài nguyên.

Trong 12 năm lập trình, tôi không nghĩ mình đã từng hoàn thành một dự án và nghĩ nó đã hoàn thành hay hoàn thành trong đầu. Luôn có điều gì đó tôi ước mình có thể làm tốt hơn, hoặc sạch sẽ hơn. Phải mất một thời gian rất lâu tôi mới nhận ra rằng điều này là do những sự đánh đổi đó.

Vì vậy, nếu bạn đang nghĩ về việc chuyển đổi công việc chỉ vì phương pháp không có, tôi sẽ nghĩ lại nếu tôi là bạn. Những sự đánh đổi này là không đổi và áp dụng cho tất cả các nhà phát triển phần mềm. Ngay cả những nhà phát triển trò chơi tận tâm nhất cũng ước họ có thể làm lại một số thứ hoặc thực hành lại một phương pháp khác nếu có cơ hội.

Tôi muốn nói rằng bạn nên nhìn vào thực tiễn phát triển nhanh của bạn và nhận ra rằng bạn có thể làm điều đó ngay cả ở cấp độ vi mô. Chắc chắn rằng các đồng đội của bạn có thể rời khỏi vùng đất la-la làm bất cứ điều gì họ muốn, nhưng sự hài lòng cá nhân của bạn sẽ lớn hơn và bạn chắc chắn sẽ tạo ra mã tốt hơn so với họ trong thời gian dài. Sau đó, khi người quản lý đến và hỏi tại sao mã của bạn tốt hơn nhiều, bạn có cơ hội chuyển đổi nhóm :)

Nhưng nếu bạn không thích mọi người, hoặc công việc thì tôi nghĩ bạn đã biết câu trả lời rồi. Nhưng tôi rất nghi ngờ bất cứ ai sẽ đi trong phòng và bảo bạn không sử dụng các nguyên tắc phát triển nhanh trong khi mã hóa ... nếu họ ... chạy la hét.


s / tài nguyên / chất lượng / g = thời gian và tiền bạc đủ điều kiện tài nguyên. Sự cân bằng thực tế là thời gian, chi phí và chất lượng. Nói cách khác: tôi có thể làm nhanh, tôi có thể làm tốt, tôi có thể làm nhanh, chọn bất kỳ hai.
asoundmove

10

Không bao giờ đánh rơi thứ gì đó sẽ khiến bạn không hạnh phúc trong thời gian dài. Dĩ nhiên, bạn có thể bắt đầu ở vùng đất không có người và cố gắng để nhóm di chuyển theo hướng của bạn. Nếu bạn sẵn sàng bỏ công sức và công việc xứng đáng, đây thậm chí có thể là một thử thách thú vị.

Nhưng nếu bạn phải để lại những thứ giữ niềm vui mã hóa (hoặc bất kỳ công việc nào cho vấn đề đó), kinh nghiệm của tôi là bạn sẽ sớm bỏ đi. Tôi đã học được rằng sự thất vọng không bao giờ được đánh giá thấp ...


4
+1 "Tôi đã học được rằng sự thất vọng không bao giờ được đánh giá thấp ..." - quá đúng. Nỗi thất vọng chạy dài chắc chắn là một kẻ giết công việc.
Martin Blore

7

Những người ở công việc cuối cùng của bạn đã biết về TDD, RẮN, v.v ... Thật tuyệt vời. Tôi chắc rằng bạn thích làm việc ở đó và học hỏi được nhiều điều. Bây giờ bạn có một cơ hội để dạy những khái niệm đó (trong khi kiếm được nhiều tiền cùng một lúc). Theo kinh nghiệm của tôi, việc phải dạy cho người khác một khái niệm luôn giúp tôi tự học nó một cách chi tiết hơn. Chỉ cần kiên nhẫn với họ, và tiếp tục đẩy từng khái niệm của bạn. Khi bạn thất vọng, về nhà và đếm tiền của bạn. Hoặc tìm kiếm sự hỗ trợ trên SE.


3

Tôi phải thừa nhận tôi ab * tch về vấn đề đó. Là một freelancer, bất cứ điều gì khách hàng coi là phương pháp phù hợp cho dự án, đều ổn với tôi. Điều đó không có nghĩa là tiền là thứ duy nhất tôi quan tâm, nhưng quyết định về việc phải làm gì và bỏ đi là tùy thuộc vào khách hàng. Mặc dù vậy, tôi sẽ không chấp nhận điều kiện làm việc tồi tệ (ồn ào, nhiều giờ, v.v.)


2

Tôi muốn trích dẫn một đồng nghiệp cũ của tôi. Ông nói, bất cứ khi nào ông đang tìm kiếm một công việc, hoặc một dự án bán thời gian, có ba tiêu chí mà dự án phải đáp ứng:

  • Nó rất vui khi làm việc với
  • Nó phải có lợi cho sự phát triển năng lực của bạn (không chắc đây là cách diễn đạt đúng)
  • Nó sẽ trả tốt

Khi tôi đọc câu hỏi của bạn, dự án này chỉ đáp ứng các tiêu chí cuối cùng.

Khi bạn đã yêu thích TDD (giống như tôi có), tôi nghĩ rằng bạn sẽ đi xung quanh hàng ngày và ước rằng tất cả đồng nghiệp của bạn đã đạt được cái nhìn sâu sắc như bạn có. Vì vậy, tiêu chí đầu tiên có lẽ sẽ không được đáp ứng.

Thứ hai, nếu bạn muốn theo đuổi các dự án TDD và có thể có thêm kinh nghiệm với việc xây dựng các nhóm nhanh nhẹn, thì làm việc trong dự án này sẽ không giúp bạn tăng cường các kỹ năng đó. Do đó, thứ hai có thể sẽ không được đáp ứng.

Vì vậy, cá nhân tôi, nếu tôi ở vị trí của bạn, và tôi không ở vị trí giúp giới thiệu TDD vào công ty, tôi sẽ tìm nơi khác.


Tôi cũng thích xem xét vị trí. Tuy nhiên, ngay cả khi chỉ có ba người đó, bạn thường không có khả năng tìm thấy cả ba trong một dự án. Tôi thường giải quyết cho hai. Và nó thường là hai khác nhau mỗi lần.
Mawg nói rằng phục hồi Monica

2

Không bao giờ.

Cuộc sống quá ngắn ngủi (đặc biệt là khi bạn già đi) để làm những việc bạn sẽ ghét.

Tất nhiên, nó làm cho việc thay đổi công việc trở nên khó khăn hơn và có ít nơi để làm việc hơn.

Nhưng ít nhất chỉ có mã di sản có mùi hôi. (Và tôi có quyền tự chủ, vì vậy chúng tôi có thể làm những việc hợp lý như dành một tuần để loại bỏ các cảnh báo của trình biên dịch khỏi cơ sở mã di sản ....)


2

Nói tóm lại, phương pháp phát triển không phải là một phần của bạn. Nó không phải là một mối quan hệ và nó không phải là bạn. Nó là một công cụ. Làm những gì bạn được nói, cách bạn được nói và kiếm thêm tiền. Hàng ngàn hệ thống đã được phát triển và đang chạy ngày nay mà không có TDD, Code Smell, v.v ... Trong vài năm, sẽ không ai biết những thuật ngữ này có nghĩa là gì bởi vì các phương pháp đến và đi thường xuyên hơn xe buýt thành phố. Làm việc chăm chỉ như bạn được bảo và nhận tiền, nó được đánh giá cao bất cứ lúc nào và mọi lúc :)


1

Chỉ cần chắc chắn rằng làm việc với nhóm mới là một sự đầu tư tốt về thời gian của bạn.

Có lẽ họ làm việc theo cách hiệu quả hơn bạn gặp phải cho đến nay? Nếu làm việc với họ sẽ là một kinh nghiệm học tập tuyệt vời cho bạn (do đó là một khoản đầu tư tốt).

Mặt khác, các phương pháp của nhóm mới có thể ít có giá trị đối với bạn (quá nhiều "mã hóa cao bồi", v.v.). Trong trường hợp đó, số tiền bổ sung có thể không xứng đáng (trừ khi đó là một khởi đầu trước IPO hoặc một cái gì đó phi thường). Bạn có thể sẽ không học được nhiều ... và bạn có nguy cơ bị kiệt sức.


1

Tôi sẽ không làm việc ở đâu đó không cho phép tôi làm việc theo cách tôi muốn. Điều đó có nghĩa là tôi không muốn bị vi mô.

Tôi làm việc theo giả định rằng tôi giỏi trong những gì tôi làm, và nếu bạn giao cho tôi một số nhiệm vụ tôi sẽ hoàn thành chúng một cách hiệu quả và hiệu quả. Cách tôi triển khai chúng, miễn là tôi không phá vỡ các nguyên tắc và mẫu mã của bạn, tùy thuộc vào tôi. Đó là phần thú vị trong công việc của tôi.

Nếu tôi muốn kiểm tra đơn vị mỗi lớp tôi viết thì đó có thể là một vấn đề, nhưng viết bài kiểm tra đơn vị nói chung là ổn, miễn là tôi vẫn đáp ứng thời hạn. Tôi hy vọng rằng một người đề xuất TDD sẽ lập luận rằng việc viết các bài kiểm tra đơn vị thực sự làm tăng năng suất (sau này, v.v.). Nếu tôi là trong giày của bạn, tôi muốn viết một số bài kiểm tra đơn vị này sẽ tiết kiệm cho tôi một số thời gian xuống đường đua (có lẽ ít lỗi, sửa lỗi dễ dàng hơn). Nếu bạn tái đầu tư thời gian đó được lưu vào nhiều thử nghiệm hơn, thì nó sẽ kết hợp thành nhiều thời gian hơn và cuối cùng bạn có thể ngồi lại với một nụ cười lớn khi bạn có một bộ thử nghiệm tuyệt vời và có thể dễ dàng kiểm tra thay đổi mã của bạn khi một giờ thứ 11 mới yêu cầu đến

Nếu tôi không thể làm điều đó, thì tôi không biết liệu tôi có muốn làm việc ở đó không.

Điều tôi đang nói là tôi nghĩ nên có sự cho và nhận trong những vấn đề này - một chút thương lượng. Họ càng trả tiền cho tôi, tôi càng mong đợi ít tiền hơn. Nhưng tôi luôn cần một mức độ tự chủ và tự trọng, đặc biệt là khi không cần phải từ chối. Tôi sẽ bỏ bất kỳ nguyên tắc nào khác miễn là tôi có quyền tự chủ đó. Rốt cuộc, những gì có vẻ như một phương pháp điên rồ ngược có thể là điều tốt nhất bạn từng làm!

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.