Lessons Learned at Abstractions 2019


Two weeks into the job, my new employer sent me and a dozen other engineers, qa’s, and designers to Abstractions 2019, a cross-discipline software conference in Pittsburgh, PA. Headlining the group of speakers was the YouTuber and creater Simone Gertz, Chris Coyier of CodePen and CSS-Tricks, and Guillermo Rauch of Zeit.

I took down some notes for my team and me to reference after the event. If I have time, I’ll add more details including speakers, videos, and links. Until then, enjoy this for what it is!

Wednesday #

Your Work Has Moral Implications #

Tech has great power and great responsibility. Ensure that your team has a policy in place and make plans to protect yourself from moral crises.

How to Build a Community from Scratch #

Find a consistent schedule to hold interesting meetings in an intimate environment.

Deep Learning for Developers #

The barrier to entry for machine learning is lower than ever. Check it out!

Resources

  • TensorFlow
  • PyTorch
  • IBM Max

Building Accessibility Together #

Every team should plan and work with accessibility in mind. Stick to best practices in design, markup, and scripting to help insure that products work well for everyone.

Software for people who don’t want it #

Consider the end user when making all software decisions. Strive for an application that is as accessible and usable as possible.

Programming Productivity #

Take the time to create tooling to standardize best practices. Use the JavaScript AST to write custom lint tools or CodeMods that will work across the codebase.

Thursday #

Practical Open Source Security #

Use available tools like npm audit to scan your dependencies regularly. Make it part of the regular code reviews and automate the process as much as possible.

Resources:

  • mitre
  • Snyk
  • webhint
  • Lighthouse
  • Dependabot

Those Who Can Do Should Also Teach #

Teaching is a great way to reinforce your knowledge, and help people. Prepare your students for the challenges of learning something new and how to work through them. Teach targetted interactive lessons in 10-15 minute bursts.

Mentoring the Way to a More Inclusive Workplace #

The tenants of good mentorship align with those of an inclusive workplace. List realistic criteria on job postings and provide specific constructive feedback throughout the hiring process. Have clear and structured onboarding, learning groups, and formalized mentorship/sponsorship. Don’t forget: mentorship is a learned skill that must be honed.

Readability & Web #

Reading is a complex cognitive task. Around 10% of the global population has some degree of dyslexia. Improving readability for users with dyslexia helps everyone. Readability is about anything communicating meaningful information, including icons.

Fours C’s of readability

  • Continuity: reputation of the information until the endpoint
  • Conspicuity: beating easily seen or noticeable
  • Consistency: keeping the same wording along the way
  • Clarity: the message need to be clearly understandable

Building Afghanistan 2.0 with #AfghanGirlsCode #

An Unforgettable Developer Experience #

Everything we do is for the human being on the other side. There is a lot of value from making things more accessible. Make the process work for both novices and experts.

Friday #

Humane Design Patterns #

Considering the well-being of the user in your designs. Habit-forming products and sticky experiences might be bad for the people using them. Instead, align human goals and tech goals.

Resources

  • Abstract on Netflix
  • Humane by Design

Pedagogy in Pairing #

Scope the activity so that it lends itself to joint productive activity. Remove all distractions during the session (e.g. phones). Point to the source of information; don’t spoon feed. Ground your activity in areas that your partner already understands.

Accessibility as a Bridge Between Designers and Engineers #

We can communicate effectively only by speaking the same language: developers must understand design, and vice versa. Collaboration is key to an accessible product.

Resources

  • Accessibility Insights for Web
  • Vox Accessibility Guidelines

Teaching High School Computer Science #

There are differences between teaching high schoolers and junior developers, but there are also a lot of similarities. Try to direct the student towards self discovery. Help work them through failures with learning in mind. GitHub pages provided a great experience with quick feedback.

Resources

  • TEALS
  • Pitt TLI Summer Program

Oops I Guess We’re Full-stack Developers Now #

Certain tasks have shifted from the backend of the application to the front. There is a divide between frontend developers who focus on the front of the frontend and those who focus on the back.

Building UX Teams #

Managers empower the team to realize its full potential. People have different skills, can work together, can learn, and can teach.

Proverbs 1:5 (SDG)

About the author

My name is Sean McPherson, and I am a software engineer interesed in all areas of front-end development. Here I write articles about programming for developers of all levels, and occassionally other topics.

Currently I work for Niche.com and live with my lovely family in Pittsburgh, PA.