Noufal Ibrahim

Last updated April 25th 2011
Resume powered by emurse

Noufal Ibrahim

Bangalore

+919880240460

http://nibrahim.net.in

-

Objective 

To work in a small technically strong team with a good balance of power and responsibility. Especially leveraging open source tools and technologies.

To work in an organisation that has social capital. Something which actually benefits society at large rather than just satisfies my technical and financial aspirations.

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


-

Summary 

Worked on development tools ranging from test harnesses to continuous integration frameworks to test specification languages and release management tools.

I am proficient in writing command line and web based tools to assist and streamline all stages of the software development and management process. In short, I'm a "tools and automation" person.

I am an effective trainer and have conducted technical trainings professionally for companies as well as for teams that I've worked with on various technologies. I've recently started conducting public trainings on technical subjects that I'm interested in.

That's my professional side. On my own time, I spend time with free software projects mainly in Python some of which are linked to from my site and my github profile. I have some tiny contributions to large public projects (like Python and Emacs).

References can be provided on demand.

-

Education 

B.Tech.

1997 - 2001

Regional Engineering College (now National Institute of Technology), Calicut, Calicut, Kerala, India
Computer Science and Engineering

 

-

Work Experience 

Consultant

Bangalore (remote)

Openlibrary (Internet Archive)

Jan 2011 - Current


Working on the backend of the openlibrary.org website.

-

Consultant

Bangalore (remote)

Indee.tv

July 2010 - Dec 2010


Working on version 2 of Indee's film festival management application.

-

Consultant

Bangalore

Tandberg

Dec 2009 - June 2010


  • Design and development of entire test harness and reporting system for the Precision HD USB camera.
  • Includes developing a custom RPC mechanism to abstract the camera and extending a 3rd party harness (py.test) to run user tests and integration with bugzilla for a complete picture of code health.

-

Freelance Software Developer and architect

Bangalore

Freelancer

2008 - Present


  • Designed, created and deployed sites for multiple clients directly and through partners. Most of them were PHP based either using WordPress or a custom CMSs.
  • Conducted corporate trainings on Python.
  • Conduct public trainings on various technical subjects.

-

R&D Engineer II

Bangalore

Synopsys India Pvt. Ltd.

2005 - 2009


  • Designed and implemented a mini language which compiles into an executable object that can check if a set of changes to the source is clean enough to go into the repository (Python, Spark)
  • Designed and implemented a highly flexible continuous integration tool which analyses source code changes over multiple platforms and keeps track of which engineer broke the builds. The system was implemented as a set of backend daemons and a separate web based front end. This is being used right now instead of third party solutions owing to it's conformance to various time limit criteria set by the corporate standards. (Python, TuboGears)
  • Designed and implemented three languages to specify test flows for various internal tools and wrote parsers for them (Perl, Yapp).
  • Designed and implemented a web based system to control streams and provide permissions based on various criteria. This tool also has a command line client which communicates with the web server using simple POST requests. (originally a trac extension but later a full fledged application using TurboGears).
  • Designed a wrapper around the internal build tools to profile the builds and generate statistics for various types of builds (Python, mySQL, Sqlalchemy).
  • Rewrote large parts of the internal regression framework to increase reusability and customisability (Perl).

-

Software Engineer

Bangalore

Cisco Systems India Pvt. Ltd.

2001 - 2005


  • Was part of a team who developed a web based application to handle testing and test case construction on large networks (PHP, Perl, mySQL).
  • Developed and maintained an application to draw and describe network topologies which can then be saved or exported into various formats that other tools require (Python, Tkinter, XML).
  • Developed a web based application to handle reporting for a team of roughly 80 people. Initially in PHP with a file system back end then ported to Python with a postgreSQL back end (Python, postgreSQL).
  • Developed and maintained a milestone and bug metric tracking system for a platform quality improvement initiative within my business unit (Python, postgreSQL).

-

-

Skills 

  • Programming languages in decreasing order of proficiency
  • Python
  • Perl/C
  • Elisp/PHP/Javascript
  • Above average knowledge of HTML and CSS.
  • Proficient Linux/UNIX user and administrator.
  • Effective communicator and technical trainer. For my training profile and details of the courses I offer, please visit my training profile.
  • Effective organiser and leader. I was the chair and the main organiser of the first and second all Indian Python language conference - PyCon India 2009/2010.

-

Interests 

Personal projects which I've worked on include
  • Created an installer builder for a web based python application that bundles all dependencies of the app into a self extracting tarball that can be deployed onto any UNIX system with minimal hassle.
  • Wrote a flashcard application using Python that was picked up by the Open Moko developers.
  • Wrote an Emacs major mode for editing Cisco IOS configuration files.
  • Working on a steampunk themed clone of the classic vertical shooter Xenon 2 Megablast.

General stuff which I work on is on my github and bitbucket profiles.

-

Awards and Honors 

  • Received a community service award from the Python Software Foundation for leading the organisation of PyCon India 2009.
  • Received an award from Cisco systems for completion of testing a critical feature ahead of time.
  • Received an award from Cisco systems for writing a web based tool to handle team reporting thus saving management the headache of manually collating team member statuses.
  • Received an award from Synopsys India Verification Group for development of languages to describe tests thus increasing the reliability of the regression system

-

Community Involvement 

  • Was the lead organiser of the first Python specific Conference in India - PyCon India 2009 (site at http://in.pycon.org/2009) and of PyCon India 2010 (site at http://in.pycon.org/2010).
  • Active member of the Bangalore Python User Group.
  • Presented a paper on physics aware game development in Python at PyCon APAC 2010 which was published in the Python Papers (http://pythonpapers.org/).
  • Presented a tutorial on extending Python using C at the premier international Python conference - PyCon Atlanta 2011 (http://us.pycon.org/2011/schedule/presentations/44/)w
  • Active member of the collaborative technical Q/A site http://stackoverflow.com

-