“Take any open source project — its contributors cut across national, religious and racial lines”


Noufal Ibrahim is the co-founder and CTO of Genskill (an ed-tech startup focused on solving the skill gap problem in engineering). He also founded PyCon India in 2009 and is a member of the Python Software Foundation. He is active on GitHub and Stack Overflow.
In an exclusive interaction with Sreejani Bhattacharyya of OSFY, Ibrahim talks about his journey, career, and how he thinks the FOSS ecosystem has shaped up.

Noufal Ibrahim was introduced to programming when he was around ten years old ands considers it his calling. He says, “When I was in college around 2000, I discovered the Internet and the availability of software that you could build yourself. I was drawn to the idea of seeing the actual code of programs that I would use on a daily basis rather than just pre-built binaries. Around this time, I also started hearing about the Free Software Foundation and the UNIX operating system (especially the Linux flavour). I became a bit of a zealot thinking that I was doing something noble by defending open source and free software from proprietary giants like Microsoft.”

Fascinated by the writings of Richard Stallman and Eric Raymond 
He recalls that the arguments on how Linux is superior to Windows were common over late-night tea at the college canteens in the nerd circles. The writings of early free software and open source pioneers like Richard Stallman, Eric Raymond, etc, fascinated him, and he had the desire to be “one of them.’’ Ibrahim searched for ways in which he could contribute and started small.

He adds that most of the stuff he has worked on has been in Python, though not exclusively. He has contributed what is known as drive-by patches to several projects. He has also contributed to SQLAlchemy, which is a popular Python library, and has worked at the Internet Archive where he co-wrote an archiving http proxy and related libraries, which allow archive crawlers to make copies of large websites easily. He has also written a few personal projects for his own satisfaction like a front-end for a popular static blogging system, a library to get system information in a cross-platform way, etc.

Ibrahim says, “Open source is not all technical, and there is a strong community angle to this. During my college days, I’ve been involved in small ways with local user groups, where I used to conduct classes and tutorials on various topics. Once I moved to Bengaluru to work, I got heavily involved in the Python community and organised the first Python conference in India in 2009. PyCon India was probably one of the first language-specific tech conferences in India, and it has since then grown to be one of the largest PyCons in the world. This year, due to the coronavirus situation, we’re conducting the conference online. I’m also an active contributor to the Stack Overflow website, where I rank among the top 0.29 per cent worldwide for giving answers to questions.”

The lack of discipline is a challenge
Ibrahim feels that a lot of people don’t seem to realise that contributing something significant to a project requires a large amount of work. The main challenge is to develop patience and dedication to spend enough time to understand a project so that one can contribute to it. There are smaller problems, like some projects do not have enough contributors to help with technical problems, but overall, the main problem is the lack of discipline to put in the time necessary to achieve some level of proficiency.

He adds, “Mostly, it is just a matter of putting in the work and having the patience to find the people who can help you with it. I remember when I was using a test framework called py.test for the first time, I had some questions about writing a plugin for it. I found a mailing list that had people who worked in the area and sent a few emails there. The creator of the tool, Holger Krekel, responded to my email and solved my problem. One shouldn’t be ashamed of asking questions and must have the discipline to put in the work necessary to move forward.”

Knowledge and skills are needed to thrive in the new ecosystem
He further says, “During my work and interactions with students, I noticed a toxic mix of thirst for knowledge and complete lack of guidance at engineering colleges. Many of the professors teaching at tier-2 and tier-3 engineering colleges (and there are a large number of these catering to students) don’t have any connection with the industry and the real world. This handicaps the students when they come out of college, and they’re forced to take courses from small institutes of questionable repute, further damaging their career prospects. We want to change that.”

He feels he can fix this problem at the root. Genskill aims to give students the knowledge and skills to thrive in the new knowledge ecosystem, and guide them while they’re doing their engineering to reach their full potential.

He says, “Imagine a student coming out with a solid portfolio of serious projects and technical work, the ability to collaborate and communicate well, and very confident in her/his abilities… how solid his/her career is going to be. Then imagine an army of engineers coming out that companies can hire… how solid the technology industry in India will be. That’s my vision, and that’s what I am working towards right now.”

For students, the platform provides content, guided courses, assessment, and evaluation modules that develop individual and collaborative skills required by the job market. Colleges can monitor a student’s progress and provide personalised training that will increase student recruitment. This will help them improve student enrolment and increase college revenues. Companies can make data-driven hiring decisions, get access to a wider talent pool, and reduce fresher training costs. The offering focuses on individual and collaborative learning through technology and community building. By using an app, it will keep students engaged and continuously upskill them while monitoring their progress and areas of competence.  It will also create and nurture student communities at the ground level to create a culture of acquiring job skills.

Enjoy the ride, it’s not an exam
Ibrahim’s advice to students and freshers starting out in this field is: “There are a few basics like learning a programming language and some basic tools like Git to contribute to projects. This is not hard to do and can easily be done within a few weeks of part-time work. What’s challenging is the ability to put in practice hours and improve your skill to a level that becomes useful for people.”

He lists a few points that young people should focus on while starting out:

  1. Learn the tools of the trade (developer tools, languages, etc).
  2. Practice your skills with the problem sets on sites like hackerrank, exercism.io, etc.
  3. While you’re doing that, start making small contributions to projects on GitHub. Most projects have open bugs that have been marked as contributor-friendly. Make small contributions, solicit feedback, and improve your skills.
  4. Also, contribute in non-code ways. For example, answer questions on Stack Overflow, hang out on fora where the users and developers hang out, and help out with questions.
  5. Try to network with like-minded people in the areas you’re working. For all the havoc that the coronavirus has inflicted on our society, one of the arguably good things is that many tech conferences have moved online. This opens them to even student audiences who could otherwise not afford them. Take advantage of this and build your circle.
  6. Finally, enjoy the ride. This is not an exam or a set of things to do to get a job. It’s a process and a journey that will continuously benefit you.

What does he think of how the Indian FOSS ecosystem has shaped up? Ibrahim says, “Open source is one of the few things we have that is truly international. The contributors to any project cut across national, religious and racial lines. I think FOSS is one of the greatest achievements of human society, and I’m saying this without exaggeration. That’s the global picture.”

“On a local level, contributing to it requires things like a stable Internet connection, computing facilities, etc., We have made big strides in these areas in the past two or three decades in India. With programmes like Google Summer of Code and others, getting into open source is easier than ever, and a lot of Indian students are taking full advantage of this. If you go to a tier-1 or tier-2 city college, you can easily find lots of passionately driven folk who have contributed to open source,” he adds.

Create a larger culture of tinkering and experimentation
‘’There are Indian organisations that are not limiting themselves to contributing to international open source projects. They are starting many of their own and maintaining these at a very high level of quality. One that comes to mind is the Swathanthra Malayalam Computing project in Kerala that has done enormous work; it has attracted several students and fresh engineers into the world of open source,’’ he says.

But there is a big scope for improvement, as India needs to create a larger culture of tinkering and experimentation. Ibrahim says, “Back in my day, the first thing you’d be exposed to if you had a computer was a programming language, and ‘using a computer’ meant programming. These days, people are exposed to things that encourage them to be ‘users’ rather than ‘developers’. I think we should get young people comfortable with the idea that a computing device (a phone, laptop, or tablet ) is a programmable device, and you can do several things with it beyond installing a simple app.’’

He adds, “Education should wire this in and should reward students even if they fail rather than focusing on achieving fixed results. Once that kind of curiosity is inculcated, all they need is a spark that can come from a random person or an online source to get them started on tinkering with software, and the problem will then be how to stop them. Unfortunately, our system focuses on ‘following the rules’ and that’s a reasonably sure way of achieving mediocrity. If the next Elon Musk is going to be from India, he or she can be many things but being obedient is not a trait that comes to mind.”


Please enter your comment!
Please enter your name here