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.