John David Martin

developer educator student

Profile

I'm John Martin, a developer with over 13 years of professional programming experience and a background in Discrete Mathematics and Secondary Education.

  • I have a propensity for data. I enjoy gathering, manipulating, and exploring data to uncover insights.
  • I have strong UX background. I excel at creating rich data visualizations leveraging stable browser specs and libraries like D3.js and Three.js.
  • I am enthralled with Cognitive Neuroscience, Network Neuroscience, Information Theory, and Machine Learning.

Experience

  • USAA Oct 2020 - Present
    Data Engineer Deliver quality reporting and data intelligence solutions to support data driven decisions.
  • Unicon June 2010 - Sept 2020
    Senior Developer Lead the development of user experiences for client projects. Architect and implement web applications. Present to the UX developer group on relevant industry topics.
  • Arizona State University June 2009 - June 2010
    Student Success Coordinator Sr. Hired, trained, and supervised tutors and staff for ASU's on campus tutoring centers. Hired, trained, and supervised tutors, residential staff, and instructors for a freshmen summer transition program.
  • Crested Butte Academy May 2008 - May 2009
    Advanced Mathematics Instructor Developed and delivered mathematics curriculum for courses ranging from Algebra to AP Calculus. Provided mentorship for a subset of the students and supported students by supervision in the dormitories and by organizing trips.
  • Point X Camp Summers 2002-2006
    Assistant Camp Director Trained, Supervised, and supported camp staff. Ensured the safety and positive experiences of up to 100 different campers each week. Coached beginners skateboarding group.

Skills

Mobile

  • iOS ( Swift + UIKit )
  • iOS ( SwiftUI )

Client Side Technologies

  • HTML 5
  • CSS 3
  • TypeScript
  • JavaScript

Client Side Frameworks

  • React ( hooks )
  • React Three Fiber
  • AngularJS
  • Angular

UI Best Practices

  • WCAG 2.0 AA
  • Mobile First / Reponsive
  • PWA

Client Side Libraries

  • D3.js
  • Underscore
  • Three.js
  • LESS pre-processor
  • SASS pre-processor
  • Bootstrap 3.x, 4.x
  • jQuery

JavaScript Build Tools

  • WebPack
  • Gulp
  • Grunt

App Frameworks

  • Electron
  • Unity

Design Tools

  • Sketch
  • Photoshop
  • Illustrator

HTTP Server Frameworks

  • NodeJS / Express
  • Java & Spring Boot
  • PHP
  • WordPress

Data Engineering

  • Python
  • Pandas
  • NumPy
  • TensorFlow
  • Apache Spark
  • Airflow
  • Domino

Persistance

  • Snowflake
  • SQL
  • Hadoop / Hive
  • Neo4J
  • MongoDB
  • Elasticsearch

Dev Ops

  • Linux / Command Line
  • Docker
  • Git

Amazon Web Services

  • SageMaker
  • IAM
  • VPC & Security Groups
  • Cloud Formation ( Raw or CDK )
  • Terraform
  • S3
  • CloudFront / Route53
  • Cognito
  • Lambda
  • API Gateway
  • Dynamo DB
  • Auora
  • Athena / Glue
  • Cloud Search
  • SES
  • Code Pipeline / Build

Education

  • Arizona State University 2008
    MA Discrete Mathematics Specialization in Graph Theory and Algebra.
  • Arizona State University 2006
    BA Secondary Education Mathematics Received certificate to teach in Arizona.

Articles

  • How do Your Favorite Books Compare in a VR World? May 2019 - Hacker Noon

    Visualizing semantic relationships between spatial embeddings.

  • How to Make Memorable Mountains with Perlin Noise May 2018 - Medium

    Explaining the use of Perlin noise to create terrain that provides good user experience in a 3D envionrment.

  • Are You Intuitive? Challenge My Machine January 2017 - Hackernoon

    This is a description of successfully training a neural network that can beat Mechanical Turk human participants in a classification task.

  • How to Google Your Own Brain September 2016 - Neo4J Guest Blog

    Creating a CMS with Neo4j & Elasticsearch, allows generation of Page Rank values that can be used to modify an ElasticSearch query.

Presentations

  • A Practical Vision for Connecting Students' Education to Virtual Worlds June 2020 - OLC Innovate™

    Giving students ownership of a virtual world provides opportunities for them to navigate a tangible and spatially oriented environment to their individual abstract educational landscapes. Discover a practical vision for making this idea a reality using modern web technology.

  • Reduce App Friction! Make Your UI Buttery Smooth! October 2018 - Desert Code Camp

    How to leverage modern web technology to make your apps buttery smooth! Leverage CSS transforms, CSS opacity, webworkers, and other techniques to make your app super buttery! We'll utilize the Chrome dev tools to measure the butter factor. This is essential for developers looking to impress clients!

  • Introduction to WebGL October 2017 - Digital Flagstaff Meetup

    WebGL exposes the GPU to modern browsers. This gives browsers the ability to render performant 2D and 3D graphics. Join us while we explore the basics of WebGL, ThreeJS, CannonJS, and some performance tips.

  • Buttery Smooth UX, High Frame Rate Goals September 2017 - Unicon UX Forum

    Presentation with code samples that show how changes can be made to a web application to make frame rate optimal. Using the Chrome Dev Tools, one can identify trouble issues and address them with scripting changes, multi-threading, and CSS changes.

  • Intoduction to Machine Learning & TensorFlow November 2016 - Unicon UX Forum

    Sharing some introductory concepts of neural networks, back propagation, and an example of TensorFlow trying to beat humans in a classification task.

  • Introduction to Inpoot & the Gamepad API November 2015 - Desert Code Camp

    This talk will discuss the current state of the gamepad api, mouse lock api, and fullscreen api in modern browsers and its applications. We will look at INPOOT as an example that uses these technologies and explore patterns in dealing with user input. We will also discuss the future of the api as it applies to unique user interfaces including HTML5 games. We will explore simple examples of using gamepad and mouse lock inputs as well as more advanced usage in a 3D browser based game. Interactive slides and sample code will be provided for all examples.