Mohcin Bounouara's Space – Telegram
Mohcin Bounouara's Space
518 subscribers
84 photos
19 videos
8 files
128 links
{فَأَمَّا الزَّبَدُ فَيَذْهَبُ جُفَاءً ۖ وَأَمَّا مَا يَنفَعُ النَّاسَ فَيَمْكُثُ فِي الْأَرْضِ} [الرعد: 17]

خواطر في الدين و الدنيا و هندسة البرمجيات في محاولة لإصلاح نفسي ولعلني اجعل لنفسي أثرا في إصلاح الاخرين.. على قلتهم، لعلنا نلقى الله بهذا.
Download Telegram
لطالما أحببتُ تطوير البرمجيات، واستمتعتُ بالتدوين في ما يتعلق بالمجال عموما، لكنني كنت أخشى تحديدًا مما تتحدث عنه هذه التدوينة في ال screenshot ادناه.

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

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

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

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

#software #softwaredevelopment #softwareengineering
5👍4
كتابة الكود أسهل من قرائته مكتوبًا، من طرف مبرمجين آخرين.

عند قراءة برمجيات الآخرين فأنت مطالبٌ بالقراءة، الفهم، فك الترابطات، و فهم ال process كاملاً لكود أنت لست كاتبه من الأساس..

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

فإجعل لك جلسات لقراءة كود الآخرين، ولو function صغيرة، class او feature كاملة اذا سمح وقتك.

#software #softwaredevelopment #coding
7🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
👍2
Mohcin Bounouara's Space
Video message
https://www.buzzsprout.com/1742124/episodes/18294618

These are adapted points (i don't agree with all of them):

- You feel like you are falling behind when you see younger developers using ai. You feel like you are not keeping the same pace.

- You should learn ai and learn how to use it well so you can get better results from it.

- Seniors don't like ai for several reasons; some think it makes you look less skilled. But it doesn't. It actually enjoyable to code with ai. Sometimes you learn from it, and sometimes you correct it and help make its data better. It's a good experience overall.

- If you are a good engineer, ai makes you even better, not the inverse. Over time you also learn how to use it more effectively.

- Getting things done gives dopamine, and running multiple ai agents feels great.

- It takes about a year to really trust ai code and start seeing much better results.

- It's becoming a must to have skill now.

- The better you are as a coder/engineer, the more ai will push you to the top.

- ai will make you more ambitious when it comes to building things.

- The code is still yours ai helps you, but it's not approving anything for you. You are responsible for the final code, it is only a tool.

- ai will be even bigger in the future, but it will never be 100% reliable... it can give you a m 50% boost for example, and over time it will get more helpful.

- Convincing your team to use ai is becoming a must for team leaders and management.

- Trying different ai models and switching between them to find the best fit for your problem is important.

- Rewriting software is now better than fixing it NOW, because with ai you can rebuild things much faster.

- Adopting ai inside an organization is hard, but it will fix a lot of broken processes for sure.

-------

My thoughts about these points: the more you use ai, the more comfortable and productive you feel. It also makes the work more enjoyable for anyone building a product, i can a gree with all of these points.. The point about learning from ai while also teaching the model by correcting it, that's TRUE. I felt that many times myself.

The idea that ai makes senior engineers even better is also valid for sure. But I'm still not fully confident about using multiple ai agents at once, that makes me afraid... I imagine it could be a huge mess. For me and now I'm fine with chat-in-editor, basically one agent under the hood in the Windsurf IDE.

Also, the guest didn't say a single word about the importance of programming fundamentals and software engineering if you want to use ai. That's really important, and i notice it myself whenever i hit gaps while using ai.

Other than that ai is a tool that can't really be avoided anymore.
من بين أفضل طريق عمل debugging ل output معين هو ان تعرف ال input جيدا، و ان تعرف ماذا تعمل له processing اولا.. يعني تعرف ال data flow الخاصة بالشيء الذي تقوم به، هنا ستعرف كيف تكتب debuggers نافعة، وتعرف أين يجب أن تضعها بالظبط في الكود الخاص بك.

مثال، سأمرر متغير عبارة عن props من ال backend الى ال frontend هذا ال props يحتوي على معلومات خاصة ب single product.

ال props يُمرَر بطريقة صحيحة للفرونتآند، لكن كل ال fields عبارة عن null.. هنا ال debugging على مستوى الفرونتآند سيكون مضيعة للوقت..

يجب ان نفحص و نعمل debugging لل method المسؤولة عن تمرير هذا المتغير للفرونتآند، او نقوم بعمل Debugging لل route وهل يمرر ال parameters بالطريقة الصحيحة...

و هكذا..

هنا سنعرف ال entry point الخاصة بالفحص و لا نضيع الوقت..

فهم ما نقوم به اولا، قبل ال تضع اي debugger يسهل الكثير.

#software #softwaredevelopment #coding #ContinuousLearning
👍41
العمل بالقليل(عملاً وتعلّمًا) ليس انتقاصًا من مهاراتك كمبرمج، بل هو سُنّة الحياة.. الأصل هو العمل بالقليل.. وقد نبّه النبي ﷺ إلى هذا المعنى حين قال: «أحب الأعمال إلى الله أدومها وإن قل».
فلا تتكبر، ولا تحاول القفز فوق المراحل لتقوم بأشياء أكبر قبل أوانها..

كمهندس برمجيات،، يجب أن تبدأ بالأمور الصغيرة؛ مثل بناء نماذج بسيطة، واجهات بسيطة، تطبيقات CRUD وما إلى ذلك..

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

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

اللهم علّمنا ما ينفعنا، وانفعنا بما علّمتنا.
6💯5
يجب أن تقول لا لفرص داخل اطار العمل لكي لا تحرق مسارك و نفسك، أمثلة:

- أن لا تقبل يتقديم demo و انت ضعيف في التقديم،
- أن لا تقبل بمنصب team leader و انت لم تمر بمناصب ضرورية قبل..

و هكذا..
تسمية المتغيرات - variables naming - شيء ليس بالسهل، و شيء يدل على فهمك لسياق التغيير الذي تقوم به، و يجعل الذي بقوم بعمل review يفهم أيضا..

فحاول أن تعمل على هذه المسألة.

#software #softwaredevelopment
4
اذا استخدمت ادوات ال AI بالطريقة الصحيحة، ستتعلم انذاك ما هو دورك كمهندس برمجيات، و ليس مبرمج فقط.

- حل المشاكل،
- بناء ال system،
- ال review
- كتابة test edges كافية،
- الاهتمام بال architecture

... وكثير من الأشياء الاخرى..

ليس فقط ال coding.
🔥3
Audio
1
لإستغلال أفضل لل AI في مسألة تعلم/تطبيق اشياء جديدة، كمبرج متمرس أو senior هو أن تستخدم ميزة ال autocomplete suggestions فقط، و تقوم ببناء الأشياء بالطريقة التقليدية..

ومن افضل طرق الاستفادة منه في شركة، او product side يرجع عليك بعائد مادي هو استخدامه بشراهة (طبعا مع وجود review process).

والله أعلم!

#AI #SoftwareEngineering #softwaredevelopment
3
كنتُ أُشتت انتباهي كثيرًا على يوتيوب.. عندما أفتح فيديو لأتعلم شيئًا أو لأركز على مهمة ما... أجد نفسي أتصفح التعليقات أو أنجذب إلى الدردشة المباشرة في ال streamings.. أعتقد أنني لستُ وحدي، فهذا يحدث للكثيرين منا (على ما أظن).

لذا، قبل حوالي عام، قمت بعمل حل بسيط جدًا، لنفسي فقط/أولا.. هكذا بدأت فكرة youtube focus mode.

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

- حظر قسم التعليقات والدردشة المباشرة في البث المباشر

- تشغيل/إيقاف (toggles) كل شيء فورًا

- حفظ إعداداتك على مستوى الجلسات

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

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

أتمنى أن أستمر في منح هذا المنتج الصغير المزيد من الاهتمام.. و دعواتكم لنا.

روابط الإضافة.

https://chromewebstore.google.com/detail/youtube-comments-disabler/cmpdkmpjnbgcpjpihdecfadhhlikoagf?hl=en

https://addons.mozilla.org/en-US/firefox/addon/youtube-comments-disabler/
4
سبحان الله، دائما ما ستجد من يسبك و ينقص منك عندما تتصدر لنشر شيء تعتقد انه نافع..

هذا المقطع مثلا: https://youtube.com/shorts/_cWp_4VVjE8?feature=share

تعليقات و سب لم افهم، لكنه متوقع..
العمل على "الأشياء الصغيرة"، في المهام العملية وفي التعلّم، وتفكيك المشاكل إلى أجزاء بسيطة، ليس انتقاصًا من مهاراتك كمبرمج... بل هو المسار الطبيعي للنمو في البرمجة وفي الحياة عموما، فكبار الأمور تأتي من صغارها..

أكثر الأشياء قيمةً واستمرارية تُبنى بالالتزام والاستمرارية، بالقليل الدائم.

لذلك لا تقسُ على نفسك، ولا تحاول القفز على المراحل للقيام بأشياء أكبر قبل وقتها.

كمهندس برمجيات، ابدأ بالأساسيات:

- ابنِ أساسًا قويًا،
- أنشئ نماذج بسيطة،
- واجهات بسيطة،
- تطبيقات CRUD عادية،
- وأشياء مشابهة...

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

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

قال النبي صلى الله عليه وسلم: "أحب الأعمال الى الله أدومها و إن قل".

#SoftwareDevelopment #Programming #Consistency #SoftwareEngineering
4