Karim Benbourenane

Software Engineer

‭(415) 841-3499‬ www.benbourenane.com

My lifelong passions belong to the fields of mathematics, science, and technology. I enjoy challenging problems that lie in the intersection of those fields. Over a decade of technical experience, I've developed creative and technical solutions to unsolved problems. I've worked on how to process and analyze large datasets; how to make tedious computing tasks easier for end users; and how to optimize existing software solutions with limited computing resources.

skills

Skill Keywords
Languages Python JavaScript Ruby Java Go C C++ Bash
Frameworks Django Express.js React Bootstrap jQuery Ruby on Rails Spring Framework
Web HTML5 XML CSS
Tools PyCharm GitLab CI/CD Chrome Development Tools
Networking DHCP DNS IPAM SNMP InfoBlox Cisco Systems Aruba Networks F5 Networks
Systems UNIX Linux Docker VMWare Nginx Apache Server Puppet
Databases MySQL PostgreSQL SQLite Neo4j
Scientific NumPy SciPy matplotlib MATLAB

employment

Software Engineer, Lawrence Berkeley National Laboratory

2020-12 — Present

Wrote software to support the US Department of Energy's research missions by providing and maintaining tooling that supports the vast network that connects all of its National Laboratories and partner research sites.

  • Created new client application for data visualization of a pre-existing network topology backend service, built using React, Bootstrap, and Vis.js.
  • Contributed features and bug fixes to two separate full-stack web applications; one that acts as the network database of record, and another that performs orchestration tasks for managing networked devices.
  • Provided support to network engineers by fulfilling requests for program enhancements within our suite of software tools.
  • Improved end-user experience in applications by building new views and API endpoints, as well as enhancements such as validations and mobile-friendly web responses.
  • Wrote and maintained unit tests and fully leveraged our CI/CD pipeline to identify implementation issues before code review.

Software Engineer, Carnegie Mellon University

2012-04 — 2020-12

Designed and wrote software that provides support to the University's network infrastructure (e.g., routers, switches, and wireless access points) as well as network services (e.g., DHCP, DNS, and IP address management).

  • Designed and implemented a web application for user self-service to register devices on campus wired and wireless networks. Users can register a device with minimal interactions by automating and predicting the network to which the user belongs.
  • Maintained and updated an application that reports firewall rules. The application logs into those firewalls, collects the running configuration, processes it into a user-friendly format, and reports it to users based on their search queries.
  • Wrote a set of SNMP Ruby libraries to query network devices for diagnostic and identity information.
  • Implemented a new and adaptive inventory system for tracking network devices.
  • Wrote a Python library for making SOAP calls to a 3rd party wireless policy manager to collect information on connected users for historical and legal purposes.
  • Created a web application for registering users on the campus guest wireless network.
  • Implemented a network crawling library that generates a layer 3 topology map of wired networking devices on campus.
  • Wrote a Python library for consuming the InfoBlox DDI web API in an object-oriented way.

Graduate Research Fellow, University of Pittsburgh

2008-08 — 2011-05

Conducted research in computational biology in an interdisciplinary program that focused on computational methods to solve previously intractable biological problems.

  • Completed work towards solving a problem in immunology; specifically, adapting a computational physical model of cytotoxic T­ cell morphology.
  • Simulated how the T­ cell changes its shape and orientation under the influence of anti­cancer agents using only physical forces and dynamics.
  • Used mathematical computation techniques to solve a constrained optimization problem to produce minimal energy cell morphologies.

Software Developer, Field Expert

2006-09 — 2008-03

Worked with a startup company that focused on software consulting and training.

  • Developed a Java EE application to solve problems in inventory logistics.
  • Wrote modules to give customers access to manipulate supply inventory data stored in MSSQL through a user­-friendly web interface.
  • Created training tutorials to teach students how to install and use course applications.
  • Composed introductory materials for students learning to write application code with our course technologies.

education

B.S. Applied Mathematics, University of Pittsburgh

2004-08 — 2008-04

service

Undergraduate Research Assistant, University of Pittsburgh

2007-02 — 2008-06

Trained as a practicing scientist in the David J. Earl Group at Pitt. I wrote code to produce genomic simulations and utilized my expertise in the statistical sciences to analyze the results and draw some new conclusions.

  • Wrote a genetic reproduction simulation in C and C++ to explore a problem in metagenetics.
  • Gained new insights to the question: Do traits that affect hereditary processes (like mutation rates) spontaneously emerge and regulate their own expression as an evolutionary process?