حسب ويكيبيديا فإن مطور البرمجيات – Web Developer – يتم تعريفه بأنه شخص متخصص في برمجيات الكمبيوتر يقوم بتصميم النظم لإنجاز المتطلبات التي يحددها محلل النظم، كذلك فإن مهندس البرمجيات – Software Engineer – هو شخص ممارس يقوم بتطبيق النظريات العلمية و الخوارزميات لتصميم أو تنفيذ حلول تقنية لمختلف المجالات ضمن معايير المهنية و الجودة.
التعاريف أعلاه من الوهلة الأولى تبدو واضحه، حتى للأشخاص من خارج المجال، لكن ما يهمنا في هذا المقال إيراد نموذج إطاري لشخص في بداية حياته التقنية أو في طريقة ليصبح مطور نظم أو مهندس برمجيات ليكوّن من خلاله صورة ذهنية عن ماهية تطوير الأنظمة أو هندس البرمجيات في الحياة العملية.
سنتحدث في هذا المقال عن جيف دين “Jeff Dean”، فمن هو؟ وكيف بدأ؟، وماذا فعل ويفعل؟
حصل جيف على درجة البكالوريوس مع مرتبة الشرف في علوم الحاسوب والإقتصاد من جامعة منيسوتا في العام 1990م، ودرجة الدكتوراه في علوم الحاسوب من جامعة واشنطن في العام 1996م.
في الفترة من 1990م إلى 1991م عمل جيف مع منظمة الصحة العالمية في برنامج الإيدز العالمي لتطوير منظومة برمجية للنمذجة الإحصائية والتنبؤ لوباء الإيدز.
إنضم جيف لشركة قوقل في العام 1999م، وهو حالياً يعمل ككبير باحثين ونائب رئيس قسم الذكاء الإصنطاعي والمشرف على مشروع Google Brain Project.
منذ نشأة خوارزمية قوقل للبحث والتصنيف التي تمثل روح محركها للبحث (Software) ظهر إحتياج ملح لتقوية هذا الروح بالجسد القوي (Hardware) اللازم لتشغيلها، فجهاز حاسوب واحد لا يقوى على توفير الإسناد اللازم لعمل خوارزمية البحث، فكان التحدي أمام شركة قوقل في إيجاد طريقة لربط عدة أجهزة معاً لتعمل بشكل متناغم كجهاز واحد كبير، لتمكين الخوارزمية من تقديم الأداء الأفضل، بصورة أخرى بناء نظام موزع (Distributed System) يعمل كوحدة برمجية واحده لكن من خلال عدة أجهزة متصلة ببعضها البعض، تزايد عدد هذه الأجهزة من عدة أجهزة إلى آلاف الأجهزة.
لعب جيف دور أساسي في بناء أول نظام موزع لمحرك البحث قوقل لتمكين خوارزميته من العمل بشكل متناغم لإجراء عمليات حسابية بشكل متزامن على كمية كبيرة جداً من البيانات وتتم هذه العمليات على عدة مجموعات حواسيب تسمى بالعناقيد الحاسوبية.
هنا تكمن مقدرة المطور أو مهندس البرمجيات على إكتشاف وصناعة الحل أو تطبيقه أو تطويره، ومن الجدير بالذكر أن الحاسوب والعلوم المرتبطه به تعتبر علوم حديثة النشأة نسبياً بالمقارنة مع العلوم الأخرى كالرياضيات والفيزياء والكيمياء، لذا من الوارد وجود مشاكل ليس لها حل مسبق أو مسلمة تستند عليها، وهنا على المطور أو مهندس البرمجيات إجتراح حل جديد غير مطروق.
شارك جفري في بناء البنية الأساسية التي أستندت عليها شركة قوقل تلك البنية التي تمثل عصب أعمال شركة قوقل ومن ذلك :
- شارك في تصميم إجزاء محرك البحث الأساسي لقوقل مثل زواحف البحث Crawling، والمفهرسات Indexers، وأنظمة الإستعلام Query Serving Systems.
- أشرف على مجموعة من فرق العمل التي تعمل في مهام مثل : Speech Recognition, Computer vision, Language understanding، وغيرها من مهام الMachine Learning.
- شارك في بناء النسخة الأولى من نظام إعلانات قوقل Google Ad-sense والذي يمثل مصدر تمويل قوقل الأساسي.
- شارك بفعالية في بناء البنية الموزعة للحوسبة Distributed computing infrastructure، التي من خلالها تمكنت قوقل من توفير بنية الأجهزة اللازمة لعمل أنظمة محرك البحث، وتشمل هذه الأنظمة MapReducre وهي خوارزمية البحث الأساسية لقوقل، و BigTable وهي قواعد البيانات التي يستخدمها محرك البحث في تخزين البيانات.
وفي معرض الفكاهة يتم تداول المقولة التالية عن جيف : ” جفري دين يكتب في سيرته الأشياء التي لم يفعلها، لأن سيرته بهذه الطريقة تكون مختصرة أكثر “، طبعاً هذا من باب المزاح والمبالغة، إلا أن للرجل فعلاً مشاركات تقنية كثيرة جداً وأثر تقني واسع، بما في ذلك مجموعة عضويات مميزة مثل :
- عضو الأكاديمية الوطنية للهندسة National Academy of Engineering : وهي مؤسسة أمريكية غير حكومية وغير ربحية تأسست في عام 1964م تتكون من الأعضاء الذين لهم إنجازات متميزة ومتواصلة في مجال البحوث.
- زميل جمعية مكائن الحوسبة Association for Computing Machinery : وهي أول رابطة علمية وتعليمية للحوسبة في العالم تأسست في عام 1947م.
- عضو الرابطة الأمريكية للعلوم المتقدمة American Association for the Advancement of Sciences : وتعرف إختصاراً بAAAS وهي إحدى أقدم وأهم المنظمات العلمية في العالم والتي أنشئت في سنة 1848م وتمثل أكبر منظمة علمية في العالم ويتبعها 275 مؤسسة علمية موزعة في عشرات الدول ويعمل فيها حوالي المليون باحث.
يحصر جفري إهتماماته في موضوعات :
large-scale distributed systems,
performance monitoring,
compression techniques,
information retrieval,
application of machine learning to search and other related problems, microprocessor architecture,
compiler optimizations,
and development of new products that organize existing information in new and interesting ways
خلال حياته العملية تنقل جفري في عدة دول ومدن منها: بوسطن، ماساتشوستس، الفلبين مانيلا، أوغندا، هاواي، الصومال مقديشو، جنيف، سويسرا، واشنطن، بالو ألتو كاليفورنيا.
يعمل جفري في مشاريعه وأبحاثه التقنية بصورة أساسية بلغة C++ لكنه بصورة عامة يستخدم لغات Java, Python, Perl, Self, Cecil, Assembly and Pascal.
بالعودة إلى تعريف مطور الأنظمة و مهندس البرمجيات فبجانب ما يمكن أن يقال من تعاريف عديدة، فحياة مطور الأنظمة أو مهندس البرمجيات يجب أن تتسم بالثراء المعرفي والتجارب الواسعة في مجالات علوم الحاسوب أو ما جاورها من علوم، وبالنظر إلى نموذج جيف فيمكن سوغ الخلاصات التالية :
- الدراسة المنهجية لمجال تقنية المعلومات أمر ضروري، وهنا يجب التفرقه بين المتخصص في علوم الحاسوب أو تقنية المعلومات وبين رائد الأعمال.
- ضرورة توسع مطور الأنظمة أو مهندس البرمجيات في الإهتمامات لتشمل مجالات خارج مجالات علوم الحاسوب مثل : الإقتصاد، الإدارة، علم النفس، الهندسة، الفيزيا، … الخ.
- البحث المستمر أمر ضروري والمشاركات البحثة والعلمية والكتابات التقنية ومشاركة خلاصة التجارب.
- لا تبحث عن لغة برمجة لتتعلمها، بل أبحث عن مشكلة وحلها بأي لغة برمجة.
- الإنتقال الجغرافي من مكان لآخر، والعمل مع شعوب مختلفة وثقافات مختلفة ربما يعتبر من كمال المقدرة والخبرة التقنية.
- الأعمال والمشاريع التقنية في المجالات الإنسانية كمحاربة الأمراض والفقر وأبحاث التقنية المتعلقة بالزراعة أو الصناعة ذات مردود كبير في الخبرة التقنية.
خاتمة :
من الواضح أن جيفري دين شخص عبقري نشط للغاية شاءت عناية الله أن يكون في بيئة تقنية بإمتياز دعمت مقدراته الإبداعية وأنعكس ذلك على أعماله ومشاريعه، وهذا لا يعني أن نقتصر حياة مطور الأنظمة أو مهندس البرمجيات في المنطقة العربية وشمال أفريقيا على الألقاب والمسميات الوظيفية البراقة دون أثر تطبيقي أو بحثي ملموس، فعلوم الحاسوب رغم حداثتها نسبياً إلا أنها تعتبر علوم تطبيقية.
أبوبكر الطائف، مبرمج ورائد أعمال