هذه السلسلة عبارة عن 10 نقاط مختصرة من مستند كتبه مهندس برمجيات في اوائل 2017 و كان قد عمل في Google لمدة 10 سنوات و كتبه في 20 ورقة. هناك الكثير من التفاصيل لم اذكرها و لمن اراد الإستزادة عليه الرجوع للورقة المرفقة.
(سلسلة)
arxiv.org
(سلسلة)
arxiv.org
1. لدى Google مخزن Repository للأكواد يضم اكثر من بليوني سطر. يتم عليه اكثر من 40 الف Commit يومياً. لكل مبرمج في الشركة حق الاطلاع و التعديل على أي كود حتى لو كانت خارج نطاق مشروعه. و يقبل بعد موافقة الCode Owner على التعديل.
2. لدى Google نظام يسمى Blaze لفحص Testing الكود و بنائه Build آلياً و لابد من وجود Unit Testing. و مراجعة الكود تتم عن طريق الويب بعد ارسال طلب من الCode Owner كرابط بريد الكتروني للمبرمجين . يفيد بوجود كود يحتاج مراجعة ولا بد من مراجعته على الأقل من قبل شخص اخر.
3. بالنسبة للBug Tracking فلدى قوقل نظام اسمه Buganizer لمتابعة الBugs و طلبات الإضافات و مشاكل العملاء. بالنسبة للغات البرمجة فهناك خمس لغات معتمدة هي ++C و Java و Python و Go و JavaScript و اخرى غير معتمدة تحاول تقليلها و لديهم لكل لغة دليل كتابة الكود Google style guides.
4. عند إطلاق التعديلات و من خلال نظام خاص للApproval هناك مجموعة اشخاص QA من خارج مجموعة مهندسي البرمجيات وظيفتهم التحقق من الناحية القانونية و الأمنية و استقرار النظام قبل ان يطلق.
5. في حالة وجود اي مشكلة يتم توثيقها بالكامل مع ماتم عمله حيالها و يتم التركيز على كيفية اصلاحها و عدم تكرارها في المستقبل و ليس على لوم الأشخاص الذين تسببوا فيها.
6. للمبرمجين الحق في العمل بما يوازي 20% من وقتهم في اي مشروع يختارونه بدون اخذ موافقة من مدرائهم. اغلب برامج قوقل يتم اعادة كتابتها خلال سنين قليلة.
7. يقوم موظفي قوقل بكتابة مستند يوضحون فيه اهدافهم التي تتوازى مع اهداف الشركة و أهداف القسم و يوضحون تقدمهم في تحقيقها و هو ما يعرف بالOKR و يتم احتساب نقاط الOKR ربع سنوي.
8. لدى Google وظائف او صلاحيات محددة Roles مثل Engineering Manager و هم في الاصل مهندسين و لديهم مهارات في ادارة الفريق. وهناك Software Engineer الذين يقومون بالبرمجة و لديهم Research Scientist و اغلبهم من حملة الدكتوراة.
9. تفصل Google المهندسين عن الإداريين فهي تدعم مهندسيها بـ Product Manager و Program Manager و و Site Reliability Engineer. و هذه الست وظائف هي كل الRoles في قسم التطوير.
10. مرافق Google من افضل بيئات العمل في العالم , فلديهم مساحات مفتوحة يتم اعادة توزيع المهندسين على المكاتب دورياً حسب حاجة المشروع. بالنسبة للأشياء الآخرى المتعلقة بالمرافق فيمكن رؤيتها في الفيديو الوثائقي هذا.
youtu.be
youtu.be
جاري تحميل الاقتراحات...