วิธีการจ้างนักพัฒนา Android คนแรกสำหรับการเริ่มต้นของคุณ - Gaurav Navgire ผู้เชี่ยวชาญ AirCTO

อุตสาหกรรมมือถือกำลังเปลี่ยนแปลงอย่างรวดเร็ว ผู้ใช้ใช้เวลาส่วนใหญ่บนมือถือและด้วย Android ที่อ้างว่ามีส่วนแบ่งการตลาด 65% เป็นสิ่งจำเป็นที่ บริษัท / ผู้เริ่มต้นมีแอพ Android ของตัวเองที่อยู่ใน Play Store การเติบโตและยักษ์ใหญ่

ผู้ก่อตั้ง / ผู้จัดการการท้าทายที่สำคัญเผชิญในขณะที่การจ้างงานตำแหน่ง Android กำลังตัดสินใจเลือกสิ่งที่คาดหวังจากนักพัฒนา Android คนต่อไปและวิธีประเมินว่าเขาเหมาะสมกับงานหรือไม่ทั้งในด้านเทคนิคและพฤติกรรม ความคาดหวังอาจแตกต่างกันไปขึ้นอยู่กับขนาดของ บริษัท เทคโนโลยีกองซ้อน ฯลฯ และไม่มีอะไรเหมือน "กฎข้อหนึ่งที่เหมาะกับทุกคน" โซลูชัน

ดังนั้นคุณจะเลือกอย่างไร

ที่ AirCTO เราได้ทำการสัมภาษณ์กับ Android หลายร้อยครั้งและเราเห็นผู้สมัครหลายร้อยคนที่ถูกปฏิเสธซึ่งดูเหมือนว่าประวัติย่อของพวกเขาจะเป็นโอกาสที่ดีหากไม่ดี เพื่อแก้ปัญหาใครจ้าง? วิธีการจ้างงาน เราตัดสินใจสัมภาษณ์ผู้เชี่ยวชาญ Gaurav Navgire ซึ่งเป็นผู้ให้คำปรึกษากับเรามานานกว่า 1.5 ปีและได้ทำการสัมภาษณ์หลายครั้งกับ บริษัท ต่าง ๆ ซึ่งส่วนใหญ่ส่งผลให้ได้รับการว่าจ้างอย่างมาก

ในการให้สัมภาษณ์ของเขา Gaurav พูดถึงว่าโปรไฟล์ของนักพัฒนา Android ในอุดมคติควรมีลักษณะอย่างไรมีวิธีสัมภาษณ์เขาและตรวจสอบโครงการของเขาและธงสีแดงเพื่อหลีกเลี่ยงอย่างสมบูรณ์

คุณเริ่มอาชีพของคุณในฐานะวิศวกรซอฟต์แวร์แล้วเปลี่ยนมาใช้ Android คุณสนใจอะไรมากที่สุดเกี่ยวกับเทคโนโลยีนี้

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

หลังจากวิศวกรรมฉันตัดสินใจที่จะกระโดดลึกเข้าไปใน JAVA และ Mobility ซึ่งเป็นไปได้เฉพาะเมื่อฉันเรียนรู้ J2ME ดังนั้นฉันจึงเริ่มทำหลักสูตร แต่โชคดีที่มีอินโฟซิสให้ฉันเข้าร่วมวันที่ (ฉันถูกส่งเข้ามหาวิทยาลัย) ฉันเรียนจบหลักสูตรโดยเร็วเพื่อเข้าร่วม บริษัท ในฝันของฉันในเวลานั้น ปี 2551 เป็นปีเดียวกับที่ Android เปิดตัวสู่โลก

ในอินโฟซิสในฐานะที่เป็นคนที่สดชื่นกว่าฉันไม่มีทางเลือกนอกจากต้องทำงานใน SAP BI ต่อไปอีก 2 ปีครึ่งในตำแหน่งวิศวกรซอฟต์แวร์ ในช่วงเวลานี้ Android เริ่มทำข่าวในอินเดีย เมื่อฉันได้รู้เกี่ยวกับมันฉันใช้เสรีภาพในการเรียนรู้ด้วยตัวเองและฝึกฝนตัวเองอย่างหนักเพื่อให้พร้อมและใช้งานได้ในอุตสาหกรรม Mobility

สิ่งที่ฉันชอบเกี่ยวกับ Android คือคุณสามารถสร้างแอปพลิเคชั่นมือถือโดยใช้ CORE JAVA ไม่จำเป็นต้องเรียนรู้ J2ME เป็นต้นนอกจากนี้มันยังเป็นโอเพนซอร์ส คุณสามารถสร้างเกมง่าย ๆ สำหรับแอพพลิเคชั่นระดับองค์กรเพื่อสร้าง ROM แบบกำหนดเอง โชคดีที่ฉันได้ทำงานกับกระบวนทัศน์ทั้งหมดของ Android Ecosystem ดังนั้นสำหรับฉันมันเป็นทองคำแห่งความรู้และโอกาส ฉันไม่ได้ดูตั้งแต่

พอร์ตโฟลิโอของ dev ที่ดีที่สุดของ Android ควรมีลักษณะอย่างไร

พอร์ตโฟลิโอที่เหมาะสำหรับ Android dev คือการใช้งานบางส่วนของหน่วยการสร้างพื้นฐานเช่นกิจกรรม, ชิ้นส่วน, บริการ ฯลฯ ไปจนถึงคุณสมบัติที่ซับซ้อนเช่นการสื่อสารระหว่างกระบวนการโดยใช้ AIDL

ฉันต้องการดูพอร์ตโฟลิโอที่นักพัฒนาสร้างแอพโดยใช้ Android API บริสุทธิ์และไม่ใช้ไลบรารีของบุคคลที่สามเพียงเพื่อแก้ปัญหาการเขียนโปรแกรมอย่างรวดเร็ว ถ้าเขา / เธอใช้ไลบรารี่เช่นไลค์, ปิกัสโซ, พวกเขาจะต้องสามารถอธิบายได้ว่างานจริงนั้นถูกจัดการโดยทางโปรแกรมอย่างไร

คุณได้สัมภาษณ์กับ AirCTO มาหลายครั้งแล้วกระบวนการของคุณในการหาผู้สมัครเป็นอย่างไร

ฉันเน้นเรื่องพื้นฐานเป็นหลัก และมีขั้นตอนในการทดสอบพื้นฐาน อย่างแรกคือแนวคิดการเขียนโปรแกรม Object Oriented ประการที่สองคือ Core Java และสุดท้ายคือสถาปัตยกรรม Android และหน่วยการสร้าง เมื่อผู้สมัครผ่านด้วยพื้นฐานแล้วคำถามขั้นสูงเท่านั้นที่เหมาะสม

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

ความสำคัญของรูปแบบการออกแบบและการจัดการเธรดในการพัฒนา Android?

โปรแกรมเมอร์ไม่สามารถเรียกตัวเองได้ดังนั้นหากเขา / เธอไม่รู้ว่ารูปแบบการออกแบบโครงสร้างข้อมูลและการทำเธรดหลายตัวคืออะไร JAVA มีไว้สำหรับการทำงานแบบมัลติเธรดและ Android สามารถทำงานประสานและแบบอะซิงโครนัสได้อย่างสวยงาม

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

ความสำคัญของโครงการ? วิธีการตรวจสอบพวกเขา?

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

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

คุณสัมภาษณ์มาแล้วหลายครั้งสำหรับ บริษัท ใหม่และ บริษัท ใหญ่ ๆ วิธีการแตกต่างกันในแต่ละกรณีอย่างไร

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

ในการเริ่มต้นนี่ไม่ใช่กรณี ที่นี่เรามีการตรวจสอบว่าผู้สมัครสามารถส่งมอบในฐานะสมาชิกในทีมพร้อมกับการตั้งค่าวิธีปฏิบัติที่ดีที่สุดสำหรับเพื่อนร่วมงาน, การตรวจสอบโค้ด, การจัดการ repo ต้นทางและงาน DevOps เพียงไม่กี่รายการ

ดังนั้นแม้ว่าฉลากบทบาทสามารถเหมือนกัน แต่ความคาดหวังจะแตกต่างกันในการเริ่มต้น นอกจากนี้ผู้พัฒนารายเดียวกันจะต้องเป็นส่วนหนึ่งของการออกแบบเว็บ API และแม้แต่การพัฒนา มากสำหรับบทบาทอาวุโส แต่ถึงกระนั้น Freshers ก็ต้องเผชิญกับช่วงเวลาที่ยากลำบากกว่า บริษัท ใหญ่ ๆ

คำถามการแก้ปัญหาที่คุณชื่นชอบเพื่อทดสอบทักษะความรู้ความเข้าใจของผู้สมัคร?

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

คุณแนะนำให้ผู้ก่อตั้งสตาร์ทอัพเกี่ยวกับวิธีการจ้างนักพัฒนา Android คนแรก?

ในฐานะผู้ก่อตั้งคุณมีความคิดมากมาย คุณต้องการใครสักคนที่สามารถนำความคิดเหล่านั้นสู่ความเป็นจริง คุณต้องการทางออกสำหรับปัญหาและความคิดของคุณจากนั้นและที่นั่นหรืออย่างน้อยก็มีความสามารถในการหาทางออกที่ดีที่สุดในเวลาไม่นาน

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

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

ดังนั้นคุณต้องการจ้างนักพัฒนา Android ที่ยอดเยี่ยมที่สามารถเพิ่มคุณค่าให้กับทีมของคุณหรือไม่? กำหนดเวลาเพื่อพูดคุยกับผู้เชี่ยวชาญการว่าจ้างของเราตอนนี้