Suleman Diwan

http://wisdomthroughknowledge.blogspot.com/

http://www.linkedin.com/in/sulemandiwan

https://plus.google.com/+SulemanDiwan

https://twitter.com/SulemanDiwan

suleman.diwan@gmail.com

Objective

I am seeking a job that inspires creativity and encourages creative solutions for complex problems allowing me to grow as a professional. I am particularly interested in opportunities which also involve: programming/scripting, web development and infrastructure development.

I am a computer engineer with over 15 years of experience in system administration and research support  in an academic environment.

Experience

Research Applications Programmer, School of Information (SI), University of Michigan

May 2015 - Present

Part of a 4-person team designing and developing web applications for research.

Responsibilities

  • Develop Python modules for web application.
  • Design and implement MongoDB database model.
  • Design and implement research data gathering and presentation tools.
  • Utilize Flask web framework along with extensions for efficient development.
  • Develop Jinja2 templates.
  • Design and develop user interface using HTML, CSS, JavaScript & Jinja2 templates.
  • Ensure Responsive web design.
  • Use BootStrap for fast prototyping and MVP launch.
  • Document code and procedures.
  • Ensure code follows PEP8 coding standards for improvement and maintainability.
  • Use Git to manage codebase.
  • Use Agile methodology and tools for project development.
  • Coordinate and collaborate with team through daily stand-ups, in addition to electronic communication.

Projects

  • Design and develop a crowd-sourced resume feedback application along with relevant tools focused on gathering human subjects data for research.

Research Systems Analyst, Computing and Technology Support (CaTS): Literature Science & the Art Information Technology (LSAIT) , University of Michigan

July 2011 - Present

Part of a 6-person team supporting almost 700 users and nearly 1000 machines, as a System Administrator primarily responsible for the Service, Support and Development of the Research Environment and Infrastructure, particularly under Linux & Mac OS X. I also provide support for Instructional and Administrative computing, and general-use computing labs under a heterogeneous infrastructure (Linux, Mac and Windows).

Responsibilities: Users and University Vision

  • Consult with researchers and recommend solutions for complex research-related computational issues including custom kernels, custom scripts and automation, specialized Linux builds, research software, project specific services, new hardware, etc.
  • Consult with researchers on improving code, algorithm efficiency, and designing algorithms.
  • Compile discipline-specific custom software including reading and modifying code as needed.
  • Provide direct support to research groups with customized environments, specialized hardware and compute clusters.
  • Maintain Linux/Mac systems to allow faculty, staff, and students to perform their research, educational, instructional and administrative  activities effectively.
  • Collaborate and apply policies to enhance the security of the environment.
  • Collaborate and apply policy and procedures to set standards for efficiency and reliability of the environment.
  • Manage and train 6 part-time employees to assist with workload and provide tier-1 support.

Services: Design, Deployment and Support

  • Support and manage 100 servers.
  • Administer HPC clusters and other research-related Linux systems.
  • Write Unix shell scripts, Perl scripts, etc., to aid in administration of the infrastructure.
  • Design and update the Linux image regularly to facilitate reliable provisioning of Linux systems.
  • Manage the lifecycle of hardware servers and desktops to ensure quality hardware.
  • Manage the lifecycle of software to ensure software has latest features and is free of bugs and security issues.
  • To accomplish these tasks the following are utilized:
  • Provide Backup (CrashPlan, TSM)
  • Directory services (LDAP, Active Directory)
  • Software Repository (Macports, Red Hat Satellite Server, Linux Repositories)
  • Virtualization (KVM, Microsoft HyperVisor)
  • Printing (PaperCut, SMB, Windows Printing)
  • Network data storage (NAS, SAN, iSCSI, AFS, NFS, CIFS, GlusterFS)
  • Computation (FLUX, Computation Servers)
  • Inventory monitoring (Nagios, Spiceworks)
  • Security scans (Nessus)
  • Web Services (LAMP)
  • Visualization (GPGPU-Tesla, CUDA)

Projects

  • Gathered usage metrics of 28 machines per user per machine and developed strategic project recommendations to management. This was to determine the feasibility of maintaining such an environment. This was presented in standard statistical information but also as a heat map to aid in ease of communicating the data.
  • Designed and deployed instructional and research computing lab consisting of 19 machines; developed Linux image, provisioned hardware, configured efficient long-term management and upgrades, redesigned physical environment design to aid instruction, brought environment up to University standards, investigated possibility of spare cycle harvesting via Condor, etc.
  • Collaborated with Infrastructure team to decommission out of date NIS / ISC BIND server along with migrating user data, maintaining data integrity, allocation of new storage space for current and future needs, securing the environment and so forth to ensure work proceeded as planned.
  • Designed and deployed local HPC resources with distributed data storage using GlusterFS.
  • Customized and deployed  Network Discovery and Inventory management system called Spiceworks. This was particularly complex due to it lacking any Linux support. Worked extensively with developers to find workarounds to make it work reliably and securely with Linux machines.
  • Developed code with Red Hat Satellite Server API to gather metrics for the service and environment configuration; designed code to to stress test the server; designed code to manipulate database information en masse that was not possible otherwise.
  • Designed and deployed KVM server as a testing and development machine for the team.
  • Deployed and configured web-based system monitoring tool (Monitorix) to monitor the various performance metrics including, CPU, Memory, Disk I/O, Network traffic, etc., on the computation servers.
  • Redesigned our department’s Red Hat Satellite Server software channels, configuration management and provisioning and utilizing a standardized build to enhance efficiency of provisioning and management of infrastructure.
  • Developed a Lab Linux environment to aid in future migration from Mac to Linux.
  • Merged support models, methodologies, and systems of four diverse departments (Astronomy, Statistics, Physics, Complex Systems) into a relatively homogeneous environment.
  • Developed a unified Linux image with streamlined kickstart files and configurations for use in all supported departments.
  • Wrote and configured custom RPM files for various projects and custom software to allow management of the environment.
  • Investigated Puppet for potential use in environment for reliability of system configuration and restoration to a known state.
  • Unified firewall ruleset across Mac, Linux and Windows to enhance the security of our infrastructure.
  • Mentored and trained student employees and improved processes to maximize their effectiveness.

Desktop Support Specialist Senior, Department of Statistics, University of Michigan

March 2000 - July 2011

Managed all computing for a department of over 100 users (faculty, staff and students) and provide individual support to facilitate the smooth functioning of research, teaching and administration. In addition, in my time there I enhanced the small initial environment to a larger more robust one tripling the number of servers, desktops, laptops and providing new services and infrastructure.

Responsibilities

  • Maintained and developed a mixed infrastructure of Windows, Solaris, Linux, and Mac OS X.
  • Wrote Unix shell scripts, Perl scripts, Windows Batch files, etc., to aid in administration of the infrastructure.
  • Investigated and deployed services including Web services, Printing, DHCP, New Operating Systems Environments (Linux and Mac), Computation cluster, etc.
  • Investigated and deployed hardware (server, desktop and mobile), particularly economical hardware effective at dealing with large computations.
  • Built, tested, and deployed software, in particular Statistical and Mathematical analysis programs.
  • Troubleshooted and solved hardware, software and network problems.
  • Developed and maintain computer labs.
  • Developed and supported setups for faculty members with special needs including voice recognition and ergonomic environments.
  • Provided specialized support for offsite faculty particularly those traveling abroad.

Projects

  • Designed and deployed instructional technology classroom with 49 stations and two iterations of improving the design to accommodate improvements in technology.
  • Designed and deployed Drupal-based web environment, importing content from Joomla, and configuring the CMS for use by ISBIS (International Society for Business and Industrial Statistics).
  • Collaborated with other departments to develop a College-wide infrastructure for  Mac OS X,  contributing mainly to base operating system, security (e.g. authentication, authorization, policy), file sharing (AFS, SMB/CIFS), and printing sub-teams.
  • Collaborated with other departments (CAEN, ITCS, LSA departments) to investigate, develop and deploy infrastructure to efficiently management large Linux setups (particularly lab environments), automate builds of new machines, update and maintain existing machines with varying configurations, track custom configuration and asset information. We settled on using Red Hat Satellite as the method of managing our resources and it is now a centrally provided service widely used by multiple colleges at the University.
  • Designed and deployed new printing solution (CUPS-based).
  • Decommissioned and Migrated all AFS and web services to a centralized service to reduce cost and improving support and functionality through economies of scale.
  • Investigated and deployed economical computation solutions to support growing need for larger and more complex computations; developed a 10 node compute farm with resource management for this purpose.
  • Migrated entire departmental computing infrastructure including the network, servers and desktops from one part of campus to another with minimal downtime and minimal problems.
  • Designed and set up the department's first server room, including proper cooling, power protection (UPSs), racks, and remote console server.

System Administrator, Information Technology Division, General Purpose Computing Cycles Team, University of Michigan

March 1999 -

March 2000 

One member of a six person system administration team, providing, maintaining and improving a Unix based environment and its services for about 100,000 users including faculty, staff, and students. The services include over 900 applications, a centralized logging system, facility for heavy computations and remote access, and a setup for providing system administrator customers with fully functional systems according to their specifications and tools to facilitate their system administration.

Project

Research network security technologies to provide a safe and secure environment for users; make recommendations in the areas of encryption and authentication including securing connection oriented (TCP) protocols (telnet, FTP, SSH), and incorporating Kerberos into existing network services.

Sites Consultant, Information Technology Division, Campus Computing Sites, University of Michigan

August 1997 -

March 1999

Maintained a computer lab, troubleshooting malfunctioning machines. Assisted users by explaining technical details clearly and concisely. Improved customer service skills by dealing with user complaints.

Skills

Languages (in decreasing order of Proficiency - left to right): Unix Shell Scripting (bash, Bourne Shell, tcsh/csh), Perl, C/C++, Python 2.6/2.7/3.0, HTML 4.0/5.0, CSS 1/2/3, PHP, Javascript, PowerShell 4.0, Fortran 77, TeX, Java, XML/XSL, Assembly

Development: Flask Python Framework, Bootstrap, Jinja2, JQuery, Red Hat Satellite Server web API (XML-RPC), meetup.com (REST), Agile Methodology, Unittest, Facebook API, Google Doc API

Other: Regular Expressions, RPM/Spec files, Kickstart files, PowerPC Assembly Language Programming, MIPS Assembly Language and Architecture, FLex and YACC Programming, Unix Threads Library (pthreads), University of Michigan Computing Environment.

Platforms: Linux (Red Hat Enterprise Linux, Fedora, Scientific Linux, CentOS, Ubuntu), Windows 7/Vista/XP/2000/NT, Windows Me/98/95, Macintosh (Mac OS X 10.11.x and below), Unix (Solaris 2.8, 2.6, 2.5.1).

Services: DHCP/DNS, Apache HTTP Server, MySQL, MongoDB, LAMP, Kerberos, GlusterFS, Monitorix, AFS, NFS3/4, Xen, KVM, Red Hat Satellite, GIT, Spiceworks, GLPI/FusionInventory, PaperCut, CUPS, Nagios, Puppet, Drupal, Vignette, Google Services, Flux

Education

University of Michigan – September 1995 - April 2000

Bachelor of Science (Majors: Computer Science; Japanese Language and Literature)

Computer Related: C/C++ Programming, Data Structures and Algorithms, Digital Logic Design, Computer Organization and Architecture, Design of Microprocessor-Based Systems, Discrete Structures, Theory of Computation, Operating Systems and Programming in the Unix Environment, Compiler Construction and Manipulation of Data Streams, Computer Networks and Unix Network Programming, Interactive Computer Graphics and OpenGL Programming.

Japanese Related: Completed 4 years of Japanese Language & 2 years of Japanese Literature.

Other Technical Courses: Technical and Professional Writing, Probability and Random Processes, Circuit Analysis, and Solid State Devices and Digital Electronics.

Professional training: Perl Programming, Unix Shell Programming, Unix Regular Expressions and Text Processing, Windows 2000 System Administration, Red Hat Satellite Server, High Performance Computing,  among other courses.

Language skills: English, Hindi, Urdu, Japanese

Publications

Refereed Conference Publications:

Tawanna R. Dillahunt, Nishan Bose, Suleman Diwan, Asha Chen-Phang. Uncovering Contextual Factors and Design Requirements for Underserved Job Seekers. DIS '16: Designing Interactive Systems Conference 2016 Proceedings (to appear).

Related Ignite 2015 Presentation

The presentation was made at the Ignite 2015 Symposium (www.igniteannarbor.com) as part of the work done for the paper. It was titled “Crowd-Sourcing Your Job Interview”.

https://www.youtube.com/watch?v=5z39EkE3NGQ

Other

Freelance Writer: I do contract-based writing on weekends as time permits as writing is a passion. So in the process I take some contracts to do articles on fashion, product reviews, fiction, entertainment, travel, health, self-help, web design, sports, recreation, etc.

Interests & Activities: Writing, Art, Web Apps, Multicultural Environments, Health & Fitness, “Efficiency Solutions,”  Leading and Growing Mid-Michigan Prose and Writing Group, Building a supportive community around a health-conscious lifestyle.