Software Engineer

What does being a Software Engineer mean to me? It’s more than just a programmer. It’s one who does more than just write software: they work with the users, develop the specifications, test and deploy the application, and debug issues in other people’s code. They understand at a higher level why others choose which language to use, which algorithms to fix problems, and how to maintain efficiency.

This is not meant to be my resume. If you want something that looks like my resume, check out my LinkedIn profile. But, here’s what you’ll notice:

  • I’ll often make the comment that my native language, which I’ve learned at CalPoly is C++. Ironically, I’ve never really used that language on the job: programming fundamentals are something close to universal.
  • On my first summer job, I taught myself ANSI-C to write data readers.
  • In my last summer job, I learned Perl on the job to maintain the operations of simulation pools.
  • At Intel, I learned MS Excel Visual Basic on the job to write scripts used to calculate lengths for motherboard routing and for building reports used by middle management to monitor product readiness.
  • At HP, I learned Tcl-Tk on the job to enhance scripts used to automate the testing of devices.
  • At CalPERS, I learned PHP, MySQL, JavaScript, jQuery, HTML, and CSS on the job of building website applications.
  • At NameHero, I used my PHP skills while mastering the Laravel framework.

Notice a pattern? Each of those different programming languages I learned on the job and was fully proficient in the languages within a week (or two). That’s the difference between a novice and an experienced software developer.

I’ve written many applications for work (mostly at CalPERS), including:

  • The HR Hiring Tracking Application managed the entire candidate hiring process including manager requisitions to fill vacant spots, management approvals, information about the positions, and all of the documentation associated with the position.  This application reduced their dependency on NEO Gov and eliminated all of the various tracking spreadsheets and consolidated all of the documents into a central repository.
  • The Performance Appraisal tracker which stored all performance appraisal content (no more MS Word documents) and management approvals of the appraisals enabled management at higher levels to see which appraisals were done, late, and never completed.
  • The Career Services Request tracked all of the employees requesting assistance, what kind of assistance was needed for each employee, documentation for each of those employees (they assisted on resumes and cover letters and other items), and helped them track the amount of time spent per employee.
  • The Parking Waitlist application tracked which employees requested parking and when so they could manage the queue of who should be the next to get parking in the parking structures.  The facilities team also used it for tracking employee carpool and vehicle information.
  • The Virtual Folders enabled employees to bind digital signatures onto multiple documents and collate those files into one virtual folder. The application also handled sending documents to each of the stakeholders to be signed and enabled everybody else for that particular folder to know who they were waiting on to sign documents.  This software eliminated paper waste while expediting getting signatures by management.
  • The Holiday Contest Voting application enabled photos and event entries to be tracked and voted on electronically by employees. 
  • The External Training Request Application tracked information about classes that employees wanted to take that were outside of the CalPERS system.  The application tracked the request management approvals and billing information.
  • At NameHero, I developed a Zabbix Event and Equipment tracker.  The application communicated through the Zabbix Host Server API to collect all hosts and events.  The stored events were then filtered and displayed by user controls.  Each of the events and hosts also enabled the system and network administrators to have attributes and notes attached to each item for later tracking and debugging.

Over the winter of 2023/24, I taught myself the ins and outs of Python (mostly on Hacker Rank).