Làm thế nào bạn sẽ giải thích rằng công nghệ phần mềm là chuyên ngành hơn so với các lĩnh vực kỹ thuật khác? [đóng cửa]


9

Tôi làm việc với một người khăng khăng rằng bất kỳ kỹ sư phần mềm giỏi nào cũng có thể phát triển trong bất kỳ công nghệ phần mềm nào và kinh nghiệm trong một công nghệ cụ thể không quan trọng để xây dựng phần mềm tốt. Điểm tương đồng của anh ấy là bạn không cần phải có kiến ​​thức về sản phẩm được chế tạo để biết cách xây dựng dây chuyền lắp ráp sản xuất sản phẩm nói trên.

Theo một cách nào đó, một lời khen ngợi được nhìn bằng mắt như "nếu bạn giỏi, bạn giỏi mọi thứ", nhưng theo một cách nào đó, nó cũng tầm thường hóa nghề nghiệp, như trong "Codemonkey, đi mã sling". Nếu không có kinh nghiệm trong các khung phần mềm nhất định, bạn có thể gặp rắc rối nhanh và điều đó rất quan trọng.

Tôi đã cố gắng giải thích điều này, nhưng anh ta đã không mua nó. Bất kỳ quan điểm hoặc suy nghĩ khác nhau về điều này để giúp giải thích rằng kinh nghiệm của tôi trong một điều, không dịch cho tất cả mọi thứ?


7
Nếu bạn đang downvote, ít nhất bạn có thể bình luận về lý do tại sao không? Đặc biệt vì đầu vào của bạn có thể giúp viết lại / tập trung lại câu hỏi.
Spencer Kormos

11
Đầu tiên, đây là một câu chuyện và không phải là một câu hỏi, và thứ hai, đó là một lời giả định thiếu sót, điều này cần phải được bỏ phiếu đóng lại.

6
@JarrodRoberson Tôi nghĩ có một câu hỏi chính đáng. Đó là yêu cầu một lời giải thích tốt yêu cầu một lời giải thích tại sao một số người xem công nghệ phần mềm ít nhiều chuyên môn hơn các lĩnh vực kỹ thuật khác.
maple_shaft

7
@SpencerK Câu hỏi của bạn là "một số anh chàng ngẫu nhiên đã tạo ra một sự tương tự xấu, làm thế nào để tôi trả lời", và đó thực sự không phải là một câu hỏi. Chỉ cần yêu cầu bằng chứng vững chắc và / hoặc tài liệu tham khảo hỗ trợ vị trí của anh ấy, bạn không phải là người cần chứng minh bản thân ở đây.
yannis

5
-1 vì tôi không đồng ý với tiền đề của bạn. Kỹ thuật phần mềm không chuyên sâu hơn các lĩnh vực kỹ thuật khác. Họ có thể được chuyên môn cao khái quát. Một kỹ sư cơ điện tốt có thể không phải là một kỹ sư y sinh giỏi. Mặt khác, một thợ điện giỏi có thể làm việc trên cả nhà và xe hơi.
zzzzBov

Câu trả lời:


23

nhưng theo một cách nào đó nó cũng tầm thường hóa nghề nghiệp, như trong "Codemonkey, go sling code".

Tôi sẽ tranh luận hoàn toàn ngược lại. Một kỹ sư phần mềm giỏi sẽ có khả năng khái niệm hóa, kiến ​​trúc sư và thiết kế phần mềm bất khả tri về công nghệ. Đầu đối diện của phổ này là "codemonkey" chỉ .NET hoặc Java hoặc PHP, rất tốt trong việc đưa ra hướng hoặc thông số kỹ thuật và sử dụng công cụ để triển khai phần mềm.

Một kỹ sư phần mềm không cần phải là một bậc thầy về tất cả các công cụ, nhưng cần có sự hiểu biết ở mức độ khá cao về phần lớn trong số họ là gì, những gì họ mang đến cho bảng và những gì có thể sẽ phù hợp nhất cho dự án nhất định . Tôi hy vọng một con khỉ mã sẽ chỉ là một bậc thầy về chuyên môn được tuyên bố của chúng trong một công cụ cụ thể.

Tôi sẽ không tin một kỹ sư Ford không biết làm công việc của Thợ máy.

Tuy nhiên, công nghệ phần mềm là một trong những lĩnh vực mà trong nhiều trường hợp, chúng tôi dự kiến ​​sẽ trở thành Kỹ sư, Người xây dựng và Cơ khí cùng một lúc.


8
Tôi cũng sẽ nhấn mạnh tầm quan trọng của việc hiểu các khái niệm và nguyên tắc đối với các ngôn ngữ và công cụ.
Oded

+1 Một trong những thú cưng của tôi là những người nói rằng "Tôi là nhà phát triển C # ...". Và sau đó chỉ cần uống kool-Aid và chấp nhận bất cứ điều gì từ MS là phúc âm. 10 năm lập trình Tôi đã học được hơn 11 ngôn ngữ lập trình và mỗi ngôn ngữ đã có những cải tiến lớn trong cách tôi lập trình bằng các ngôn ngữ khác. Học kỹ thuật phần mềm! Không phải nền tảng sẽ biến mất trong 2 năm.
Timothy Baldridge

+1 để tham khảo Kỹ sư Ford. Tôi chưa từng nghĩ về Kỹ sư phần mềm so với Lập trình viên theo cách đó trước đây.
Dalin Seivewright

Một lập trình viên là một tập hợp con của một kỹ sư, không phải là cách khác.
Spencer Rathbun

11

Tôi đồng ý với một mức độ với người bạn làm việc cùng. Một kỹ sư phần mềm giỏi liên quan đến các nguyên tắc chung của thiết kế và sản xuất phần mềm. Các ngôn ngữ và khung thực tế là chi tiết.

Điều đó không tầm thường hóa sự dễ dàng mà bạn có thể chọn ngôn ngữ và khung mới. Luôn có một đường cong học tập liên quan đến chúng nhưng vấn đề là nó là một đường cong chứ không phải là một bức tường thẳng đứng cho một kỹ sư phần mềm giỏi.

Một kỹ sư phần mềm giỏi có nhiều kinh nghiệm trong một số công cụ và công nghệ khác nhau. Nếu anh ta không, làm thế nào anh ta có thể chọn công cụ tốt nhất cho công việc? Để loại bỏ sáo ngữ cũ, với một người đàn ông biết sử dụng búa, mọi vấn đề trông giống như một cái đinh. Ngay cả khi bạn không phải là một chuyên gia với một tuốc nơ vít, nó trả tiền để có sự hiểu biết về chúng để bạn có thể nhận ra một ốc vít không chỉ là một cái đinh trông buồn cười.


"Một kỹ sư phần mềm giỏi liên quan đến các nguyên tắc chung của thiết kế và sản xuất phần mềm." Sản xuất các hệ thống điều khiển nhúng và ứng dụng web gần như giống hệt nhau , phải không?
Marcin

@Marcin: Một số nguyên tắc là có. Bài thơ tôi đang thực hiện là (ví dụ) thiết kế một hệ thống nhúng trong C hoặc trình biên dịch sử dụng các loại nguyên tắc giống nhau mặc dù các công cụ khác nhau.
JeremyP

Những công cụ đó không khác nhau, và chúng giải quyết các vấn đề rất giống nhau. Đây là lý do tại sao điều này là hoàn toàn không có ích.
Marcin

1
@Marcin: bạn rõ ràng không được lập trình trong trình biên dịch chương trình hoặc không được lập trình trong C. Tôi đảm bảo với bạn rằng mặc dù có một huyền thoại chung, C không phải là trình biên dịch và lập trình trong các công cụ đó khác với lập trình trong C và Ruby.
JeremyP

1
@Marcin, chắc chắn, và bowling chỉ là vấn đề hạ gục tất cả các chân. Miếng bánh thật. Mặc dù lập trình web và lập trình nhúng có thể chia sẻ một số nguyên tắc cấp cao và thực tiễn tốt nhất, nhưng điều thực sự chi phối công việc hàng ngày là những hạn chế chi phối việc thực hiện các thực tiễn đó. Mặc dù cuối cùng bạn thể đào tạo lại một lập trình viên web và kỹ sư nhúng và ngược lại, nhưng chúng không bị nấm.
Charles E. Grant

5

Phiên bản TLDR: Các ngành kỹ thuật khác cần có kiến ​​thức về vật liệu họ đang sử dụng (ví dụ: kiến ​​trúc sư cần biết tải trọng vật liệu họ đang sử dụng trong thiết kế có thể chịu được bao nhiêu ). Các ngôn ngữ và khung mà chúng ta sử dụng cho công nghệ phần mềm có những giới hạn nhất định và chúng ta cần phải làm quen với chúng để thiết kế và phát triển hiệu quả chống lại chúng.

Có hai giai đoạn riêng biệt cho những gì chúng ta làm. Đầu tiên là thiết kế khái niệm. Đó là thiết kế hệ thống cấp cao và cấp thấp (ví dụ: sử dụng UML). Về mặt lý thuyết, các thiết kế cấp cao có thể là thuyết bất khả tri (mặc dù đôi khi một thiết kế cấp cao phải tính đến các chi tiết cụ thể như, nền tảng cơ sở dữ liệu, ngoài phần mềm trung gian, v.v.). Thiết kế cấp thấp là một chút phức tạp hơn. Bạn có thể thiết kế các chi tiết cụ thể của logic kinh doanh mà không cần đưa các chi tiết cơ sở hạ tầng vào chúng và một lần nữa, về mặt lý thuyết có thể là bất khả tri về nền tảng.

Giai đoạn thứ hai là lập trình thực tế. Trong khi một số người xem lập trình là xây dựng, những người khác (bao gồm cả tôi) cho rằng mã hóa vẫn là một môn học thiết kế (trong PPP , Bob Martin đề cập đến một bài báo mà tác giả đưa ra một lập luận rất tốt về hiệu ứng này, tôi không có nó với tôi bây giờ, nhưng tôi sẽ cập nhật câu trả lời này với một liên kết đến bài viết đó). Việc xây dựng thực tế xảy ra khi bạn nhấn biên dịch và có hiệu lực miễn phí.

Giống như một kiến ​​trúc sư phải tính đến những thứ như độ bền kéo và độ nén của vật liệu xây dựng mà anh ta đang sử dụng, do đó, một kỹ sư phần mềm phải biết các khả năng của nền tảng mà họ đang phát triển khi viết mã. Tôi sẽ lập luận rằng một thiết kế hệ thống cấp thấp không hiệu quả lắm nếu nó không tính đến các lựa chọn nền tảng.


5

Là một người tốt nghiệp chương trình cấp bằng Kỹ sư phần mềm, tôi có thể nói rằng đồng nghiệp của bạn đã đúng một phần. Một kỹ sư phần mềm giỏi tập trung vào việc áp dụng toán học, thống kê, khoa học máy tính và kinh nghiệm miền để xây dựng một hệ thống. Các phương pháp mà một kỹ sư phần mềm sử dụng thường là công nghệ và bất khả tri ngôn ngữ - các công cụ không quan trọng bằng các nguyên tắc cơ bản.

Điều đó nói rằng, sự tương tự đồng nghiệp của bạn là thiếu sót. Hiểu các vấn đề tên miền là điều cần thiết cho bất kỳ ngành kỹ thuật. Nếu bạn không hiểu đầy đủ vấn đề mà bạn đang cố gắng giải quyết và những người mà bạn đang cố gắng thỏa mãn, việc xây dựng giải pháp tốt nhất cho vấn đề của họ trở nên vô cùng khó khăn hơn.

Cuối cùng, công nghệ phần mềm (và bất kỳ chuyên ngành kỹ thuật nào) là về việc áp dụng một số khái niệm để giải quyết vấn đề. Nếu bạn thường xuyên sử dụng các công cụ tương tự, bạn sẽ trở nên thành thạo hơn với các công cụ đó. Bạn sẽ dễ dàng hơn trong việc xác định các vấn đề mà các công cụ đó có thể giải quyết, rủi ro hoặc cạm bẫy khi sử dụng các công cụ đó và sau đó sử dụng các công cụ đó để xây dựng giải pháp.


Các nguyên tắc cơ bản có thể thay đổi rất lớn.
Marcin

1
@Marcin Không, họ không. Khoa học máy tính không thay đổi nếu công nghệ thay đổi. Toán học không thay đổi. Thống kê không thay đổi. Không phân tích yêu cầu, thiết kế hệ thống, thực hành quản lý cấu hình, chiến lược xác minh và xác nhận, nguyên tắc chất lượng ...
Thomas Owens

Trên thực tế, "phân tích yêu cầu, thiết kế hệ thống, thực hành quản lý cấu hình, chiến lược xác minh và xác nhận, nguyên tắc chất lượng" làm tất cả thay đổi giữa các miền có vấn đề. Nếu bạn không nhận ra điều đó, thì có khả năng bạn sẽ làm một công việc rất, rất kém làm việc trong một lĩnh vực mà bạn không biết, vì bạn quá kiêu ngạo để nhận ra những gì bạn không biết. Ngoài ra, toán học áp dụng thay đổi khá nhiều, nhưng tôi cá là bạn tưởng tượng bạn cũng biết mọi thứ về toán học.
Marcin

@Marcin Tôi đã làm việc trong mọi thứ, từ hệ thống nhúng đến ứng dụng web. Họ không thay đổi nhiều. Các phẩm chất của một yêu cầu tốt không thay đổi dựa trên tên miền. Các công cụ được sử dụng để thiết kế một hệ thống không thay đổi. Cách bạn đo lường và đạt được hệ thống chất lượng cao không thay đổi.
Thomas Owens

1
Vâng, bạn đã đúng, mọi dự án phần mềm trên thế giới đều giống nhau và bạn đã tìm ra cách quản lý mọi dự án. Có lẽ bạn nên viết một cuốn sách giải thích One True Way để viết và quản lý tất cả phần mềm.
Marcin

4

Điểm tương đồng của anh ấy là bạn không cần phải có kiến ​​thức về sản phẩm được chế tạo để biết cách xây dựng dây chuyền lắp ráp sản xuất sản phẩm nói trên.

Điều này gần như chắc chắn không chính xác. Các kỹ sư sản xuất chuyên gia cần phải hiểu khá nhiều về các sản phẩm được chăm sóc.

Trong mọi trường hợp, một sự tương tự tốt hơn là với những sinh viên tốt nghiệp các khóa học kỹ thuật cơ khí: mặc dù mọi người đều bắt đầu (cả về cơ khí và phần mềm) với nhiều kỹ năng giống nhau, nhưng không ai vẫn là "kỹ sư cơ khí", mà thay vào đó chuyên về các loại những thứ họ xây dựng. Tương tự như vậy, phát triển phần mềm cũng có các trường con rất khác biệt.

Để trở về sự tương tự của dây chuyền lắp ráp, mỗi dây chuyền lắp ráp đều khác nhau đối với từng sản phẩm và các loại phát triển phần mềm khác nhau đòi hỏi các phương pháp khác nhau - bạn sẽ không xây dựng phần mềm bảo mật giống như cách bạn xây dựng trò chơi.


1
xây dựng phần mềm ở cùng cấp độ là như nhau bất kể sản phẩm phần mềm. Chúng tôi chỉ gọi chúng là phương pháp luận thay vì dây chuyền lắp ráp , nhưng về mặt khái niệm chúng giống nhau.

1
@JarrodRoberson Số Dòng hội không đồng nhất và phương pháp thường không được áp dụng.
Marcin

2
Tôi đồng ý với Marcin, bạn phải có kiến ​​thức về một sản phẩm để kết hợp một dây chuyền lắp ráp cho sản phẩm. Bạn phải có khả năng chọn chính xác các công cụ sẽ được sử dụng để có kết quả cuối cùng chính xác. Trong phần mềm, một phương pháp sẽ là một công cụ hoặc nhiệm vụ cụ thể. Nếu một nhiệm vụ của bạn là hoàn thành một nhiệm vụ cụ thể, bạn có thể không cần kiến ​​thức về toàn bộ. Nhưng sau đó, bạn là một nhà điều hành và không phải là một kỹ sư. Chọn tập hợp các phương pháp chính xác để tạo thành dây chuyền lắp ráp làm cho bạn trở thành một kỹ sư giống như các kỹ thuật khác. Nó không còn chuyên biệt hay khác biệt.
RJay75

2

Có một đường cong học tập liên quan đến các chuyên ngành khác nhau. Tôi đang nói về sự khác biệt giữa lập trình nhúng / lập trình thời gian thực, lập trình ứng dụng web, lập trình hệ thống / hệ điều hành, lập trình máy khách dày, phát triển di động, v.v.

Ai đó là một chuyên gia trong một loại lập trình có thể không thể chuyển sang một loại khác ngay lập tức vì các yêu cầu khác nhau. Chắc chắn, một kỹ sư phần mềm có những điều cơ bản để làm như vậy, nhưng cần có thời gian để chuyên về một cái gì đó.


1

Tôi đồng ý với tiền đề mà đồng nghiệp của bạn gợi ý mặc dù tôi sẽ thêm một lời cảnh báo.

Một kỹ sư phần mềm giỏi sẽ có thể xây dựng phần mềm tốt trong bất kỳ công nghệ nào ..... sau khi họ đã học được một chút về công nghệ mới.

Có thể có một số điều kỳ quặc không rõ ràng lúc đầu, nhưng một kỹ sư phần mềm giỏi sẽ sớm học chúng.

Tôi nghĩ điều anh ấy thực sự muốn nói là chỉ vì một nhà phát triển có 2 năm kinh nghiệm về C #, điều đó không có nghĩa là một kỹ sư phần mềm giỏi hơn với nền tảng Java, người chưa bao giờ làm C # trước khi không thể đến, học C # và nhanh chóng trở thành một nhà phát triển C # tốt hơn anh chàng đầu tiên.

Nói cách khác, bạn không nhất thiết phải giảm giá cho anh chàng Java cho một công việc, CHỈ vì anh ta đã "hoàn thành thời gian" trong C #.


Tôi nghĩ rằng đây là một cho trước, nhưng nó thực sự về ROI. Tôi sẽ không thuê một kỹ sư có kinh nghiệm Java chính, nếu tôi muốn đưa một dự án C ++ ra khỏi cửa trong 6 tháng. Mặc dù, nếu bạn có một dự án Swing cần thoát ra trong 6 tháng, một kỹ sư phía máy chủ chính vẫn có thể đủ điều kiện.
Spencer Kormos

@SpencerK hoàn toàn đồng ý. Nó phụ thuộc vào việc bạn cần ROI nhanh như thế nào. Nếu bạn có một khoảng thời gian dài hơn để chờ đợi, thì kỹ sư phần mềm tốt hơn nên "chiến thắng".
ozz

Ngoài ra, trừ đi nếu đó là bạn!
ozz

1
Không, không phải tôi. Tôi không downvote mà không bình luận tại sao. Tôi có cách cư xử tốt hơn thế!
Spencer Kormos

1

Trường hợp cụ thể: khung phần mềm mà bạn cảm thấy rất quan trọng để có kinh nghiệm chuyên môn với khả năng không tồn tại 10 năm trước hoặc đã trải qua chuyển đổi đáng kể nếu có. Bản chất của nghề nghiệp của chúng tôi làm cho không thể chuyên môn hóa cho toàn bộ sự nghiệp của một người. Tùy thuộc vào cấp độ kỹ năng tương ứng của bạn, chuyên môn của bạn mang lại cho bạn lợi thế ở đâu đó trong khoảng từ 1 đến 6 tháng so với người chưa bao giờ sử dụng khuôn khổ cụ thể của bạn. Sau đó, bạn ngang tầm.


2
Có thật không? Tôi tin rằng bạn sẽ mong đợi một kỹ sư bảo mật sẽ chơi và viết mã các trò chơi trong 6 tháng và không thể phân biệt được với một chuyên gia có kinh nghiệm.
Marcin

Tôi đồng ý với Marcin, nó không chỉ là kiến ​​thức về ngôn ngữ lập trình hoặc nền tảng. Tôi đã làm việc trong hai lĩnh vực khác nhau và dành một vài năm cho mỗi lĩnh vực đó: phải mất một thời gian cho đến khi bạn đủ quen thuộc để thực sự chuyên nghiệp và làm việc hiệu quả trong một lĩnh vực. Tất nhiên, là một chuyên gia phần mềm có kinh nghiệm sẽ tăng tốc mọi thứ, nhưng tôi sẽ nghĩ 2, 3 năm chứ không phải 6 tháng.
Giorgio

1

Tôi làm việc cho một công ty máy bay trực thăng và các kỹ sư hàng không ở đây chuyên về các loại máy bay họ có thể làm việc cùng. Họ cần phải được "xếp loại". Về mặt kỹ thuật, họ có thể làm việc trên mọi thứ từ Robinson R22 đến Jumbo Jet, nhưng không phải không có đào tạo chuyển đổi.

Tôi nghĩ rằng điều này khá giống với công nghệ phần mềm ngoại trừ việc "đào tạo chuyển đổi" không chính thức hơn cho các kỹ sư phần mềm.


1

Khi nói chuyện với một họa sĩ, bạn có nói với anh ta rằng anh ta không có vấn đề gì với điêu khắc?

Học một ngôn ngữ mới hoặc các chi tiết cụ thể cho một tên miền mới tương tự như một nghệ sĩ chủ yếu liên quan đến bút chì và mực, học cách vẽ (hoặc ngược lại). Đây là những gì hầu hết các câu trả lời khác đang nói, làm thế nào bạn của bạn đúng một phần - rất nhiều khái niệm tương tự được áp dụng.

Nhưng dạy một họa sĩ cách điêu khắc một vật thể 3D, hoặc viết một cuốn tiểu thuyết (Cả hai hình thức thể hiện nghệ thuật) là một con thú hoàn toàn khác. Đó là quan điểm bạn đến từ.

Phần mềm dựa trên web đòi hỏi một kiểu tư duy hoàn toàn khác so với phần mềm máy tính để bàn. Cả hai đều hoàn toàn khác nhau khi áp dụng cho các trò chơi so với môi trường làm việc. Tôi nghi ngờ làm việc trên một hệ điều hành hoặc các hệ thống tích hợp cũng đòi hỏi phải suy nghĩ theo một cách khác (nhưng tôi không có kinh nghiệm với chúng). Và tôi không nghi ngờ gì nữa, có những lĩnh vực khác cũng đòi hỏi một cách suy nghĩ khác.

Tóm tắt và ví dụ:

"Nghệ thuật" bao gồm các tác phẩm điêu khắc, tiểu thuyết, truyện tranh và tranh vẽ. Sự chồng chéo kỹ năng bao gồm:

  • Hình dạng cơ thể và lý thuyết màu sắc: Điêu khắc, truyện tranh và tranh vẽ
  • Giao tiếp văn bản: Tiểu thuyết và truyện tranh

... Và như thế. Nhưng như đã đề cập ở trên, một họa sĩ truyện tranh khó có thể làm tốt trong cuốn tiểu thuyết đầu tiên của họ. Họ cần suy nghĩ khác đi.

Tương tự như vậy, có sự chồng chéo trong các lĩnh vực lập trình / kỹ thuật phần mềm khác nhau, nhưng hầu hết chúng đều quá khác biệt để có thể nhảy vào. Ví dụ:

  • Thuật toán: Hệ điều hành / hệ thống tích hợp, trò chơi và những nơi khác bạn thường cần tối ưu hóa cho tốc độ hoặc bộ nhớ. Hiếm khi một vấn đề lớn trong phát triển web
  • Thiết kế: Ở mọi nơi trong phát triển web, nhưng không quan trọng lắm trong các hệ thống tích hợp không có UI.
  • Phần mềm máy khách / máy chủ: Tâm lý "không tin tưởng khách hàng", vốn không nhất thiết tồn tại trong một số miền (trò chơi một người chơi và phần mềm máy tính để bàn độc lập khác, mà tôi thừa nhận ngày nay hiếm hơn).

Tôi đã luôn tranh luận rằng lập trình và thiết kế phần mềm cũng là một nghệ thuật không kém gì khoa học hay kỹ thuật. Tôi đoán đây là một ví dụ khác về cách chúng giống nhau.
Izkata

Ồ, và trước khi ai đó cắn tôi vì nó, bằng "Thuật toán", tôi đang nói về những CS-y cấp cao. Heap Fibros và Timsort là hai thứ xuất hiện trong tâm trí. (Tôi hầu như không bao giờ làm việc ở mức độ phức tạp thuật toán đó, vì vậy tôi biết rất ít về chủ đề đó)
Izkata

0

Có phải tất cả các công nhân xây dựng đường có thể sử dụng mọi thiết bị và máy móc trên trang web việc làm? Câu trả lời là không. Có những mảnh máy móc mà họ biết và có khả năng quen thuộc với những người khác. Điều tương tự cũng đúng với các kỹ sư phần mềm, có x số ngôn ngữ và khung bạn biết vì bạn làm việc với họ hàng ngày, nhưng không nên biết chính xác các hoạt động của người khác mà không cần đào tạo. Nó giống như lấy công nhân búa khoan và giao cho anh ta nhiệm vụ lái máy trộn xi măng.

Ngôn ngữ lập trình và khung công tác chỉ là công cụ trong vành đai công cụ kỹ sư phần mềm. Có một số công cụ mà bạn sẽ biết rõ hơn những công cụ khác vì kinh nghiệm. Cuối cùng, công cụ tốt nhất là sự hiểu biết các khái niệm và nguyên tắc cốt lõi của điện toán. Chọn ngôn ngữ và khung chỉ là chọn tua vít nào sẽ sử dụng trên vít nào.


2
Đây là một sự tương tự xấu, họ đang nói về kỹ thuật, không phải công nhân xây dựng, mặc dù họ trộn lẫn các ẩn dụ trong câu hỏi. Vì vậy, tất cả các kỹ sư dân sự xây dựng đường dự kiến ​​sẽ có thể xây dựng bất kỳ loại đường nào! Giống như bất kỳ tài xế xe tải nào chở nhựa đường đến địa điểm xây dựng có thể lái bất kỳ loại xe tải nào.

1
@JarrodRoberson Tôi đồng ý rằng đó là một sự tương tự kém, nhưng tôi không chắc rằng khẳng định kỹ sư dân sự của bạn là tốt hơn. Chắc chắn, bất kỳ kỹ sư dân sự sẽ có thể đọc các kế hoạch cho bất kỳ con đường. Nhưng nếu bạn đang xây dựng đường băng hoặc đường băng, bạn có muốn thuê một người đã dành nhiều năm để xây đường cao tốc hay bạn muốn ai đó có kinh nghiệm cụ thể với đường băng hoặc đường băng?
Caleb

0

Điều này xảy ra rất nhiều nơi tôi làm việc.

Tôi thích so sánh với nghề của chú tôi - một thợ sửa xe.

Anh ấy chuyên về Mercedes, anh ấy có thể áp dụng kiến ​​thức của mình cho các loại xe khác, và anh ấy cũng vậy - một số trong số chúng khá hiếm, nhưng điều đó không có nghĩa là anh ấy có thể sửa chữa ngay lập tức X vì bạn nói nó gây ồn.

Tôi lập trình bằng một vài ngôn ngữ, nhưng điều đó không có nghĩa là tôi biết tại sao Safari trên MacBook của bạn tải lại các trang mỗi khi bạn thay đổi tab (cuộc gọi kỳ lạ ngày nay). Tôi sẽ cố gắng và tìm hiểu lý do tại sao nhưng tôi sẽ không biết ra khỏi đầu của tôi bởi vì lĩnh vực điện toán là LỚN .

Trong cả hai trường hợp sau khi dành một chút thời gian để xem xét các lĩnh vực tương ứng của chúng tôi, chúng tôi có thể tìm ra câu trả lời nhưng không phải trong mười giây mà mọi người nghĩ bởi vì "nhưng bạn làm việc với ô tô" hoặc "nhưng bạn làm việc với máy tính".

Mọi người có nói những điều như vậy với bác sĩ địa phương của họ không (chẳng hạn như "Tôi bị đau đầu vì tôi mắc bệnh gì?") - Tôi cá là họ làm vì hầu hết mọi người thực sự không hiểu rằng có nhiều nghề nghiệp hơn mong đợi trước mắt của họ của nghề nói.

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.