التغلب على التغلب على حواجز الطرق غير الفنية والتقنية التي يتم التغلب عليها

التغلب على التغلب على حواجز الطرق غير الفنية والتقنية التي يتم التغلب عليها

يعد رمز الكتابة جزءًا صغيرًا من وظيفتك كمهندس برمجيات. ستقوم أيضًا بتوصيل التوقعات وإدارتها. في هذه المقالة ، ستكتشف مكان حظر مهندسي البرمجيات أثناء أداء المهمة وكيف يمكنك (كشخص منتج) إلغاء قفلك. سوف تكتشف أيضًا كيف يمكنك فتح نفسك كمهندس برمجيات. لنبدأ!

أين يتم حظر مهندسي البرمجيات وكيف يمكنك فتحهم (نفسك)

جدول المحتويات #

ماذا تفعل ضد كيفية عمله # #

بالنسبة لوظيفة معينة ، فإن هذا هو القيام به وكيف يجب أن تعمل وظيفة العميل ، ودائما مسؤولية مدير المنتج (أو شخص آخر منتج) في الفريق. يقع تحديد الأولويات وما يجب القيام به الآن (Sprint التالي) إلى رئيس الوزراء. بغض النظر عما إذا كان الفريق يتبع Agile أم لا ، Scrum أو Kanban ، كيف ستتصرف ميزة جديدة ، والصيغة لحساب الربح في هذا السيناريو هي أسئلة يمكن لأي شخص الإجابة عليها في الفريق.

كمهندس برمجيات ، حافظ على التوازن في الجزء “للقيام بما يجب القيام به”. يمكنك توفير مدخلاتك هنا ، ولكن لا تخطو على سفح رئيس الوزراء وتملي ما يجب أن يفعله البرنامج.

من ناحية أخرى ، فإن أولوية الفريق الهندسي هي كيفية صنع ميزة معينة من وجهة نظر فنية. كمهندس برمجيات ، عليك أن تقرر ما إذا كنت تكتب نوع اختبار واحد أو ثلاثة أنواع اختبار ما إذا كانت هذه عقوبة المال من 500 خط ودالة 100-liner يجب إعادة تصميمها. جميع شاوز التقنية من الوظيفة موجودة على أكتافهم. كن حذرا هنا يجب أن تكون الوظيفة وظيفية ويجب عليك أيضًا معالجة جوانب الأداء والأمان لهذه الوظيفة المحددة.

قام مهندسو البرمجيات بمنع ما يجب فعله #

من الشائع أن يقوم مهندسو البرمجيات بمهمة (عادةً ما تكون تذكرة لبرنامج إدارة المهام مثل JIRA) ولتحديد أن المهمة لا تملك سياقًا كافيًا للبدء أو إحراز تقدم. المهام دون وصف كاف هي ترتيب اليوم ، والأخطاء دون خطوات للزيادة نموذجية أيضًا.

كمدير للمنتج (أو مالك المنتج) ، يلزم تعريف واضح للمعالجة. جانب آخر مهم هو أن تعريف الاستعداد في جميع المهام تقريبًا لا يتم اتباعه إلا. على سبيل المثال ، إذا كان تعريف الاستعداد يعني مهمة لتحديد سجل المستخدم والمتطلبات الفنية ، فإن مهمة فريق المنتج هي ملء جميع التذاكر.

إزالة الحاصرات غير الفنية #

كيف يمكنك ، كشخص منتج ، منع مهندس البرمجيات من القيام بمهمة جديدة أو جزء من وظيفة أكثر أهمية؟ الشيء الرئيسي هنا هو توفير سياق وأمثلة مثالية بحيث يتعين على مهندس البرمجيات اتخاذ أسئلة وقرارات أقل. من الأفضل التداخل وإعطاء أمثلة على ما يجب القيام به وكيف سيحقق المستخدم أهدافه.

المثال الحالي الذي أتذكره هو عندما اضطررنا إلى حساب متوسط ​​سعر تكلفة الأسهم. كانت أسهل طريقة بالنسبة لي لفهم المنطق والصيغة ثم تحويل الصيغة إلى رمز هي طلب ورقة Google التي يمكن أن أرى فيها مثالاً. إذا تمكن PM من إضافة مثل هذه القطع الأثرية إلى المهمة مسبقًا ، فسيكون من الأسهل على مهندس البرمجيات البدء.

من وجهة نظر المهندس ، إنه أيضًا فعل موازنة. يجب أن تكون قادرًا على طرح الأسئلة على الأشخاص ذوي الصلة من أجل أن تكون وضوحًا لمهندس موجه نحو المنتج. من ناحية أخرى ، يجب أن تحتوي التذكرة أيضًا على سياق وأمثلة كافية لجعل عملك أسهل.

تخيل ذلك على النحو التالي: وفقًا لمبدأ Pareto ، ينبغي بالفعل الإجابة على 80 ٪ من أسئلتك من خلال الوصف ، والسياق وأمثلة المهمة ، وللأشخاص المتبقيين ، يجب أن تدخل في أشخاص وتسأل الناس عن الركود أو حتى اجتماع صغير لهذا الوضوح الإضافي.

على العكس من ذلك ، يتعين على فريق المنتج والتصميم بناء لعبتهم إذا كان عليك ، كمهندس برمجيات ، التواصل مع ثلاثة أشخاص من أجل الحفاظ على 80 ٪ من نوع المهام التي يجب القيام بها.

شحذ مهارات موظفيك (اللينة) تلعب دورها هنا. يجب أن تعرف من الذي يجب أن تتحدث إليه ، وكيفية الحصول على المعلومات الصحيحة من هذا الشخص وكيف يمكنك فتح نفسك. في القسم التالي ، ستتعرف على الحاصرات التقنية وكيفية فتح نفسك من هذه الفئة من الحاصرات.

مانع فني #

اعتمادًا على المستوى وتجربة مهندس البرمجيات ، قد يكون هناك حاصرات تقنية عند كتابة وظيفة جديدة. أدخلها: حتى لو كان لديك 20 عامًا من الخبرة في كتابة البرامج ، فستجد Google أكثر من 5 مرات في اليوم (أو تضع طلبك على LLM مثل ChatGPT). كلنا نفعل ذلك.

الفرق هو المهندسين ذوي الخبرة الذين يتمتعون بأكثر من عقد من الخبرة في اللغة أو في الإطار الذي يتم به إنشاء هذا البرنامج أقل من عشر مرات في اليوم. على النقيض من ذلك ، فإن المهندسين الأقل خبرة (أو المبتدئين) سيقومون بوجود جوجل أكثر من عشر مرات في اليوم/اسأل LLM. في كلتا الحالتين ، طالما وجدت إجابتك ، فأنت غير مؤمن ويمكنك إحراز تقدم في مهمتك. في بعض الأحيان يتم حل الحصار التقنية بشكل أسرع وأكثر كفاءة عن طريق إزالتها من الشاشة:

لقد رأيت عدد مشاكل البرمجة التي لا تزال دون حل على الشاشة. على العكس من ذلك ، عندما ينقل المهندس المشكلة على طاولة أو ورقة مادية ، يتم حلها بشكل أسرع بكثير.

اتصل بي المزيد من المهندسين البارزين على لوحة ، ويأتي الحل بشكل أسرع على اللوحة أكثر من الشاشة. هنا تقوم بتدريس الوقت الذي تقضيه في السبورة ، وخاصة للمدرسة الإعدادية والمتوسطة. من الأفضل تنفيذ الأشياء على المستوى المعماري مثل رسم الصناديق والسهام بينهما معًا على السبورة المادية.

سوف تتمسك أيضًا بالأشياء الفنية بطرق مختلفة. يمكن أن تكون صغيرة مثل مشكلة بناء الجملة. على سبيل المثال ، يمكنك أن تنسى كيف يمكنك استخدام بناء جملة انتشار JavaScript .... يمكن أن تمنعك مشكلة في المكتبة أو داخل الإطار الذي تستخدمه لهذا المشروع. على سبيل المثال ، قد تضطر إلى معرفة كيفية تنفيذ معاملة قاعدة البيانات في Typem. يمكنك حل العديد من هذه العوامل مع بحث Google سريعًا أو طلب LLM. الحاصرات التقنية الأكثر صعوبة هي أولئك الذين يمكن أن يكونوا أكثر وضوحًا ، كما تمت مناقشته بعد ذلك.

افتح نفسك من الحاصرات الفنية # غير مقفلة

بعض الحصار التقنية معقدة ، مثل قراءة اللغة أو الأطر أو وثائق المكتبة. هذه أكثر صعوبة لإلغاء قفل عملهم. تتمثل الإستراتيجية التي تناسب هذه الحاصرات في إجراء أصغر تغيير ممكن والتحقق مما إذا كان بإمكانهم المضي قدمًا. غالبًا ما تعمل هذه الاستراتيجية ، ولكن في بعض الأحيان عليك إجراء أكثر من تغيير بسيط. يعد استخدام خاصية تصحيح الأخطاء أيضًا قدرة حرجة. إذا كنت تعرف الحصار وشاهد جميع المتغيرات والقيم أثناء حدوث المشكلة ، فيمكنك حظر نفسك بشكل أسرع.

أوامر أكثر من 1000 طبعة #

عندما عملت في Namshi ، واجهنا مشكلة غريبة في عام 2015. في بعض الأحيان ، وصلنا إلى هذا الخطأ مع إجمالي النظام ، لكنه تسبب في مشاكل. نمت المشكلة في فترات مزدحمة. لا أتذكر التفاصيل ، لكن تم تعيين هذا الخطأ وكنت بحاجة إلى أيام لمعرفة المشكلة. حاولت تكرارها مرارًا وتكرارًا. وأخيرا قضيت الجوز. لقد كانت مشكلة تنسيق غريبة مع إحدى وظائف PHP في ذلك الوقت ، والتي من شأنها تنسيق الأرقام فقط إذا كان الطلب أكثر من 1000 درهم. لقد وجد استخدام تصحيح الأخطاء والبحث عن طريقة لتكرار المشكلة في بيئتي المحلية الحل.

قضية مكتبة Zendek مع مشكلة SSL #

في بعض الأحيان يكونون في موقف لم يقدم فيه أحد رمزًا جديدًا. لقد نجحت بالأمس واليوم لا يعمل. في مثل هذه الحالات ، من المرجح أن تتوقف مكتبة من مقدمي الخدمات الثالثة من العمل. مثال على منتصف عام 2018 هو عندما يتواصل نظام مع Zendesk مع واجهات برمجة التطبيقات الخاصة به.

بدأ الأمر في رمي أخطاء غير عادية في صباح جميل ، ولم نستخدم تغييرًا في النظام لأكثر من أسبوع. لذلك كان من الواضح أن المشكلة لم تكن في الكود الذي كتبناه ، ولكن شيء مع مكتبة من مقدمي الخدمات الثالثة أو شيء خارج سيطرتنا. عند فحص أعمق ، اتضح أنها كانت مشكلة SSL.

كان أسرع شيء فعلته من أجل إلغاء القفل هو إعطاء مكتبة Node.js Zendesk التي استخدمناها وتصحيح المشكلة. ثم استخدم شوكة التصحيح في قاعدة الكود الخاصة بنا. كان التطبيق أسفل لبضع ساعات. بسبب المنطقة الزمنية ، قبلت المكتبة الرئيسية في وقت لاحق التصحيح في هذا اليوم. في اليوم التالي ، عدنا إلى النسخة المغطاة بالمكتبة.

بالنسبة للأشياء التي يمكن أن تنتظر ، فإن Stackoverflow هو صديقك #

أنا لست نشطًا جدًا على Stackoverflow (المزيد) ، لكنني قرأت الأشياء هناك. كمهندس برمجيات ، ستجد Google Things ومعظم الوقت حلًا لـ StackOverFlow.

قال CTO لدينا دائمًا: “هذه بالتأكيد ليست مشكلة فريدة من نوعها. من المؤكد أن شخصًا ما سيواجهها ، وعلى الأرجح ستجد سؤالًا مشابهًا وإجابة مفيدة على Stackoverflow.” كان على حق.

لقد طرحت بعض الأسئلة حول stackoverflow وتلقيت إجابات في أيام. واحد منهم يدور حول حزمة REST FOS و Serializer منذ 11 عامًا (الآن أكثر من 15000 مرة). الشيء الرئيسي الذي يجب عليك استخلاصه من هنا هو عدم البحث عنه واطلب من الأشياء على Stackoverflow ، حتى في هذا العصر من LLMS. أنت لا تعرف أن الشخص هو منظور مختلف وحل عملي لمشكلتك.


لن أعتبر الانتظار لاستفسارات السحب المفتوحة (أو للتحقق من الكود). إنها جزء من عملية هندسة البرمجيات الجيدة التي تمنحك الكثير عن برامج التعليمات البرمجية والهندسة والكتابة التي تعمل بشكل جيد في الإنتاج.

دبلوم #

يتم مهندسي البرمجيات في كل مستوى وفي كل شركة بطرق غير تقنية أو تقنية.

يجب أن يكون التركيز على تقصير الوقت المحظور من أجل زيادة إنتاجية مهندسي البرمجيات وأخيراً إنتاجية الشركة.

يشرح منشور المدونة هذا كيف يفتح مهندسو البرمجيات حواجز الطرق وفي الوقت نفسه يعملون على وظائف جديدة. تم التأكيد على أنه يوفر سياقًا وأمثلة على أن الحاصرات التقنية وغير التقنية يتم تصنيعها على أساس تصحيح الأخطاء والتغييرات الصغيرة. والهدف من ذلك هو مساعدة المنتجات والمهندسين الذين يعانون من تعاون فعال والتقدم إلى عمليات التطوير السلس والمنتجات الناجحة.

إذا تم حظرك ، فكر خارج الصندوق وقم بإجراء أدنى تغيير ممكن لإحداث تقدم صغير ولكنه قيم. أيضًا ، لا تتردد في استخدام قوة المجتمع على منصات مثل StackOverflow. اكتب أيضًا برامج رائعة وتقليل كل من الحاصرات غير التقنية والتقنية.

المصدر المرجعي

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *