Graduation Project: Do’s and Don’ts!

In this blog I will try to share some Do’s and Don’ts about college graduation project. The idea is to start a discussion to make this a mini road map so future grads can avoid falling into the traps some of us did.

So, let’s start by a simple yet a key question:

How important is the graduation project after all?

You can’t work hard on a task especially a tough one unless you truly believe it will pay off someday!

I think the answer to this question is the root cause to how we mistakenly choose to perform badly on our graduation projects!

Let me try give you me opinion on how important graduation project to your career by telling you a short story:

A few months ago we held job interviews here at Eptikar to hire two developers, we had 60+ applicants to choose from. We wanted to hire (0-2 years working experience) developers and as a custom software company we wanted someone with great passion for coding and open source philosophy.

So, how did we filter through all the fancy CVs with the amazing bios? you guessed right! graduation projects.

It’s actually so simple to filter applicants who worked on a real project compared to the ones who didn’t. The first are usually waiting for the part when you ask them:

“so, Ahmed. What did you do on your college grad project?”
and Ahmed would get a wide, proud smile and start telling you what they built and how.

On the other hand the other group seems afraid of this part _which will definitely come in any job interview_ and will answer with vague sentences “I am not quite sure why we choose that tool?” “I didn’t really work on that part” “I only did the writing part, .. bla bla bla

Doing good in your graduation project will almost definitely help you secure a job and it will do you a more important favor: it will help you decide what type of  job/career you want.

Passion is key in every line of work but it’s critical in ours, how do you know if you like working with databases, front-end design, APIs building, back-end, System Administration, mobile development, … etc without getting your hands dirty and exploring those fields! You can’t.

When we held the interviews a few months ago, we had very bright candidates from FMS, SUST and other colleges, you could tell they were smart, but most of them lacked passion! they don’t know what they want to do in their career, which path to take and it’s true they are many other causes to this but poor performance in graduation project is a key factor.

Don’t listen to the advice saying “graduation project is just another course, don’t give it any special time/thoughts – Get your “A” and move on!”

Majority of grads take graduation project as just another course with a target to get an “A” and it’s sad many teachers and supervisors advise them to do so!

“Time is not enough” is simply a myth that you will clearly see after moving from student life to work. You will find yourself doing a lot more than you thought you could ever do or handle.

You have plenty of time to get great scores on all your exams and do decent work on your project without the need to be a pure genius. You just need to have the will to do it.

Graduation project is your key to secure a job in no time, i suppose you went through the tough years and exams in college to achieve that? right! well most of IT/CS colleges in Sudan lack proper technical teaching! Some grads never touched linux or worked with Git and many can’t even write very simple programs!

In my college case, UofK-FMS computer science syllabus badly lacked in the implementation side (which is a topic worth another blog post), so graduation projects comes as a life saver to give your CV something tangible you actually built, because after all; your “A”s on algorithms and compiler courses won’t convince a CTO who needs someone to help building not designing architecture.

Don’t fight over supervisors?

I remember when the list of projects were published on the board, groups would fight and brutal races would begin to get this or that supervisor project without really knowing much about the project.

With all due respect to our teachers, I think you shouldn’t overthink this and choose any supervisor, it does not matter that much!

Some great teachers are not very great supervisors and vice versa.

Do choose the scary supervisor?

If you really need to learn and build something you should choose a supervisor who will push you beyond your limits. Yeah, it sounds suicidal and as students many won’t buy it, but it’s the truth.

It’s very easy to sign-up with a supervisor and get a nice big “A” without actually making any effort but then what? Months later college is over and you will step into a very different environment where “A”s don’t count as your ability to deliver results.

Of course by “scary” i mean a smart supervisor who will push you to do your best and guide you, some people are just mean … you don’t need that drama in your graduation project!

Don’t choose your buddy as a team-mate

It starts by: Well, me and Khalid/Mona hang out all the time, we are close friends and it make sense we work together in the graduation project!

Just trust me, 99% of the time it’s a bad idea.

It’s true you need someone who you can successfully communicate with but that’s not the only factor.

Chose someone with whom you can learn and build, someone with a set of skills you lack, someone with good communication skills and most importantly someone with great level of commitment who you can trust to do their part

Don’t be afraid of coding/presenting/technical writing/ ..etc

It’s natural we try to run away from things we don’t understand, but your graduation project is a perfect chance and in fact your last chance to explore all IT fields.

You will be:

– Dealing with your supervisor, carefully capturing project requirements
– Negotiating adding/removing parts of the project if needed
– Managing/Working with a team, assigning tasks
– Designing and implementing software
– Testing and Q/A
– Presenting and Writing Technical Documents

Each of above list could be your future job, as a developer, dba, project manager, IT Sales or CRM, ..etc

Even if there is someone else handling most of the technical writing in your team, make sure to see how is he doing it, offer to help to get a feeling perhaps that’s where you shine!

Anyway, good luck for all grads and enjoy your graduation project and give it your best! 😉

P.S If you have additional advice [Do’s or Don’ts] you think i missed, please do share and i will happily add it to the post.

OpenNGO : إبتكار تعلن عن

To read this post in English, please click here

خدمة المجتمع من أهم أهدفنا كشركة ناشئة, لكن كيفية تحقيق عملياً لم يكن بتلك البساطة دائماً. فهنالك دوما تساؤل عن كيفية تسخير خبراتنا و مقدراتنا من تطوير وبرمجة في مساعدة المجتمع من حولنا. مؤخراً خطر علي بالنا, لم لا نقوم بمساعدة من يقوم أصلا بمساعدة المجتمع؟ ومن هنا ولدت فكرة OpenNGO

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

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

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

إذا أردت أن تكون من المتبنين الرائدين له تفضل بالتسجيل على الموقع.

OpenNGO مفتوح المصدر و متاح على Github ونرحب بكل المساهمات من الجميع.

و بالفعل لدينا مهمة واحدة أبقينا عليها خصيصا لتحفيز المهتمين بالمساهمة في البرامج المفتوحة المصدر

إليكم التفاصيل:

love note to trello
love note to trello

في إبتكارنحب العمل ب Trello حيث قام بتسهيل مهامنا اليومية بشكل واضح .

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

تفاصيل تطوير هذه المهمة موضحة تفصيليا علي Github , قم بالإطلاع عليها وتواصل معنا إذا واجهتك صعوبات

اذا كنت مطور برمجيات محلي أي هنا في السودان و قمت بإتمام المهمة بشكل مرضي سنعرض عليك فرصة تدريب مدفوع الأجر و فرصة الإنضمام لفريقنا . فقدم أفضل مالديك 🙂

Eptikar Announces: OpenNGO

لقراءة هذا المقال باللعربية إضغط هنا

Community service has always been one of our goals. But as easy as it is to say you want to help people, its much harder to actually do. One of the tough questions is how we as a company could use our skills and abilities to benefit others. And then, it hit us! Help people who are already helping people, make it easier for them to do what they’re doing. From that, was born OpenNGO.

NGOs are a pretty diverse group. They have all kinds of goals and structures, but a key is right in the name: Organization. NGOs need to be organized. Some of Eptikar’s team have had volunteer work experience, and have seen first hand how hard it is for an NGO to keep a group of people on point and focused, keep morale up, track progress on your projects and activities, and report all of this to your stakeholders.

OpenNGO is designed to help with all of these tasks, make them as easy as possible, keep a flow of information going inside and outside the organization, while being as flexible as possible and allowing for a variety of approaches.

OpenNGO is currently in private-beta and we are moving quickly to first stable release with the help of the Sudanese Enviromental Conservation Society who are using it in day-to-day activites and providing us with feedback. If you’d like to be an early adopter go ahead and fill OpenNGO sign up form.

All the work is open source and released on github, and we welcome contributions from all. In fact, we’ve left one task around for an interested open source enthusiast…

love note to trello

We love Trello at Eptikar, it has helped us a lot with our day to day work. We wanted to add Trello integration to OpenNGO to hopefully help increase NGO productivity like it did for us.

We wanted to link the projects , activities and tasks with Trello boards. We’ve already gone ahead with linking boards and projects, but we’ve left connecting the activities and cards open on github. Give it a look if you want to contribute! If you’re a local developer (here in Sudan) and complete this task in a satisfactory manner, we will offer you a paid internship, and the opportunity to join our team, so give it your best shot.

 

Arab World Programmers’ Contribution to Stackoverflow

إقرأ هذا المقال باللغة لعربية

Stackoverflow is a question and answer site started in 2008 to be a forum – so to speak – for programmers from all fields.

Today there are about:

4 million registered users at stackoverflow, with a rate of about 3500 new users every day.

9.2 million questions with 15 million answers about 40 million topics at a rate of 6500 new questions a day.

Ask any developer about their experience with stackoverflow and they’ll list a number of times an answer on the site has saved them enormous time and effort trying to solve some problem.

Using the site is free, and requires no previous experience giving any person the opportunity to contribute. Theres also the fact that most administrative tasks such as removing inappropriate questions or answers is done by ordinary members with a high reputation.

Wait, did I say high reputation?

Yes, the site is based on the simple concept of encouragement through scoring (Gamification). Any correct action you take will be rewarded by points, starting with answers of course, but also editing a question for correction or clarification, and others. On the other hand, asking an inappropriate question or repeated question could deduct from your points.

Stackoverflow has become a complete community, to the degree that elections are held yearly to select the head moderators (who have privileges such as the ability to close off a question). Every member can cast a vote in, after getting familiarized with each candidates program, hopefully to make stackoverflow a better environment for learning.

Working with stackoverflow is considered one of the ways to contribute positively to the programming and computer science worlds. Among the sites members are a number of veterans and experts answering questions comfortable for beginners, as well as the site being a major resource for finding bugs and errors in programs, while being the cornerstone for the development of others.

So, whats the size of the Arab world audience in this giant platform?

This question came to mind a little while ago, an fortunately the platform has opened up a method for searching or extracting data through data.stackexchange.com

We ran some queries on their massive database, then performed some statistical methods using the R language, and the results were as follows:

Size of Arab presence on site:

The following graph presents number of users from each Arab country:

Histogram.Arab_countries

User Age:

The following graph represents users by age:

Arab_Users_Ages

User’s Expertise by Country:

The following graph represents users’ reputation based on country

Reputation2.Arab_countries

Most Popular Languages/Tools/Platforms in the Arab World:

The following graph shows most popularly discussed subjects in the Arab world.

Top_15_Tags_Arab_countries

Difficulties/Issues:

One of the problems we faced while preparing this study is that the location field in the user profile is an open one, allowing user to input whatever they want. This required a lot of data cleanup, for example insuring that all users from Cairo, Port-Said and Sharam-Al-Sheikh were considered to be from Egypt.
Its important to point out that this problem affects the accuracy of the data, because non-arab users could list arab countries as their location due to working there, and arab users on the other hand might not due to living outside their home countries.

The Data has More to Tell:

The data offered through data.stackechange.com is very rich, allowing for  wealth of indicators to be extracted from it. That’s why we’ve put up the code for data cleanup and graph drawing on our company’s account on github, for anybody wishing to dig deeper into this subject

Don’t forget to keep us posted on your results 😉

Contribute with Your Work, Little or Large:

We hope to re-conduct this study in a year to find that both Arab presence and diversity on the site have increased, to better reflect the level of skill and talent we possess 🙂

مساهمة المبرمجين العرب فى موقع StackOverFlow

Read this article in English

Stackoverflowهو موقع أسئلة وأجوبة أنشأ عام 2008 ليكون مُنتدي إن جاز التعبيرللمبرمجين في كل التخصصات.

اليوم هُنالك حوالي:

 4 مليون مبرمج مسجلين في ”Stackoverflowبمعدل 3,500 عضو جديد يومياً

9.2 مليون سؤال تقابلها 15 مليون إجابة, حول 40 مليون رؤوس موضوع بمعدل 6,000 سؤال جديد تقريباً يومياً

إذا سألت أي مبرمج عن تجربته مع ”Stackoverflowسيُعدد لك المرات الكثيرة التي أنقذته إجابة علي الموقع و وفرت عليه الساعات لحل مشكلة ما

لا تتطلب المشاركة علي الموقع أي رسوم أو خبرة محددة فلأي شخص حق المشاركة, كما أن أغلب المهام الإدارية من حذف الأسئلة والأجوبة الغير مناسبة أو غير لائقة يقوم بها أعضاء عاديون يتمتعون بسمعة “Reputation” جيدة!

مهلاً, هل قلت سمعة جيدة؟

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

Stackoverflowصار مجتمعا متكاملاً حتي أنه تقام كل عام إنتخابات لتعيين مُراقبين أساسين (مستخدمين لديهم صلاحيات مثل إغلاق سؤال وغيرها). يحق لكل عضو الإدلاء بصوته بعد التعرف علي برنامج كل مرشح و خطته لجعل مجتمع ”StackoverFlow” مكان أفضل للتعلم.

المشاركة في ”Stackoverflowتعتبر أحد الوسائل للمساهمة إيجاباً في مجتمع المبرمجين وعلوم الحاسوب, يوجد بالمجتمع أعلام من خبراء مخضرمين يجاوبون بكل أريحية أسئلة مبتدئين جدد, كما كان الموقع سببا لكشف وحل مئات العيوب في برمجيات معروفة وحجر الأساس لإنشاء أخري!

يا تُري ماهو حجم الحضور للمبرمج والمطور العربي علي هذه المنصة العملاقة؟

خطر علي بالنا هذا السؤال؟ ولحسن الحظ فخلال الأعوام الماضية وفرت المنصة خدمة البحث والتنقيب حول بيانات الموقع عبر data.stackexchange

قمنا بإجراء بعض العمليات علي قاعدة البيانات الضخمة ومن ثم إجراء عمليات إحصائية بإستخدام لغة “R” , إليكم النتائج:

حجم الحضور العربي علي الموقع

الرسم البياني يُبين عدد الأعضاء من كل دولة عربية

  Histogram.Arab_countries

أعمار المستخدمين

الرسم البياني يُبين توزيع الأعضاء العرب علي الفئات العمرية

Arab_Users_Ages

مستوي إحترافية المستخدمين في كل دولة عربية

الرسم البياني يُبين متوسط سمعة الأعضاء في كل دولة عربية

  Reputation2.Arab_countries

أكثر اللغات البرمجية / الأدوات / المنصات شعبية في العالم العربي

الرسم البياني يبين أعلي المواضيع التي يهتم بها المستخدم العربي

    Top_15_Tags_Arab_countries

صعوبات وعيوب:

من الصعوبات التي واجهتنا لإعداد هذه الدراسة أن حقل البلد في الملف التعريفي للمستخدم هو حقل مفتوح فوجب إجراء الكثير من عمليات تنظيف البيانات لكي يتم التجميع, مثلا مستخدمين من القاهرة” , “بورسعيدو شرم الشيخعلي أنهم من مصر

من المهم أيضا الإشارة إلي أن هذه الصعوبة لها أيضا أثر سلبي علي دقة المؤشرات فبعض الأعضاء غير العرب قد يدرجوا البلاد العربية التي يعلمون بها وآخرين عرب قد لايدرجوا بلدانهم الأصلية بل مكان الإقامة الحالية!

البيانات لديها المزيد لتحكيه:

البيانات المتاحة علي data.stackexchange غنية للغاية ويمكن إستخلاص العديد من المؤشرات المفيدة منها, لذا وضعنا كود عمليات التنظيف و تكوين الرسوم البيانية علي حسابنا علي Github لكل من يرغب في البحث أكثر في هذا الموضوع

لاتنسي أن تطلعنا علي إكتشافاتك 😉

ساهم بعلمك قليله وكثيره:

نتمني أن نعيد هذه الدراسة بعد عام من الآن لنجد الحضور العربي أكثر حجما ونوعا ليعكس للعالم مستوي المواهب والخبرات التي نمتلكها 🙂

We Are Hiring! — فُرص للتوظيف

 

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

 

 

إليك بعض الإجابات التي ستساعدك في تحديد ما إذا كان العمل في إبتكار مناسب لك:

ماهي لغة (لغات) البرمجة التي نطور بها؟

ليس لدينا لغة برمجة معينة للتطوير! كل مشروع له مواصفات تجعلنا نحدد الأدوات الأنسب للتطوير

قمنا بإستخدام الأدوات التالية حتي الآن:

Ruby, Ruby on Rails, PHP, Yii, WordPress, MySQL, Sqlite, MongoDB, NodeJs, Android Studio, Git, C++, Java, HTML5, CSS3, Drupal

تتقن أحد هذه الأدوات أو بعضها … جيد .. (أذكرها لنا)

ولاواحدة منها! لابأس

المهم أن تتمتع بروح التعلم الدائمة

ماهي أهم ميزة يجب أن أتمتع بها؟

اﻹتقان

سواء أن كنت تكتب في كود أو تقوم بإعداد كوب قهوة لنفسك … نحب أن تكون لديك الرغبة في تقديم أفضل مالديك وتطوير نفسك للأفضل دائما

ماهو تسلسل تطوري مع إبتكار؟

جميل! نحب من يتمتع بالطموح

في بداية عملك معنا سنعمل علي جعلك أحد أفضل المطورين .. ليس في السودان أو المنطقة العربية بل في العالم إن شاء الله

مع تطور مهاراتك البرمجية ستكون جزئا من فرق تطوير العديد من التطبيقات وستتعلم كيف تدار المشاريع وكيف تستخلص الخصائص من العملاء

مع قليل من الجهد وتحسين مهارات القيادة ستكون لديك فرصة إدارة فريق المطورين الخاص بك وبناء مشاريع متكاملة

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

ماهي بيئة العمل في إبتكار؟

نسعي لتوفير بيئة عمل جاذبة ونعمل علي تحسين ذلك كل يوم

فريق العمل صغير نسبيا ولسنا مع التوسع الغير مدروس

لانتقيد بشكليات العمل التقليدية إلا إذا كانت تضر فعلا بالشركة وفي المقابل نتوقع من كل فرد إضافة نوعية تخدم رسالة الإبتكار التي نؤمن بها

:مهارات تزيد من فرص حصولك علي الوظيفة

مهارات التصميم: إذا كنت من هواة التصوير, تصميم الجرافكس, الرسم وغيره فهذه ميزة جيدة إضافية للبرمجة

مهارات الكتابة: سواء علي قنوات التواصل الإجتماعي أو المدونات

مهارات التعليم: نحرص علي مشاركة خبراتنا مع مجتمعنا ونحتاج من يشاركنا الرؤية

التحدث والخطابة: نشارك في العديد من الفعاليات المحلية والعالمية ونسعد بمن يجيد تمثيلنا

🙂 لديك أي مهارة أو هواية أخري؟ أضفها مهما كانت في إستمارة التقديم 

,,, يسعدنا التعرف أكثر عليك

أي سؤال آخر؟ راسلنا الآن علي تويتر

  @Eptikar_IT

و تصفح صفحتنا بموقع لينك إن :http://bit.ly/17aBZhr

!بالعَـربِـى أحْـلّـى

إبتكار ولغة الضاد:

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

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

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

:فكرة الإحصاءات

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

فُوجئت بأن أعداد مشاهدة المواضيع باللغة الإنجليزية تفوق أعداد المواضيع باللغة العربية, والحقيقة أن الملفت ليس المفارقة في النسب مابين الكتابة بالعربية والإنجليزية فحسب و إنما أيضاً في القراءة.

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

:إليكم بعض الإحصاءات

الرسم التالي يبين نسبة مواضيع اللغة العربية إلى الإنجليزية فى صفحة إبتكار على الفيسبوك خلال سنتى 2013 و 2014. سنعمل علي أن تصبح هذه النسبة متساوية أو أكثر للغة العربية خلال العام المقبل بإذن الله 

Pie.AR.EN

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

boxplot.AR.EN.2

:الرسم البيانى الأخير يوضح مقارنة بين نسب مشاهدة المواضيع اللغة العربية و اللغة الإنجليزية

AR.vs.EN

     الجدير بالذكر أن مجال الموضوع يشكل عاملاً أساسياً فى اللغة التى يفضل أن يقرأ بها المشاهد, فمثلا نلاحظ أن بعض المواضيع تُقرأ أكثر باللغة العربية, مثل

التعليم –

أخبار التقنية –

 بينما مواضيع أخري تُقرأ أكثر باللغة الإنجليزية, مثل:

الإعلانات –

الأخبار –

معظم المقالات المتعلقة بالخدمات التي نقدمها –

.لكن نسبة لعدم توفر البيانات الكافية حالياً لا نستطيع تحليل الأسباب وراء هذا التباين

دعونا نكتُب أكثر باللغة العربية:

 لغتنا العربية من أقوى اللغات و أكثرها جمالاً وثراء و إعتمادها فى جميع المجالات سيكون سبباً قوياً فى رفعتنا وتقدمنا … و هنا أستحضر قول دكتور المهدى المنجرة

لا توجد أى دولة فى العالم إنطلقت فى المجال التكنولوجى دون الإعتماد على اللغة الأم”

 دورنا فى أن ندعم و نشجع لغتنا أكثر من خلال الكتابة و القراءة بها

Career Change!

 

People are scared of change in general and career change in particular. They feel like it’s an unnecessary risk, spending a lifetime building a career to then simply drop all that behind, just to start a new adventure; who does that?! Well, a few fearless souls do 😀

career
Source (http://businessfocus.com.ng/10-career-change-myths/)

I studied engineering (computer and electronic systems engineering), and when I was at college I had a bunch of different courses on electrics, programming, electronics, control and networking. I always hated programming, to me programming languages were like an alien language and I have never truly understood them. Despite that, I naturally fell in love with automation control (PLC precisely); even though it involved a little programming (ladder logic diagram)  it actually made sense to me unlike the (Pascal and C ) I had been taught. And yes, we were taught Pascal and C in the twenty first century (in particularly 2008)!

Through the college years I was very interested in automation control; so I aimed all my study and training courses at getting better at it. I graduated with one career objective in mind; to be an automation engineer.

A few months after graduating I got a  job of marketing officer at Eptikar IT Solutions and for the two months during this period I got to knew a little about web based applications programming and the languages my colleague developers use which were completely new to me. When the company was looking for a junior developer, I thought to my self: hmmm, why not? And that’s was when I discovered the beauty of Ruby.

I love Ruby
source (http://dostartup.wordpress.com)

Ruby is a programming language(not a girl apparently) which we use a lot at Eptikar. I couldn’t believe that programming could be this fun (no thanks to the Pascal and C from college). There were just nothing in common, in either simplicity or clarity.

A few weeks later I had a chance to work as an automation engineer at one of the top private companies in Sudan which is concerned with the food industry but I was irresolute about it, “Dude, are you out of your mind? there is nothing to be irresolute about !” that was everyone who I asked for advice’s opinion, specially my father, but you have to know he is an electric engineer and was certainly biased towards engineering. He believes that programming is not actually a job, that any one can use the internet to learn a programming language and become a programmer. To be honest I actually don’t blame him, that was my opinion too until I got my hands dirty with programming and realized that anyone can learn a programming language and make a software but a very few will make a good software.

So I had to make a decision about being a developer or an automation engineer, automation is kind of boring but its semi guaranteed job because not a lot of people do it, unlike programming which is fun but many people do that?! I told myself you are young fresh graduate if you want to make a gamble it’s now or never.

Yes I chose to gamble and now am a developer, but the bet isn’t being a programmer, but to be one of the few good ones 😉

On the next blog post i would like to share my experiment of becoming a developer and the learning process I’ve been through, so to be continued …..

كٌتـــــاب : الدليل الإلكترونى للمدارس السودانية

فى إبتكارنقدر كثيراً دور التعليم و بناء المعرفة فى تطور الامم , حيث يمثل التعليم و القدرة على التعلم عامل أساسى للريادة فى مجالٌنا – مجال تقنية المعلومات .كفريق إبتكار دائماً نبحث عن وسائل لتطوير أنفسنا, كما نبحث عن طرق لتطوير العملية التعليمية بالسودان, فبدأنا بمجال المكتبات حيث قدمنا مشروع حِكمـــة “نظام إدارة المكتبات المتكامل”. ثم جاء كٌتاب ليكون أول إِسهام لنا فى مجال التعليم الأساسى و ما قبل المدرسى .

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

و من هنا جاءت فكرة كٌتاب – أول دليل إلكترونى للمدارس و الرياض السودانية . إنطلق الموقع رسمياَ فى يوليو 2013. يقدم كٌتاب حالياَ قاعدة بيانات لكل المدارس الخاصة بالخرطوم, و يخدم الموقع طرفين أساسيين على حد سواء الأباء و المدارس .

kuttab-detailed-Information

بالنسبة للأباء “المستخدمين”, خدمات كٌتاب مجانية, يٌمكِنهم الموقع من البحث عن المدارس بمواصفات معينة على حسب الموقع الجغرافى للمدرسة, المنهج المتبع , لغة الدراسة … إلخ المعلومات الأساسية التى تشكل عوامل الإختيار للمدرسة الأنسب لأبنائهم . يتميز البحث عن المدارس فى كُتاب بالسهولة و السرعة , حيث يقلص نطاق البحث الى المدارس التى توافق شروط و معايير الأباء , فى أقل من ثانية. بعد ذلك يمكن للأباء تصفح صفحة المدرسة بكٌتاب, لمعرفة مزيداً من التفاصيل التى تٌهمهم من خريطة موقع المدرسة و معلومات الإتصال الأساسية, المناهج و اللغات, منشأت المدرسة, الأنشطة, و بالإضافة لمعرض صور المدرسة الملحق فى الصفحة .

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

بالإضافة الى ذلك يقدم الموقع فرصة للمدارس و الأباء للتفاعل و التواصل, عبر مواقع التواصل الإجتماعى , و الرسائل النصية القصيرة. حيث يمكن للأباء التعليق فى صفحات مدارس و التصويت لمدارسهم المفضلة مستخدمين حسابتهم الإلكترونية بمواقع التواصل الإجتماعى مثل فيسبوك و تويتر, تمثل هذه الخاصية مرجعية شفافة لتقييم المدارس من قبل الأباء, حيث يتم ترتيب المدارس بكٌتاب بناءَ على مجموع الأصوات التى حصلت عليها المدرسة .

ومن جانب اّخر, يمكن للمدرسة التواصل مع الأباء و أولياء الإمور عن طريق الرسائل النصية القصيرة التى يقدمها الموقع ضمن خدماته للمدرسة, تعتبر هذه الطريقة سريعة و غير مكلفة للمدرسة لتوصيل أخبارها و فعاليتها لجميع أولياء إمور طلاب المدرسة .

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

Implementing ITSM – Incident Management on kuttab.sd using Trello

Kuttab is an online schools directory presented by Eptikar. The service provides users with a listing of all schools in Khartoum, where each school’s page presents the school’s information and photos plus location map.

Users are able to search and filter schools ,where they can rate and comment on their favorite schools using social media plugins.

In this project we decided to start implementing an Incident management system based on ITSM, in order to improve : service quality, customer satisfaction and IT staff efficiency. We established service desk functionality first to act as single point of contact to receive quires, service requests and incidents which usually come through phone calls or emails.

As a startup company we consist of a single core Dev team, we adopted scrum agile methodology in our project management (SCRUM Development), hence our team construction is based on typical scrum roles:developers, a scrum master and a product owner.

We used Trello , the awesome free web based management application as a tool to implement incident management, we have already had a satisfying experience utilizing Trello for project management using SCRUM Agile methodology.

Trello provides a simple platform for management processes and an easy way to track issues, through this article we share the way we are using Trello for Implementing ITSM Incident management for kuttab online service.  

The goal of Incident Management process is to restore a normal service operation as quickly as possible and to minimize the impact on business operations, thus ensuring that the best possible levels of service quality and availability are maintained.

Incident prioritization:

Priority is assessed in terms of two factors; Urgency and Impact, based on ITSM Incident Management the effective way to calculate these elements and deriving an overall priority level for each incident is illustrated using the tables below:

 

 

 

 

Impact

 

 

 

High

Medium

Low

 

High

1

2

3

Urgency

Medium

2

3

4

 

Low

3

4

5

 

Priority code

Description

Target resolution time

1

Critical

1 hour

2

High

2 hours

3

Medium

24 hours

4

Low

48 hours

5

Planning

Planned

 

Incident Escalation:

As you remember we are a single Scrum developing team and we have one scrum master act as the team leader, so according to SCRUM process we response to technical issues collectively and collaboratively with guidance from our scrum master. Although one person might work on an issue but the whole team remains accountable for the result.For this reason we don’t have escalation process in our incident management process flow diagram.

Below is a screen shot of how our Incident management board looks like and as you can see its pretty simple:  

Board

A card of an incident looks like this:

Card#1

Card #2 “related incident”  to the card above had been closed after resolving card #1 (Yaay)… and this how it looks like  :

Card#2

So, In order to address all ITSM Incident management standards we need , we used existing features in Trello and just to summarize the post, here is a mapping between the standard and how we applied it with Trello.

Incident record Items Implementation using Trello
Incident unique reference Card#
Incident categorization 'incident type' After card title between brackets
Prioritization, Impact and Urgency Card colored Labels
Incident logging Date and Time Card creation date and time
Person recorded the incident Card creator
Incident Status Board lists Active Waiting and Closed
Person who will solve the incident Assigned card member
Description of incident, user raised it, call back method First comment on card
Related Incidents, activities to solve Comments on cards and tag of related cards #
Incident closure status, date and time  last comment indicates (Resolved/Closed)

 

Of course, this is an ongoing experiment and we add and remove things everyday but so far we don’t feel the need to move to any specialized software (issue tracking, bugs reporting , …etc). We like to keep it simple …   for now 🙂