Profile Picture of Joy

About Me

My name is Joy Heron, and I...

  • develop software
  • love functional programming
  • care about UX and good design
  • find web applications fascinating

My skills at a Glance

Programming Languages
Java, JavaScript, Clojure, ClojureScript, Groovy, Prolog, Python, Ruby
Software Architecture
Microservices, SCS, HTTP, REST, Microfrontends, Domain-driven Design
Frontend Technologies & Design
CSS, HTML, Bootstrap, Web Components, Figma, Customer Testing & UX, Vanilla JS, Plotly, jQuery, DataTables, mustache, Thymeleaf, JSX
Backend Technologies
Spring Boot, compojure, Express, Rails, Web Security
Databases
SQL, Cassandra, Solr, Neo4J
Testing
JUnit, Cypress, Selenium, Spock
Software Development Tools
Git, IntelliJ, Eclipse, Emacs, Maven, Gradle, JIRA, Scrum, YourKit, Jenkins, GitLab CI, Docker
Moderation Techniques
Open Space Method, Event Storming, Visual Recording
Formal Methods
B-Method, Event-B
Other
LaTeX, Mac OS, Linux, bash

What have I done?

Software Consultant at INNOQ
2016 - present

At INNOQ, I work closely together with customers to develop custom software.

The most important question to me is not how to solve a specific problem, but making sure that we are solving the right problem.

Based on this knowledge of the core domain, we can decide on the best architecture for our system and decrease complexity so that we can maintain and evolve the system over time.

My responsibilities as a consultant include architecture discussions, backend development, web security, and user interface conception and implementation. I also work iteratively with customers to identify problems with the user experience and improve them.

Research Assistant at Heinrich Heine Universität
2011 - 2016

During my studies, I worked with the STUPS research group and in conjunction with industry partners during the course of the ADVANCE project to develop the ProB tool chain for verifying formal specifications.

My work mainly consisted of developing a Java API written in Java and Groovy for interacting with ProB. I also was able to contribute to the kernel of the application which was written in SICStus Prolog.

Community

In 2011, I started attending the RheinJUG regularly and volunteering. In 2014 I became an official member of the organization. I also have helped organize the Clojure Düsseldorf and Lambda Düsseldorf meetups.

Since 2017, I have been organising and moderating the EntwickelBar unconference as well.

Talks I have given

Web Component Design

Designing Frontends for Reusability
Slides

Microservices Open Space

Power Workshop: Interact with the Experts!
Session results from WJAX 2018

Web Applications in Clojure

Slides

My Ideas about HTML, HTTP, and basic web security

Slides

The Enemy of the State

Slides
  • Topconf Düsseldorf 2017

Podcasts I have been on

Host on CaSE Podcast
CaSE Podcast Logo
Jul 7, 2018

Web Frontend with Lucas Dohmen

Listen to podcast
Host on CaSE Podcast
CaSE Podcast Logo
May 3, 2018

Problem Solving and Clojure 1.9 with Rich Hickey

Listen to podcast
Guest on INNOQ Podcast
INNOQ Podcast Logo
May 24, 2018

Open Spaces

Listen to podcast (German)
Guest on HMww
Herr Mies wills wissen Podcast Logo
Apr 4, 2018

Clojure mit Joy Clark

Listen to podcast (German)
Host on CaSE Podcast
CaSE Podcast Logo
Mar 29, 2018

Application Security with Peter Chestna

Listen to podcast
Host on CaSE Podcast
CaSE Podcast Logo
Jan 25, 2018

Domain-Driven Design with Vaughn Vernon

Listen to podcast
Host on CaSE Podcast
CaSE Podcast Logo
Dec 21, 2017

Domain-Driven Design with Vaughn Vernon

Listen to podcast
Guest on HMww
Herr Mies wills wissen Podcast Logo
Nov 8, 2017

Sketchnotes mit Joy Clark

Listen to podcast (German)
Host on CaSE Podcast
CaSE Podcast Logo
Nov 9, 2017

ClojureScript with David Nolen

Listen to podcast
Guest on Cognicast
Cognicast Podcast Logo
Oct 4, 2017

Joy Clark

Listen to podcast
Host on CaSE Podcast
CaSE Podcast Logo
Sep 14, 2017

Scala with Sofia Vaughn-Jones

Listen to podcast
Guest on INNOQ Podcast
INNOQ Podcast Logo
Jul 24, 2017

Berufseinsteiger und Mentoring in der IT

Listen to Podcast (German)
Host on CaSE Podcast
CaSE Podcast Logo
Aug 3, 2017

Clojure with Alex Miller

Listen to podcast
Host on CaSE Podcast
CaSE Podcast Logo
Jun 1, 2017

Legacy Software and Immutable Architecture with Chad Fowler

Listen to podcast
Host on CaSE Podcast
CaSE Podcast Logo
May 11, 2017

Software Architecture with Stefan Tilkov

Listen to podcast
Guest on INNOQ Podcast
INNOQ Podcast Logo
Feb 27, 2017

Prolog

Listen to podcast (German)

My Writing around the Web

Find sketchnotes and more samples of my writing on my blog.

My Education

Master of Science in Computer Science
University of Düsseldorf: October 2013 – February 2016

GPA
1,0*
Honors
Deutschland Stipendium: Scholarship for Academic Excellence October 2014 – October 2015
Dissertation Topic
An Algorithm Description Language for Event-B
Selected Course Work
  • Functional Programming
  • Dynamic Programming Languages
  • Advanced Computer Networks
  • Advanced Logical Programming
  • Network Security
  • Safety Critical Systems
  • Efficient Algorithms
  • Algorithms for Drawing Graphs

Bachelor of Science in Computer Science
University of Düsseldorf: October 2010 – September 2013

GPA
1,5*
Dissertation Topic
Data Visualization in ProB
Selected Course Work
  • Compilers
  • Introduction to Logical Programming
  • Computer Networks
  • From NAND to Tetris

C1 level in German
Sprachforum Heinrich Heine Düsseldorf: October 2009 – March 2010

Fluent in German in speech and writing.

Associates of Arts
Spokane Falls Community College: September 2007 – June 2009

GPA
GPA: 3.96 (A)*

High School Diploma
North Central High School: September 2005 - June 2009

GPA
4.0 (A+)*, Valedictorian