จะเลือกวิศวกรซอฟต์แวร์เว็บแอปพลิเคชั่นได้อย่างไร? [ปิด]


10

ฉันจะเลือกวิศวกรซอฟต์แวร์เว็บแอปพลิเคชันได้อย่างไร

ตำแหน่ง (ถาวร) คือการเขียนไคลเอนต์ของแอปพลิเคชันเซิร์ฟเวอร์ไคลเอ็นต์เดสก์ท็อปที่มีอยู่ หน้าจะไม่ถูกสร้างแบบไดนามิกบนเซิร์ฟเวอร์ แต่เซิร์ฟเวอร์จะเปิดเผย API แบบเต็มไม่ว่าจะด้วยวิธีใดก็ตามเช่นการเรียก JSON RPC และสามารถทำให้ไฟล์คงที่พร้อมใช้งาน มันจะแทนที่ลูกค้าที่ผู้คนต้องดาวน์โหลดและติดตั้งดังนั้นต้องการเบราว์เซอร์ที่เหมาะสมด้วยการตั้งค่าที่เหมาะสม (เช่นเปิดใช้งาน JavaScript) ก็ใช้ได้ กรณีการใช้งานเกือบทั้งหมดมีไว้สำหรับเดสก์ท็อปพีซีจะไม่สามารถเข้าถึงเครื่องมือค้นหา (เป็นแอปพลิเคชันองค์กร)

เราสามารถเขียนสิ่งต่าง ๆ ทั้งหมดในหน้าเดียว แต่ไม่ต้องทำ มันค่อนข้างจะถูกเขียนโดยวิศวกรซอฟต์แวร์แอปพลิเคชันบนเว็บที่มีปัญหา ไลบรารีโอเพ่นซอร์สที่แน่นอนที่จะใช้นั้นขึ้นอยู่กับวิศวกรด้วยเหตุผล

ฉันกำลังมองหาคำแนะนำเฉพาะเกี่ยวกับคุณสมบัติที่จะมองหา / ตรวจสอบในการสัมภาษณ์เนื่องจากการเลือกวิศวกรซอฟต์แวร์เว็บแอปพลิเคชันโดยทั่วไปนั้นเป็นหัวข้อที่กว้างเกินไป

แก้ไข - ตำแหน่งจะเป็นการเขียนโปรแกรม JavaScript ในเบราว์เซอร์อย่างหมดจด (และรับผิดชอบ HTML และ CSS) - ผู้พัฒนารายอื่นจะพัฒนาเซิร์ฟเวอร์ แต่ตำแหน่งนี้สามารถขอหน้าผ่าน API ไม่มี Ruby, ASP, JSP เป็นต้นเนื่องจากเว็บเซิร์ฟเวอร์เลเยอร์บางมากและเพียงแปลการเรียกไปยัง API ของเลเยอร์ธุรกิจและส่งคืนเป็น JSON (หรืออะไรก็ตาม แต่ JSON ดูเหมือนง่ายที่สุด)


FYI - นี่ไม่ใช่สำเนาของprogrammers.stackexchange.com/questions/105114/ …ซึ่งค่อนข้างเฉพาะเจาะจงสำหรับไซต์อีคอมเมิร์ซและมีการถามเพิ่มเติมโดยเฉพาะว่าคำถามสำคัญควรเป็น: "ให้คุณด้วยตัวคุณเองหรือด้วยคำถามเดียว หรือสองพันธมิตรเคยนำผลิตภัณฑ์ออกสู่ตลาดหรือไม่ฉันไม่สนใจว่าจะประสบความสำเร็จหรือล้มเหลว แต่บอกฉันเกี่ยวกับเรื่องนี้ "
psr

ฉันแก้ไขชื่อเรื่องในคำถามที่คุณเชื่อมโยงเนื่องจากคำถามที่ถูกถามนั้นค่อนข้างเจาะจง น่าเสียดายที่อันนี้ไม่ได้ จากคำถามที่พบบ่อย : คำถามของคุณควรมีขอบเขต หากคุณสามารถจินตนาการหนังสือทั้งเล่มที่ตอบคำถามของคุณคุณกำลังถามมากเกินไป
Robert Harvey

หากฉัน จำกัด เฉพาะกรณีนี้มันจะไม่เป็นประโยชน์โดยทั่วไปหรือไม่?
psr

ความกังวลที่เร่งด่วนที่สุดของคุณคืออะไร? ฉันสามารถให้ข้อมูลทั่วไปแก่คุณได้เช่นไม่ต้องกังวลกับสิ่งที่ TLA มีต่อ CV ขึ้นอยู่กับตำแหน่งที่คุณอธิบายพวกเขาจำเป็นต้องเป็นนักแก้ปัญหาและแจ็คของการซื้อขายทั้งหมดที่เข้าใจมากกว่าการสร้างแอพ CRUD หากพวกเขามีคุณสมบัติเหล่านี้พวกเขาสามารถจัดการกับปัญหาเฉพาะทางเทคโนโลยีที่คุณส่งถึงพวกเขาได้ นอกจากนี้ยังขึ้นอยู่กับว่าสิ่งนี้เป็นตำแหน่งต่อเนื่องเต็มเวลาหรือสัญญาชั่วคราว
Robert Harvey

จริงๆแล้ววิธีการจ้างวิศวกรซอฟต์แวร์เว็บแอปพลิเคชัน โดยเฉพาะอย่างยิ่งฉันคิดว่าคุณสมบัติที่จะมองหา / ทดสอบในการสัมภาษณ์
psr

คำตอบ:


2

ในฐานะนักพัฒนาเว็บที่ทำงานกับแอพระดับองค์กรที่จัดการกับระบบเดิมฉันสามารถให้คำแนะนำเล็กน้อยเกี่ยวกับสิ่งที่ทำให้ฉันประสบความสำเร็จและหวังว่าจะช่วยได้

ฉันไม่แน่ใจว่าคุณกำลังมองหาสถานการณ์ชั่วคราว / ที่ปรึกษาเพื่อให้แอปเดียวกับคุณหรือ FTE เพื่อพัฒนาและรักษาระยะยาวนี้ แต่สิ่งเหล่านี้ควรนำไปใช้ในทั้งสองกรณี

  • ฉันใช้ทับทิมเป็นหลัก สิ่งนี้ทำให้การสร้างต้นแบบอย่างรวดเร็วง่ายและรวดเร็วและ Rails ทำให้การบูตโครงการใหม่ง่ายขึ้น ตอนนี้ฉันไม่ทราบว่าสภาพแวดล้อมของคุณเป็นอย่างไรไม่ว่าคุณจะมีเอกสารภาษาแพลตฟอร์มเครื่องมือ แต่ถ้าคุณสามารถจ้างนักพัฒนาที่มีความเชี่ยวชาญในภาษา / กรอบการทำงานที่ทันสมัยและยืดหยุ่นซึ่งทำให้การเขียน DSL เกี่ยวข้องกับ API ของต่างประเทศนั้นค่อนข้างรวดเร็วและง่ายดายนั่นเป็นข้อดี โดยพื้นฐานแล้วภาษาใดก็ตามที่มี Lisp-nature จะเหนือกว่าในเรื่องนี้ นอกจากนี้การจ้างคนที่มีความเชี่ยวชาญในภาษาที่มีระบบนิเวศที่ดีของห้องสมุดโอเพ่นซอร์สเพื่อจัดการกับ abstractions ทั่วไปเป็นสิ่งจำเป็น
  • หากคุณสามารถหาคนที่เคยรับมือกับระบบมรดกและสรุปความเป็นไปได้ของมันนั่นเป็นเรื่องยากและคุณควรสำรวจมัน devs ส่วนใหญ่จะใช้ในการสร้างโครงการจากพื้นดินขึ้น (หรือถูกนำเข้ามาเพื่อรักษาโครงการที่มีอยู่) และการสร้างสิ่งใหม่เพื่อเชื่อมต่อกับสิ่งที่เก่าใช้เวลาบางอย่าง ... ไม่ใช่ชุดทักษะต่อ แต่วิธีการ
  • เมื่อคุณพูดว่า "เซิร์ฟเวอร์จะเปิดเผย API ในแบบที่ต้องการ" ก็ค่อนข้างคลุมเครือ แต่ฉันเดาว่าคุณหมายถึงมีนักพัฒนาที่มีอยู่ที่สามารถใช้ API บนเซิร์ฟเวอร์ได้หรือไม่ ฉันจะทำให้ชัดเจนว่าตำแหน่งจะเกี่ยวข้องกับการทำงานกับนักพัฒนาเหล่านั้นเพื่อระบุ API หากคุณสามารถให้ตัวอย่างของประเภทของการโต้ตอบที่ต้องการและขอให้ผู้สมัครของพวกเขาคิดเริ่มต้นเกี่ยวกับวิธีการใช้มันอาจจะบอก ฉันคิดว่าข้อเท็จจริงที่ว่าความคิดเริ่มต้นของคุณคือ JSON RPC แสดงให้เห็นว่าคุณกำลังมุ่งไปในทิศทางที่ถูกต้องดังนั้นระวังสำหรับผู้ที่มีวิสัยทัศน์เกี่ยวกับการโต้ตอบ XML และ XSLT ที่ซับซ้อน
  • หากคุณสามารถคาดหวังการสนับสนุน JavaScript ของเบราว์เซอร์ที่ดีมองหาคนที่มีประสบการณ์กับเฟรมเวิร์ก JS เช่น Backbone.js, JavaScriptMVC และอื่น ๆ คุณสามารถทำได้ทั้งแอป (โดยทั่วไป) ในเบราว์เซอร์และอาจใช้ Node.js ... ดังนั้นมองไปที่ผู้พัฒนา JS ที่ดี ถ้าพวกเขาบอกว่าชอบเขียน JS ใน CoffeeScript พวกเขาน่าจะเป็น JS devs ที่ดีกว่า

แค่ความคิดบางอย่างจากประสบการณ์ของฉันในสนามเพลาะ แต่ถ้าแผนกของฉันจ้างนักพัฒนาใหม่นี่คือสิ่งที่ฉันจะบอกให้พวกเขามองหา

ฉันหวังว่าแผนกของฉันมีงบประมาณสำหรับนักพัฒนาอื่น ...


เซิร์ฟเวอร์มีอยู่และผู้พัฒนารายอื่น (นอกเหนือจากนักพัฒนาใหม่) จะทำให้ API เกิดขึ้น จะไม่แตะต้องระบบเดิมหรือรับผิดชอบต่อนิสัยคนอื่น ๆ จะทำเช่นนั้นแม้ว่านักพัฒนาซอฟต์แวร์นี้จะขอซุ้มด้านหน้าที่เฉพาะเจาะจง ไม่มีรูบี้เพราะไม่มีเพจที่สร้างขึ้นแบบไดนามิกและนักพัฒนานี้จะใช้โค้ด JavaScript ในเบราว์เซอร์แท้ (รับผิดชอบ HTML และ CSS เช่นกัน) หากในที่สุดเราไม่ได้จ้างนักพัฒนาคนอื่นฉันจะทำมันด้วยตัวเองใน Backbone.js โดยใช้ JSON RPC ดังนั้นขอขอบคุณสำหรับการตรวจสอบเพียงเล็กน้อย
psr

1

หมายเหตุ: นี่เป็นเพียงความเห็นของฉันดังนั้นอย่าโยนอ่างล้างจานมาที่ฉัน;)

ฉันคิดว่าคุณกำลังเอ่ยชื่อสองตำแหน่งที่แตกต่างกันอย่างชัดเจน (ซึ่งอาจทำให้สับสนเล็กน้อย)

วิศวกรซอฟต์แวร์ : วิศวกร ผู้ที่แข็งแกร่งในการแก้ปัญหาเชิงนามธรรมที่ไม่จำเป็นต้องเชื่อมโยงกับแพลตฟอร์มเฉพาะใด ๆ ความรู้ที่แข็งแกร่งของรูปแบบการออกแบบอัลกอริทึม (ทั้งอัลกอริทึมที่รู้จักรวมถึงการออกแบบและวิเคราะห์อัลกอริทึม) ความแข็งแกร่งในพีชคณิตเชิงเส้นและแคลคูลัสบางส่วน เมื่อก่อนจ้างวิศวกรซอฟต์แวร์ในอดีตฉันไม่เคยกังวลเกี่ยวกับความรู้ด้านโดเมนเฉพาะของพวกเขาเท่าที่พวกเขาสามารถแก้ปัญหาที่ซับซ้อนได้

นักพัฒนาเว็บแอปพลิเคชั่น : คนที่รู้ลึกหนาบางของการสร้างเว็บแอปพลิเคชัน ทำความเข้าใจกับสถาปัตยกรรมฝั่งเซิร์ฟเวอร์กับไคลเอนต์และวิธีสื่อสารอย่างมีประสิทธิภาพระหว่างทั้งสอง คุ้นเคยกับมาตรฐาน W3C ทั้งสถานะสมบูรณ์และสถานะ WIP ทำความเข้าใจวิธีการทำงานของฐานข้อมูลและวิธีการปรับให้เหมาะสมเมื่อจำเป็น (การปรับให้เหมาะสมของแบบสอบถาม, การแคชฐานข้อมูล, การจัดทำดัชนี ฯลฯ ) ยังเข้าใจถึงกลไกต่าง ๆ ของการแคชและวิธีอื่น ๆ ยังเข้าใจอนุสัญญาความหมาย

อาจมีบางสิ่งที่ฉันคิดถึงว่าฉันอาจเติมเพราะฉันคิดถึง 'em

จากคำอธิบายของสิ่งที่คุณกำลังมองหาดูเหมือนว่าฉันไม่ได้มองหาวิศวกรซอฟต์แวร์เลย คุณกำลังมองหานักพัฒนาโปรแกรมประยุกต์บนเว็บ

ดังนั้นสิ่งแรกที่ฉันจะทำคือ จำกัด ผู้ที่คุณกำลังมองหาและความเชี่ยวชาญที่คุณคาดหวังจากผู้สมัคร อาจช่วยคุณได้ไม่น้อย


ดูprogrammers.stackexchange.com/questions/45681/… - เขียนข้อกำหนดงานสำหรับนักพัฒนาเว็บแอปพลิเคชัน นั่นคือที่มาของชื่อ ฉันต้องการให้นักพัฒนาแอปพลิเคชันเว็บทำงานอย่างหมดจดในส่วนท้ายของเบราว์เซอร์ (ตามที่ฉันได้ระบุไว้แล้ว) ดังนั้นจึงไม่มีสิ่ง DB ที่เกี่ยวข้อง ทักษะทางวิศวกรรมซอฟต์แวร์จะเป็นอย่างไร
psr

จริงๆ? คุณต้องการให้ใครบางคนทำงานบนระบบเว็บที่ไม่เข้าใจฐานข้อมูลและสิ่งที่อยู่ฝั่งเซิร์ฟเวอร์หรือไม่? EESH
Demian Brecht

ไม่ต้องพูดถึง .. ไม่บ่อยนักที่นักพัฒนาแอปพลิเคชันเว็บฝั่งไคลเอ็นต์จะต้องรู้วิธีการสำรวจความกว้างของต้นไม้ก่อนหรือวิธีการกำหนดเวลาที่เลวร้ายที่สุดในการรันเคสสำหรับอัลกอริทึมหรือการนำไปปฏิบัติ cryptosystem แค่พูด. ต้องบอกว่าถ้าคุณจ้าง Google หรือ Amazon ฉันอาจถอนคำพูดนั้น
Demian Brecht
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.