Làm thế nào để chọn một kỹ sư phần mềm ứng dụng web? [đóng cửa]


10

Làm thế nào tôi nên chọn một kỹ sư phần mềm ứng dụng web?

Vị trí (vĩnh viễn) là viết lại ứng dụng khách của ứng dụng máy chủ máy tính để bàn hiện có. Các trang sẽ không được tạo động trên máy chủ, nhưng máy chủ sẽ hiển thị API đầy đủ theo bất kỳ cách nào cần thiết, ví dụ như các cuộc gọi JSON RPC và có thể cung cấp các tệp tĩnh. Nó sẽ thay thế một ứng dụng khách mà mọi người phải tải xuống và cài đặt, do đó, yêu cầu một trình duyệt hợp lý với các cài đặt hợp lý (ví dụ: bật JavaScript) là tốt. Hầu như tất cả các trường hợp sử dụng là dành cho máy tính để bàn Nó sẽ không thể truy cập được đối với các công cụ tìm kiếm (đây là một ứng dụng dành cho doanh nghiệp).

Chúng ta có thể viết quá nhiều thứ trong một trang, nhưng không cần phải viết. Nó sẽ khá nhiều tất cả được viết bởi các kỹ sư phần mềm ứng dụng web trong câu hỏi. Các thư viện mã nguồn mở chính xác để sử dụng cũng tùy thuộc vào kỹ sư.

Tôi đặc biệt tìm kiếm lời khuyên về những bằng cấp cần tìm / xác minh trong một cuộc phỏng vấn, vì nói chung việc chọn một kỹ sư phần mềm ứng dụng web nói chung chỉ là một chủ đề quá rộng.

Chỉnh sửa - Vị trí sẽ hoàn toàn là lập trình JavaScript trên trình duyệt (và chịu trách nhiệm về HTML và CSS) - các nhà phát triển khác sẽ phát triển máy chủ nhưng vị trí này có thể yêu cầu mặt tiền trên API. Không có Ruby, ASP, JSP, v.v. vì lớp máy chủ web rất mỏng và chỉ dịch các cuộc gọi sang API lớp nghiệp vụ và trả về chúng dưới dạng JSON (hoặc bất cứ điều gì, nhưng JSON có vẻ dễ nhất).


FYI - Đây không phải là bản sao của programmers.stackexchange.com/questions/105114/... , mà là khá cụ thể đến các trang web thương mại điện tử và được cụ thể hơn yêu cầu nếu các câu hỏi quan trọng nên là: "Các bạn đã một mình, hoặc với một hoặc hai đối tác, đã từng đưa sản phẩm ra thị trường chưa? Tôi không quan tâm nếu nó thành công hay thất bại, nhưng hãy cho tôi biết về nó. "
psr

Tôi đã sửa tiêu đề trong câu hỏi bạn liên kết, vì câu hỏi đang được hỏi khá cụ thể. Thật không may, cái này thì không. Từ faq : Câu hỏi của bạn nên có phạm vi hợp lý. Nếu bạn có thể tưởng tượng toàn bộ cuốn sách trả lời câu hỏi của bạn, bạn đang hỏi quá nhiều.
Robert Harvey

Nếu tôi giới hạn nó trong trường hợp này thì nó thường không hữu ích?
psr

Mối quan tâm cấp bách nhất của bạn là gì? Tôi có thể cung cấp cho bạn những khái quát, như đừng quá lo lắng về những gì TLA có trong CV của họ. Dựa trên vị trí mà bạn mô tả, họ cần phải là người giải quyết vấn đề và một chút chuyên gia, những người hiểu nhiều hơn là chỉ xây dựng các ứng dụng CRUD. Nếu họ có những phẩm chất này, họ có thể xử lý các vấn đề cụ thể về công nghệ mà bạn ném vào họ. Nó cũng phụ thuộc vào việc đây là một vị trí toàn thời gian, liên tục hay hợp đồng tạm thời.
Robert Harvey

Thực sự, làm thế nào để thuê một kỹ sư phần mềm ứng dụng web. Cụ thể, tôi cho rằng những bằng cấp cần tìm / kiểm tra trong cuộc phỏng vấn
psr

Câu trả lời:


2

Là một nhà phát triển web, người chủ yếu làm việc trên các ứng dụng doanh nghiệp xử lý các hệ thống cũ, tôi có thể đưa ra một vài gợi ý về những gì làm cho tôi thành công và hy vọng điều đó sẽ giúp ích.

Tôi không chắc liệu bạn đang tìm kiếm một tình huống tạm thời / tư vấn để cung cấp cho bạn một ứng dụng hoặc FTE để phát triển và duy trì lâu dài, nhưng chúng nên được áp dụng trong cả hai trường hợp.

  • Tôi chủ yếu sử dụng Ruby. Điều này làm cho việc tạo mẫu nhanh rất nhanh và dễ dàng, và Rails giúp đơn giản để khởi động một dự án mới. Bây giờ, tôi không biết môi trường của bạn như thế nào, liệu bạn có ủy quyền về thể chế, ngôn ngữ, công cụ, nhưng nếu bạn có thể thuê một nhà phát triển thành thạo ngôn ngữ / khung hiện đại, linh hoạt để viết DSL để xử lý API nước ngoài tương đối nhanh chóng và dễ dàng, đó là một lợi thế. Về cơ bản, bất kỳ ngôn ngữ nào có bản chất Lisp sẽ vượt trội về vấn đề này. Ngoài ra, việc thuê một người thành thạo một ngôn ngữ có hệ sinh thái tốt của các thư viện nguồn mở để đối phó với sự trừu tượng phổ biến là điều bắt buộc.
  • Nếu bạn có thể tìm thấy ai đó đã từng làm việc với các hệ thống cũ và trừu tượng hóa các đặc điểm riêng của họ, thì đó là điều hiếm gặp và bạn nên khám phá nó. Hầu hết các nhà phát triển được sử dụng để xây dựng các dự án từ đầu (hoặc được đưa vào để duy trì các dự án hiện có) và xây dựng một cái gì đó mới để giao tiếp với một cái gì đó cũ ... không phải là một bộ kỹ năng, mà là cách tiếp cận.
  • Khi bạn nói "máy chủ sẽ hiển thị API theo bất kỳ cách nào cần thiết", điều đó khá mơ hồ, nhưng tôi đoán bạn có nghĩa là có những nhà phát triển hiện tại có thể triển khai API trên máy chủ? Tôi sẽ làm rõ rằng vị trí sẽ liên quan đến việc làm việc với các nhà phát triển đó để chỉ định API. Nếu bạn có thể đưa ra một ví dụ về loại tương tác cần thiết và hỏi ứng viên những suy nghĩ ban đầu của họ về cách thực hiện nó, thì đó có thể là nói. Tôi nghĩ rằng thực tế rằng suy nghĩ ban đầu của bạn là JSON RPC cho thấy bạn đang đi đúng hướng, vì vậy hãy coi chừng bất cứ ai có tầm nhìn về các tương tác XML và XSLT phức tạp.
  • Nếu bạn có thể mong đợi sự hỗ trợ JavaScript của trình duyệt tốt, hãy tìm ai đó có kinh nghiệm với các khung công tác JS như Backbone.js, JavaScriptMVC, v.v. Trong trường hợp đó, bạn có thể thực hiện toàn bộ ứng dụng (về cơ bản) trong trình duyệt và có thể phục vụ nó bằng Node.js ... Vì vậy, hãy nhìn về phía các nhà phát triển JS tốt. Nếu họ nói rằng họ thích viết JS của họ bằng CoffeeScript, thì họ thậm chí có thể là những nhà phát triển JS tốt hơn.

Chỉ là một vài suy nghĩ từ kinh nghiệm của tôi trong các chiến hào, nhưng nếu bộ phận của tôi đang thuê một nhà phát triển mới, đây là những gì tôi sẽ nói với họ để tìm kiếm.

Tôi ước bộ phận của tôi có ngân sách cho một nhà phát triển khác ...


Máy chủ tồn tại và các nhà phát triển khác (ngoài nhà phát triển mới) sẽ thực hiện API. Không chạm vào hệ thống cũ hoặc chịu trách nhiệm về các đặc điểm riêng - những người khác sẽ làm điều đó, mặc dù nhà phát triển này có thể yêu cầu mặt tiền cụ thể. Không có ruby, vì không có các trang được tạo động - và nhà phát triển này sẽ là mã JavaScript thuần trong trình duyệt (cũng chịu trách nhiệm về HTML và CSS). Nếu cuối cùng chúng tôi không thuê một nhà phát triển khác, tôi thực sự sẽ tự làm điều đó trong Backbone.js bằng JSON RPC, vì vậy cảm ơn vì đã xác thực một chút.
psr

1

Lưu ý: Đây đơn giản là ý kiến ​​của tôi, vì vậy đừng ném bồn rửa chén vào bếp;)

Tôi nghĩ rằng bạn đang trộn tên của hai vị trí khác nhau (có thể hơi khó hiểu).

Kỹ sư phần mềm : Một kỹ sư. Một người mạnh mẽ trong việc giải quyết các vấn đề trừu tượng không nhất thiết phải gắn với bất kỳ nền tảng cụ thể nào. Kiến thức vững chắc về các mẫu thiết kế, thuật toán (cả thuật toán đã biết cũng như thiết kế và phân tích thuật toán), một số điểm mạnh trong đại số tuyến tính và có thể là một số phép tính. Khi thuê một kỹ sư phần mềm trong quá khứ, tôi đã không lo lắng về kiến ​​thức miền cụ thể của họ như khả năng giải quyết các vấn đề phức tạp.

Nhà phát triển ứng dụng web : Một người biết các hoạt động xây dựng ứng dụng web. Hiểu kiến ​​trúc máy chủ và kiến ​​trúc phía máy khách và cách giao tiếp hiệu quả giữa hai bên. Đã quen thuộc với các tiêu chuẩn W3C, cả hai trạng thái đã hoàn thành và WIP. Hiểu cách cơ sở dữ liệu hoạt động và cách tối ưu hóa khi cần thiết (tối ưu hóa truy vấn, lưu trữ cơ sở dữ liệu, lập chỉ mục, v.v.). Cũng hiểu các cơ chế khác nhau của bộ nhớ đệm và các cách khác để tối ưu hóa các ứng dụng của họ. Cũng hiểu các quy ước ngữ nghĩa.

Có lẽ có một vài điều mà tôi đang thiếu mà tôi có thể điền vào khi tôi nghĩ về chúng.

Từ mô tả về những gì bạn đang tìm kiếm, có vẻ như tôi không tìm kiếm một kỹ sư phần mềm nào cả; bạn đang tìm kiếm một nhà phát triển ứng dụng web.

Vì vậy, điều đầu tiên tôi sẽ làm là thu hẹp những người bạn đang tìm kiếm và chuyên môn mà bạn mong đợi từ một ứng cử viên. Có thể giúp bạn một chút.


Xem lập trình viên.stackexchange.com/questions /45681 / từ - viết yêu cầu công việc cho nhà phát triển ứng dụng web. Đó là nơi tên đến từ. Tôi muốn một nhà phát triển ứng dụng web hoạt động hoàn toàn trên phần cuối của trình duyệt (như tôi đã nêu). Vì vậy, không có công cụ DB có liên quan. Kỹ năng kỹ thuật phần mềm sẽ là.
psr

Có thật không? Bạn muốn ai đó làm việc trên một hệ thống web không hiểu cơ sở dữ liệu và công cụ phía máy chủ ?? Eesh.
Demian Brecht

Không đề cập đến .. Không quá thường xuyên khi một nhà phát triển ứng dụng web phía khách hàng sẽ cần phải biết điều này như làm thế nào để vượt qua chiều rộng cây trước hoặc làm thế nào để xác định thời gian chạy trường hợp xấu nhất đối với thuật toán cụ thể hoặc thực hiện một hệ thống mật mã. Chỉ cần nói. Phải nói rằng, nếu bạn đang thuê Google hoặc Amazon, tôi có thể rút lại nhận xét đó.
Demian Brecht
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.