Tuesday, December 12, 2017

ازاي تلاقي شغل من غير خبرة؟

مساء الخير, ازيكم

النهاردة حنتكلم عن سؤال جديد, و لو انه مش جديد خالص و متكرر و غالباً كل واحد في الدنيا سأله لنفسه أول ما جه يدور على شغل لأول مرة؟

"أزاي الاقي شغل من غير خبرة؟"

الموضوع فعلاً يبان غريب, كل الشركات طالبة على الأقل سنة اذا ما كانش سنتين خبرة, طيب ازاي أجيب خبرة و انا ما عنديش خبرة؟

طيب قبل ما نجاوب على السؤال خلينا نوضح كام حاجة كده
 - ايه الفرق بين الخبرة و المعرفة؟
 - ازاي بتكتسب الخبرة؟
 - ازاي تثبت الخبرة؟

الموضوع يبان بديهي, لكن الفرق ساعات بين الخبرة و بين المعرفة مهم جداً تعرفه

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

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

طيب انت كده برضه ما جاوبتش على السؤال, انا عاوز ألافي شغل من غير خبرة؟

ببساطة أنا عاوزك تغير سؤالك لسؤالين منفصلين

 - ازاي أكتسب خبرة؟
 - ازاي الاقي شغل؟

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

و اكتساب الخبرة في البرمجة مش محتاج انك تكون بتشتغل في شركة, انت ممكن تكتسب المهارات دي و انت قاعد في بيتكم, و لحسن الحظ المجال بتاعنا مش محتاج أي حاجة أكثر من جهازك اللي أكيد عندك.

كده انت عندك معرفة, و خبرة بسيطة جداً اللي اكتسبتها من الكورس أو التدريب اللي انت عملته و انت بتتعلم. حاول دلوقتي تمسك ورقة و قلم و تكتب فكرة موقع, ما عنديش ورقة و قلم و ما عنديش أفكار, طيب شوف موقع بسيط موجود بتستخدمه و اعمل زيه على قد ما تقدر, ما باخدش بالي و الله, طيب اعمل المثال اللي بقول لكل الناس عليه, ابني موقع أسئلة و اجوبة زي Ask.fm  كده

مهما كانت الفكرة اللي انت قررت تعملها, حاول تخليها في حدود أسبوع شغل بالكثير, و قبل ما تبدأ تكتب أي كود, هات نفس الورقة و القلم و ابتدي قسم الموقع للمكونات الأساسية بتاعته, دي قاعدة بيانات, ده ال front end  ده كذا ده كذا, و ابتدي اشتغل, حتلاقي نفسك مش عارف تعمل حاجات معينة, عندك جوجل افتح و دور و اتعلم و نفذ, أيوة حضرتك كده بتكتسب خبرة As we speak 
و انت بتشتغل خلي الكود بتاعك على GitHub  مثلاً, أهه منه يبقى عندك حاجة توريها للناس كسابقة أعمال, و منه تتعلم تستخدم GIT  لو ما كنتش تعرفه لسة, و أدي خبرة كمان جت ببلاش تقريباً.
خلصت نسخة أولية, ابتدي دور على hosting ليها, و شوف ازاي تقدر ترفع الموقع و قاعدة البيانات و اتعلم المشاكل اللي ممكن تطلعلك من حاجة زي دي .... و هكذا.
بعد الأسبوع ده أأكدلك انك حتبقى انسان مختلف عن قبل الأسبوع ده. ثقتك في نفسك حتبقى أكبر, لو بعت لحد و هو عاوز ناس عندها خبرة و شاف في الCV  بتاعك لينك ل GitHub  و عليه كود مشروع و لينك علشان يخش يجربه ده حيفرق كثير عن مجرد اسم في ورقة في مئات أو آلاف الأوراق اللي بيبص عليها.


Our facebook Page
http://facebook.com/askdeveloper

On Sound Cloud
http://soundcloud.com/askdeveloper

Please Like & Subscribe

Tuesday, March 21, 2017

[CodeWars] Live Coding a Programming Challenge - 2 - كود على الهواء

مسألة جديدة, و هذه المرة تم بث الحل على يوتيوب و فيسبوك على الهواء مباشرة.
المسألة
https://www.codewars.com/kata/551f23362ff852e2ab000037

الحل

يوتيوب




فيسبوك

Monday, March 20, 2017

[CodeWars] Live Coding a Programming Challenge - كود على الهواء

تجربة جديدة أرجو ان تحوز على اعجابكم, استمتعت بتسجيلها و اتمنى سماع رأيكم و اقتراحاتكم و ان شاء الله تستمر.
رابط السؤال على موقع CodeWars 
https://www.codewars.com/kata/55aa075506463dac6600010d

كود الحل النهائي

Saturday, March 18, 2017

Thoughts on Interviews

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

DHH (The author of Ruby on Rails)
https://twitter.com/dhh/status/834146806594433025?lang=en

https://github.com/tmcw/presentations/blob/gh-pages/advice-to-the-graduate/index.md
http://www.yegor256.com/2017/02/21/say-no-to-google-recruiters.html

قائمة مجمعة بالشركات التي تعتمد طرق اخرى في تقييم المبرمجين
https://github.com/poteto/hiring-without-whiteboards



Monday, January 23, 2017

Cryptography - التشفير

مجموعة من رؤوس المواضيع التي ننوي مناقشتها في الحلقة (أو الحلقات) القادمة من Ask Developer Podcast و نريد عرض الأجندة عليكم مسبقاً حتى نتأكد أن هذه المواضيع هي ما تبحثون عنه في هذه الحلقة.

  1. Why we need Cryptography - لماذا نحتاج التشفير - و الأهداف منه
  2. Cryptographic Operations - العمليات المختلفة في التشفير
    1. Cryptographicly Secure Random Numbers - الأرقام العشوائية الآمنة و أهميتها
    2. Hashing - التجزئة
    3. Hash Functions - دوال التجزئة
    4. Hash Message Authentication Codes (HMAC)
    5. Salted Hashes - التجزئة المملحة و فيه بالشطة و اللمون
    6. Password Based Key Derivation Function (PBKDF2) - دوال التجزئة المعتمدة على كلمات السر
  3. Encryption - التشفير
    1. Symmetric Key Encryption -  تشفير المفتاح المتناظر السري
    2. Asymmetric Key Encryption - تشفير المفتاح غير المتناظر المعلن
    3. Hybrid Encryption - التشفير الهجين
    4. Digital Signatures - الامضاء الالكتروني
  4. Protocols / Crypto Systems - أنظمة التشفير
    1. TLS / SSL - نظام تشفير الانترنت
    2. Public Key Infrastructure (PKI) - البنية التحتية لنظم التشفير بالمفتاح المعلن
    3. X.509 Certificates - الشهادات
    4. Certificate Authorities - مزودو الشهادات
    5. Certificate Revocation 
    6. Trust Chain - سلاسل الثقة
  5. Resources, Books and further readings.
الحلقة الأولى



الحلقة الثانية



الحلقة الثالثة