Noufal Ibrahim

Last updated October 12th 2011
Resume powered by emurse

-

OBJECTIVE

To encourage the use of Free and Open Source technologies in the corporate and educational sectors in India leading to reduced costs, higher productivity and avoidance of vendor lock in.

To be a mentor and trainer to young engineers and to train them and nurture their technical skills.

-

-

PROFESSIONAL EXPERIENCE

  • Over 8 years of experience in the IT industry. Worked on all aspects of the software development process from architecture to implementation to release and sustenance.
  • Active member of local Free/Open Source software groups and have delivered multiple presentations on various topics at local and international events.
  • Organiser of the all India Python language conference "PyCon India" in 2009 for which I received the community service award in the third quarter of 2009 from the Python Software Foundation http://pyfound.blogspot.com/2009/10/third-quarter-community-service-awards.html
  • Have conducted trainings for multinational clients like Cognizant Technology Solutions, Bangalore and Cognizant Technology Solutions, Coimbatore and Samsung, Noida.
  • Presented a paper at PyCon APAC on Physics aware games (http://ojs.pythonpapers.org/index.php/tppm/article/view/166) which was later published in the Python Papers online journal.
  • Conducted a tutorial on Python C extensions at the premier Python conference PyCon 2011 - http://us.pycon.org/2011/speaker/profile/11/
  • Excellent command over written and spoken English.
  • Conduct public trainings on niche and upcoming technologies http://nibrahim.net.in/trainings.html


-

-

COURSES

All the courses will be customised based on customer requirements and will include hands on session and a quiz at the end to evaluate the participants.

If there are specific libraries or toolkits that need to be covered as part of any course, they can be customised as necessary.

All courses will also be accompanied by a handout.

These are generic courses which are "free size". Targeted courses on specialised topics can be done if there's sufficient notice/preparation time.

Prices vary depending on the amount of depth required, number of students, location etc.



C programming
A training program that covers basic to mid level programming in C including language basics, advanced features and the standard libraries.

Basic Python
A training program that offers an introduction to progamming in the Python language. Includes language basics and standard library.

Advanced Python
A much more heavier course that the above for users of Python which emphasises real world examples.

Basic Perl
A training course that introduces the Perl programming language. It's not meant to be a complete in depth course but discusses the most commonly used parts of the language which will be useful for automation and day to day scripting.

The LAMP stack and the PHP language
A training program that teaches the most widely used web development stack (Linux, Apache, mySQL, PHP). The core of the program is the PHP language. It will cover the language core, commonly used libraries, the database interfaces and some templating engines. Extra topics like web app development best practices will be discussed in brief.

Django
A training program that covers the popular Python web framework Django. It consists of an introduction and discussion of the framework itself followed by a comprehensive session where a complete web application is designed from scratch. This will cover the Django system, it's ORM interface, it's templating engines and some of the middleware.

The UNIX programming environment/Shell scripting
This is an introductory course that familiarises engineers with the UNIX environment.
  • It will discuss the basics of the UNIX command line interface, the shell, I/O redirection and pipes.
  • Common tools like grep, sed, awk etc.
  • Workflows for development touching upon the C compilers, build systems, linkers, archival tools.
  • Version control systems. This part can be customised to cover either CVS, Subversion, RCS or git.
  • The two most common editors on the platform VIM and Emacs.
  • Basic shell scripting and automation.

Open Source version control
This is a slighlty advanced course that will cover the details of one of 2 version control systems based on customer requirements. Either subversion or git. It will discuss the backend setup, some details of the architecture as well as the end user interface

Emacs power usage
This in advanced course meant for experienced programmers that introduces them to the customisable editor Emacs.

It will include discussions of various programming modes, editor customisation using Elisp, productivity tools inside Emacs and integration with external debugging tools like gdb and SCM systems.

Introduction to UNIX system administration
This is a course that introduces the trainees to managing a Linux system. It will cover details of package installation and management, system monitoring, server configurations, automation , user management and security.

-

Noufal Ibrahim
Bangalore
http://nibrahim.net.in

-