Brandon Heck

Change the world, one line of code at a time.

Experienced Java developer with a love for backend services
Strong focus on API design
Passion for developing reusable libraries to meet application needs and standardize operations across applications

Professional Objective

Leverage sound software development practices to produce creative, innovative, forward-thinking software solutions which create value for the business, clients, and other developers.

Technologies & Tools

High Proficiency
  • Java SE
  • Java EE
  • Web Services Development
    • Message-Driven Beans
    • REST (JAX-RS)
  • JDBC, SQL
  • Apache Maven
  • JMX
  • Jenkins
Working Knowledge
  • Java Authentication and Authorization Service
  • Java Message Service (JMS)
  • Java Native Interface (JNI)
  • Websphere Application Server
  • Apache Tomcat
  • OAuth Protected Services
  • XML
  • HTML
  • OSGi
  • Linux Containers (Docker)
Basic Knowledge
  • NoSQL
  • PL/SQL
  • JCache
  • OAuth Providers
  • JPA/Hibernate
  • C++
  • C#
  • Groovy
  • Eclipse RCP
  • Ruby
  • Clojure
  • Javascript ES6 & Node.js
  • React.js
  • Shell Scripting
    • Bash
    • KSH
    • Batch

Responsibilities

  • Gathering, creating, and assessing functional requirements
  • Turning functional requirements into high-level architectural designs and low-level implementation designs
  • Creating and assessing technical designs for use in high-throughput, highly concurrent systems
  • Developing optimized, fault-tolerant software based on technical designs
  • Ensuring that implementation follows the SOLID design principles
  • Testing
    • Whitebox testing using Test Driven Development
    • Black Box Testing
    • Behavior Driven Development
    • Integration Testing
    • Performance Testing
  • Developing infrastructure libraries to create a cohesive development, deployment, and software management ecosystem
  • Adapting platform architecture to interoperate with new infrastructure
  • Troubleshooting, debugging, and providing support to developers for general Java issues, issues involving open-source libraries, and issues related to libraries maintained by my team
  • Mentoring new developers and developers new to the team
  • Working cross-functionally with client support, infrastructure, and other development teams to diagnose production issues and identify fixes
  • Working with infrastructure teams to prototype infrastructure tools and integrate tools with the service platform

Key Projects

  • Enhance queue-based enterprise application service platform to run on SaaS infrastructure
    • Decouple runtime from legacy proprietary tooling
    • Create standard health check HTTP endpoints
    • Decouple service lifecycle from traditional domain lifecycle
    • Enhance platform for connections to multiple MQ queue managers
    • Implement MQ reconnection and service-side connection management
  • Client, server, and middleware libraries which provide integration with existing tools and ecosystems
  • Highly scalable back-end services and web-based services
  • Java EE Portlets running on IBM WebSphere Application Server (WAS)
  • Reusable libraries to perform custom installation logic on WAS including data source setup, inspection and manipulation of environment entries, and setting up Websphere MQ resources
  • Instrumentation framework (logging, counters, measurements, diagnostic context)
  • Cache framework with extensible coherency model
  • Object-Relational Model data persistence framework
  • JDBC framework and utilities, including configuration, instrumentation, and failover
  • Inversion-of-control framework based on the Service Provider specification
  • Enhancing, maintaining, and writing reusable and stand-alone business logic

Activities

Kansas City Java Users Group

Organizer and host
  • Organize locations, sponsors, and speakers
  • Promote meetups to drive membership and attendance
  • Manage web presence
  • Communicate to meetup members
June 2017 - Present

Cerner Java Developer's Meetup

Organizer and Speaker
  • Coordinate topics and speakers
  • Emcee meetups
  • Speak on a wide range of Java-related topics tailored to how they are applicable to day-to-day development efforts at Cerner
Sept 2014 - Nov 2018

Professional Experience

Associate Lead Software Engineer

Cerner Corporation

  • Work with multiple stakeholders to identify emerging and anticipated needs
  • Understand technical complexity through research and prototyping
  • Leverage software from multiple sources, including open source software, commercial software, and proprietary software to create standardizations for frequently encountered needs
  • Create and review high-level designs with multiple stakeholders and development teams
  • Use high-level designs to create project plans
  • Serve as technical lead for a team of 4-6 developers
  • Review low-level technical designs and code to ensure it meets standards for:
    • Technical correctness
    • Scalability
    • Supportability
    • Succinctness
    • Appropriateness of APIs
    • Extensibility
    • Functional completeness
    • Testability
  • Implement software changes

February 2019 - Present

Senior Software Engineer

PayIt

  • Create Java REST microservices
  • Use clojure to create a finite state automata for driving customer workflows
  • Enhance Node.js ES6 service to transform data for display
  • Integrate with client data systems
    • Explore existing client data model to find customer information for replacing legacy applications
  • Transform and store customer data models in MongoDB

Nov 2018 - February 2019

Associate Lead Software Engineer

Cerner Corporation

May 2008 - November 2018

Cerner Learning Facilitator

Millennium Architecture
  • Cover the history, architectural overview, and concepts related to Cerner's flagship product
  • Present purpose and usage information about operations tooling for developers
  • Lead laboratory exercises related to operations tooling and troubleshooting issues
System Infrastructure and Services Development
  • Facilitate material presentation and laboratory exercises for other developers on libraries used to solve common issues and standardize the operational model, including:
    • Standardized logging APIs
    • Caching framework
    • JDBC standardization utilities
    • Data marshalling libraries
    • Messaging middleware
    • Service specification APIs
    • Service runtime concepts and service containers
    • Best practices for services development on proprietary service framework
Development Ecosystem
  • Instruct developers on general development concepts and concerns, including:
    • Apache Maven
    • Software release best practices
    • Maintaining software assemblies
    • Strategies for API design
    • Automated testing best practices
Mar 2011 - Nov 2018

Education

Master of Science

Applied Computer Science

Northwest Missouri State University

April 2008
3.82

Bachelor of Science

Computer Science

Northwest Missouri State University

April 2006
3.01

Continued Learning

  • Linux Containers and Docker - Pluralsight
  • Java 9 Modularity - Pluralsight