Karim Benbourenane
Software Engineerkarim@benbourenane.com (415) 841-3499 www.benbourenane.com
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 anticancer 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-04service
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?