Scott Hernandez

Software and Systems Guy

Hermosa Beach, California, United States

About

Large, distributed, high performance (both in throughput and low-latency), api/web systems are my forte. I have been the architect of many systems from the back-end store all the way through many (distributed and redundant) tiers of components to the user, customer, and/or partner. With all my experiences with software and hardware I find very few things impossible (if any). I always enjoy the challenge of finding new solutions that make sense not only from the technology point of view, but a business and customer (with a focus on usability and retention) perspective. I have a strong sense of how to build things, not just software, but teams and processes as well. Creating self-sustaining and manageable systems are my specialty. Here are some of my technical strengths: Distributed Systems, Network Protocols (DNS/DHCP/SMTP/SNMP/IMAP/POP3/SSH), Databases (Design/Tuning), Language Design, System(s) Architecture, Firewalls, IDS/IPS, Load Balancing and Clustering, Content Delivery Networks (CDN), Business Web Services Specialties: Linux: Ubuntu Windows: 2003/8, Clustering C#, ASP.Net, Silverlight Ajax, Javasript (jquery, extjs) XSL/T, XML, XSD, XPath, XRef Java, J2EE, EJB, Servlets, Portals JBoss, Tomcat, Spring, Hibernate, JSP/JSTL, Velocity, Maverick, Tagonist, Big5, Cisco, Zeus (G)LB Load Balancers COM, DCOM, MSMQ, MTS MSSQL, MSOLAP, Analysis Services, Reporting Services Oracle (RAC), Postgres, Redbrick M0n0wall, pfsense NATS (Affiliate tracking system) QuickBooks (server/ent)

Experience

  • Software Engineer at MongoDB, Inc.
    Feb 2011 - Nov 2016 · 5 yrs 10 mos

    Worked in the Distributed Systems team, specifically on replication. Responsible for designing and implementing the data replication portion of replica sets (and soon to be used by more subsystems). This work includes supporting new async programming techniques in order to do the initial data synchronization, steady state replication application of the oplog as well as dealing with replication source selection and rollback in the event of divergent primaries in various failure scenarios. Previously I was involved in the re-write of our replication election and consensus subsystems. Prior to that I worked on replacing the MongoDB update and write-related sub-systems. While working at MongoDB I have worked on many things including: * Java Client Library ** Morphia ** Hadoop Connector ** 3rd party integrations * Presented at MongoDB Events including regional events, meetups, and international conferences * Refine existing and new testing frameworks to ensure black-box, unit and integration tests * Writing and review documentation * Adding features and fixing various parts of the server and client code bases ** Shell ** Javascript ** Query/Update/CRUD ** Storage engines ** Sharding and Replication ** Network, Concurrency and Utility Libraries * Consulting * System Administration and Operations for network and infrastructure * Dev/Ops Community Representation, and Liaison * Internal Training and Education

  • Architect and Developer at Subetha Developers
    Mar 2006 - May 2009 · 3 yrs 3 mos

    Subetha is a mail list manager and smtp server (broken out early on). It is written in Java for JBoss using advanced caching, clustering and fault-tolerance.

  • Director of Operations at Kink.com
    Mar 2006 - Nov 2007 · 1 yr 9 mos

  • Project Lead at Nant Developers
    Apr 2001 - Jul 2004 · 3 yrs 4 mos

    Helped lead project direction and contribute significant development efforts. NAnt is a .net build system. See http://nant.sf.net for more information.

  • Software Developer at ALH Group
    Jul 2000 - Mar 2002 · 1 yr 9 mos