24

اسال ما شئت عن البرمجة، العمل الحر، تطوير الويب، تصميم التطبيقات والمشاريع، اليات بناء المشاريع، تصميم الواجهات الامامية والجافاسكريبت، وال HTML، وال CSS

  • jouda

أعمل ك مطور حر عن بعد من خلال شركة

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

أرحب باسئلتكم، واتمنى ان يكون باستطاعتي تقديم الافادة.


قصة جميلة :]

  • ما هي الأمور التي اكتسبتها من تعلم في الجامعة ؟

  • هل التعليم الجامعي مفيد بشكل أو بأخر ؟ و ما هي أهميته ؟

  • ما هي نصيحتك للطلاب في الذين يودون دخول هذا المجال ؟

  • هل يمكن تطوير السوق و المجتمع العربي لانتاج جيل متفوق في تطوير الويب ؟

  • ما هي نظرتك للجيل القادم ؟

  • هل استفدت من الخبرة ام الدراسة أكثر ؟

  • هل تعلمت اي أمور خارج إطار الجامعة ؟

  • ما هي المنهجية التي يمكن اتباعها للتطوير الفردي ؟ و هل تملك اي مصارد تعلم ؟

ما هي الأمور التي اكتسبتها من تعلم في الجامعة ؟

هل التعليم الجامعي مفيد بشكل أو بأخر ؟ و ما هي أهميته ؟

هناك الكثير من الأمور الجميلة اللتي تكتسب من الجامعة. الفرد بشكل عام يبني لبِنة شخصيته كإنسان مستقلّ في الجامعه. وهذا مهم جدا في حياة العمل.

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

ما هي نصيحتك للطلاب في الذين يودون دخول هذا المجال ؟

عليكم ببناء مشاريع حقيقه وبسيطة دائما وطوال الوقت باستخدام عدة تقنيات. النظرية العلمية وحدها لن تجعل منك انسانا عمليا ولكنها مهمة جدا في ذلك.

هل يمكن تطوير السوق و المجتمع العربي لانتاج جيل متفوق في تطوير الويب ؟

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

ما هي نظرتك للجيل القادم ؟

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

هل استفدت من الخبرة ام الدراسة أكثر ؟

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

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

أما شخصيا، فقد استفدت من كلاهما كثيرا ولا استطيع التفرقة.

هل تعلمت اي أمور خارج إطار الجامعة ؟

بالتأكيد، مثلا، أثناء البكالوريوس قمت ببناء مشاريع بسيطة عن طريق الجافا، وال PHP والجافاسكريبت خارج نطاق الجامعه.

ما هي المنهجية التي يمكن اتباعها للتطوير الفردي ؟ و هل تملك اي مصارد تعلم ؟

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

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

مثال اخر، في عملي الحالي، أقوم في الغالب بتطوير الواجهات الأمامية أي (JavaScript, HTML, CSS) ولكني دائما أطلب من المدير أن يعطيني بعض الوقت لأقوم بمهام متعلقة في الخادم (server side) عن طريق لغة Go هذا ينمى الخبرة والمهارة. من وجهة نظر المدير، هذا يعود بالفائدة أيضا على كفائتي وفعاليّتي في الانتاج رغم أن ذلك قد يأخذ القليل من الوقت للتعلم.

المصادر المتعلقة في مجالي واللتي استخدمها بكثره أثناء العمل هي stackoverflow.com، www.w3schools.com، egghead.iodeveloper.mozilla.org وهناك الكثير الكثير من المصادر ومواقع التعليم ومشاريع المصادر المفتوحة اللتي يمكن الاستفادة منها بشكل كبير على شبكة الانترنت. هنا بعض الروابط (egghead.io |

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