Một số đặc sản phát triển được biết đến / phổ biến là gì? [đóng cửa]


10

Trong một câu trả lời mà tôi đã đăng lên một câu hỏi khác, tôi lưu ý rằng có khả năng ngày càng trở nên chuyên môn hóa trong phát triển phần mềm: có các chuyên gia hoặc chuyên gia cho loại lập trình nhất định.

Tôi đang tự hỏi, những đặc sản nào được biết là tồn tại với số lượng hợp lý trong ngành hiện nay (không phải là học viện), đó không phải là công nghệ cụ thể (ví dụ: đối với thảo luận này winforms không phải là một chuyên ngành)? Tôi cũng quan tâm đến ngành mà một chuyên gia như vậy sẽ phải làm việc nếu cần thiết.

Câu trả lời:


18

Cách tôi nhìn thấy nó có hai loại chuyên môn:

  1. chuyên môn hóa trong một lĩnh vực lập trình cụ thể;
  2. hoặc chuyên môn hóa trong một lĩnh vực vấn đề.

Ví dụ về một chủ đề lập trình sẽ là:

  • Nhúng
  • GUI
  • Hình dung
  • Kiểm tra

Sau đó, có chuyên môn hóa trong một lĩnh vực vấn đề cụ thể như

  • Tài chính
  • Thuộc về khoa học
  • Y khoa
  • Hầu như bất kỳ ngành công nghiệp lớn có thể được coi là một lĩnh vực vấn đề

Tôi nghĩ đó là một sự khác biệt quan trọng.


4

Lập trình hệ thống nhúng (mà tôi đã tham gia trong hơn 30 năm qua) đòi hỏi một tư duy khá khác biệt so với hầu hết các loại phát triển phần mềm khác. Phạm vi sức mạnh tính toán rất khác nhau, từ bộ vi điều khiển 8 bit có giá 30 xu cho đến bộ vi xử lý 32 bit chạy Linux hoặc một số HĐH thông thường khác. Tôi hiện đang làm dự án ở cả hai đầu của quy mô này. Bộ nhớ mã trên micros nhỏ nhất có thể chỉ vài KB, chỉ với vài trăm byte RAM. Một micro 16 bit tầm trung có giá 3 đô la về số lượng có thể có 256KB dung lượng lưu trữ chương trình và 16KB RAM.

Bên cạnh tài nguyên bộ nhớ hạn chế, một trong những khía cạnh của lập trình nhúng không giống như các lĩnh vực phát triển phần mềm khác là lập trình viên thường giao dịch trực tiếp với phần cứng ở cấp độ đăng ký - trên chính vi mô hoặc trong một thiết bị ngoại vi gắn liền với micro thông qua các chuỗi nối tiếp như UART, SPI hoặc I2C. Vì lý do này, các micrô nhúng cấp thấp thường được lập trình bằng ngôn ngữ C hoặc ngôn ngữ lắp ráp.

Các hệ thống nhúng thường xử lý các sự kiện thời gian thực, vì vậy một chương trình phần mềm nhúng thường có nhiều thói quen gián đoạn và có thể là một RTOS nhỏ (HĐH thời gian thực). Gỡ lỗi các hệ thống như vậy thường yêu cầu hỗ trợ phần cứng bằng cách sử dụng một vài dòng chuyên dụng vào vi mô để các điểm dừng có thể được đặt từ xa từ PC. Máy phân tích logic, máy phân tích bus và máy hiện sóng là những công cụ bổ sung được sử dụng để gỡ lỗi các hệ thống này.

Do các khía cạnh phần cứng của phát triển nhúng, các nhà phát triển thường có một số nền tảng điện tử. (Tôi có bằng cấp ở cả EE và CS).


1

Vai trò / nhóm "Nhà phát triển DBA" tồn tại nhưng không đủ phổ biến hoặc được đánh giá cao.

Nói về các cửa hàng lớn hơn, nhóm DBA sản xuất có thể có vài 1000 phiên bản SQL Server để quản lý và giám sát, cung cấp khả năng khắc phục thảm họa, liên kết với các nhóm SAN, mạng và hệ điều hành, v.v.

Ai ở đó cho các nhóm phát triển? Điều chỉnh? Chỉ số? Thiết kế? Tiêu chuẩn mã hóa?

Nói rằng, với tư cách là một DBA dành cho nhà phát triển, tôi đã gặp rất nhiều nhà phát triển khách hàng biết nhiều về cơ sở dữ liệu hơn tôi ... :-)

Tất nhiên, kiến ​​thức về kinh doanh cũng hữu ích. nếu bạn được thuê để cải thiện một số mã định giá các công cụ phái sinh phức tạp trong ngân hàng đầu tư, thì một số chuyên môn về chủ đề cũng quan trọng như kỹ năng mã hóa điên cuồng.


0

Ngoài ra còn có sự khác biệt khi biết một loại giải pháp phần mềm cụ thể như bất kỳ giải pháp nào sau đây:

  • Hoạch định nguồn lực doanh nghiệp
  • Quản trị quan hệ khách hàng
  • Hệ thống quản lí nội dung

Có khả năng là những người khác nhưng đây là một hình thức chuyên môn khác, nơi người ta có thể làm việc cho hầu hết mọi loại công ty thực hiện việc tùy chỉnh các khả năng trên. Trong trường hợp của tôi, tôi đã làm việc trên Hệ thống quản lý nội dung trong một vài năm nay mà tôi muốn nói là một chuyên ngành theo nghĩa nào đó.

Một cái gì đó như Phát triển Web có thể không đủ cụ thể vì có thể có nhiều đặc sản trong lĩnh vực này, hoặc nó sẽ được tính cho những gì bạn muốn?


Hmm, tôi hy vọng các đặc sản khác biệt với các kỹ năng thực hiện của họ. Chẳng hạn, một chuyên gia AI không cần sử dụng C ++ / Prolog / bất kỳ ngôn ngữ nào. Phát triển web như tôi thấy ngày nay gắn kết mạnh mẽ với việc triển khai các công nghệ (asp.net mvc! = RoR - kiến ​​thức có thể dịch được chủ yếu là lập trình chung và kiến ​​thức nền tảng)
Steven Evers
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.