Devs for Ukraine Conference
On the early mornings of 26th and 27th April (4am NZ time) members of the developer teams from Abletech and Addressfinder attended the Devs For Ukraine Conference, a free, online engineering conference with the goal to raise funds and provide support to Ukraine.
The situation in Ukraine has been ongoing for many weeks now and as news unfolds of how people are impacted by the invasion, this was an opportunity show our support, learn something new, donate, and in some small way make a difference.
Starting out with a goal to raise $15K to be divided between 8 Non-Governmental Organisations and Humanitarian Funds, the total amount raised by the end of Day 2 was $102K.
If you are in a position to help financially, you can still make a donation here
This charity event was put together by a team of people at Remote, and featured speakers from across the globe.
If you were unable to attend the conference, we have provided links to the talks below, along with some reflections from the team on each talk.
MC Cassidy Williams @cassidoo (Head of DX and Education, Remote)
Motion detection and hand gestures, using TensorFlow JS and more
Charlie Gerard @devdevcharlie (Senior Developer Advocate, Stripe)
- Interesting thoughts about the future of gesture recognition and accessibility.
- Led to some thoughts about user gestures and how they could be used in mobile apps. (mobile OS already use them a bit, will they get more common in various apps?)
- Great to see how creative tech can be, and not just in the sense that we can use creativity to write good code, but also how we can use tech for creative outputs.
- This talk is very approachable and makes the whole process of setting up an Arduino device seem like a breeze. Go give it a go!
What we can expect when we want to measure performance in Chrome
Addy Osmani @addyosmani (Engineering Manager, Google Chrome)
Some cool tools that we want to try out for our own apps:
- DevTools Recorder (record, replay, measure user flows) - these can then be exported (?) into Cypress for automated testing.
- Perfetto UI - records Chrome browser performance traces
- Stack Packs - extension to Lighthouse (under development?) - adds guidance/stack-based recommendations for performance.
- Lighthouse TreeMap - visualise all unused/used dependencies.
- Cloudflare Early Hints preloads linked pages and allows using Brotli compression
- Clouudflare Workers can be used to test changes without making changes to the underlying page source
- Chrome Dev Tools Recorder can be used to record a test and export to your test tool or source control
“Frameworks with good defaults make a difference”
The basics of Reactive Programming
Ben Lesh @BenLesh (Rxjs project lead)
- This was a great talk and gave me the Aha moment of what reactive programming is all about. Thankyou @BenLesh
Some of the awesome features of Vue 3 that you might have missed before
Ben Hong @bencodezen (Senior Staff DX Engineer, Netlify & Vue.js Core Team)
- The talk was well presented and rolled out Vue’s API in a very clear, concise and understandable way.
The power of vue-query, and the reasonings behind using it
Natalia Tepluhina @N_Tephluhina (Staff Frontend Engineer, Gitlab & Vue.js Core Team)
- I have been using use_query for some time now, and this talk cleared up my understanding of its internals and API. I wish I had watched this earlier!
Cassidy Williams and Sara Vieira ask Dan Abramov questions from the developer community about React, the web, the future, and more
Dan Abramov @dan_abramov (React Team, Meta)
- Debugging is a great skill to have. Learn principles of debugging.
An incredible talk about data visualizations, Observable notebooks, and the very real impact of the invasion in Ukraine
Volodymyr Agafonkin @mourner (Engineer, Mapbox)
- This talk was really interesting. Super cool to see all the visualisations Volodymyr had made in Observable. Especially the one where he used mathematics and visualisation to determine the best way to reverse angle park his car.
- It was especially sobering, and added a human-aspect, to see the visualisations he had made with respect to living in Ukraine with the war. Volodymyr used visualisations of air raid sirens to help him decide when it was safe to return to Kyiv.
A punny talk about avoiding burnout, finding a balance at work... and HTTP status codes
Jessica Janiuk @ThePunderWoman (Angular Team, Google)
- Unlimited PTO does not help employee well-being - people take on average 13% less leave.
- Make it clear for people to take leave
- Separate home and work. If you are working from home, turn the lights off in your home office and return to home
- Take healthy long breaks
MC Tobi Pfeiffer @PragTob (Staff Engineer, Remote)
Some mind-blowing Ruby... to machine code
Aaron Patterson @tenderlove (Shopify)
- Did not know you could disassemble Ruby code
- I could not believe how good Aaron is at explaining highly technical concepts in a precise and understandable manner
Learn about factories and powerful elements of object-oriented programming in Ruby
Sandi Metz @sandimetz (Rubyist)
- Factories loosen coupling, lowers cost of change
- Consider using a Factory class to hide conditionals around building objects
- Understand the difference between open and closed factories, when to use them, and what to watch out for.
“If you don’t like it, don’t look”
“Factories are where conditionals go to die”
Founder and CEO Lilly talks about the highs and the lows of engineering, pivoting, and scaling as a small startup
Lilly Chen @lillydoingecon (Founder, Contenda)
- Writing code as fast as possible and equally fast in deleting it is what is required to identify product market fit
- Once you have product market fit the backlog for the product will grow quickly - as users will be getting value out of the product
- Make technology choices to suit the stage of the product. Eg “Chose DynamoDB as they didn’t know what the Database would look like” and “Didn’t use OpenAPI as they didn’t know what the API would look like.”
“You are probably overthinking architecture”
- Enjoyed the juxtaposition of the discussion on technical debt. “Some prototypes become products!” “Prototypes always become products once you hit product market fit”
“Sometimes the best code to write is no code at all”
Tetiana teaches us about Elixir, the learning curve, and helping your teams learn it
Tetiana Dushenkivska @Tetiana12345678 (Programmer & Creator of Elixircards and Gitcards)
- Useful tips for helping navigate the highs and lows that come with learning new skills
- Another sobering example of the realities of being a Ukranian during this invasion, Tetiana shared before and after images of the town square in the Ukrainian city of Kharkiv where she grew up
Patterns in Elixir and Phoenix to save your brain
Vittoria Bitton @vittoria_bitton (Senior Backend Engineer, Remote)
- Great to see that we use most of the patterns in our own Elixir services
Tobi Pfeiffer asks Elixir creator José Valim some burning questions from the community
José Valim @josevalim (Chief Adoption Officer, Dashbit & Creator of Elixir)
- Language decisions always have trade offs, small decisions and changes can have big flow on effects
- Elixir expanding feature set for Numerical computing, Data processing and Machine Learning (Nx and Broadway)
- Elixir now can be compiled for GPU (see use cases in Nx)
- Article incoming for dot notation
- Elixir being used all over place, even in embedded systems
The power of inclusion in open source and bringing others into the industry
Anjana Vakil @AnjanaVakil (Senior Developer Advocate, Hasura)
- Hasura is written in Haskell!
- Hasura Documentation is open source, with each page having a link to github. This helps the community to help the community, and builds a stronger community.
A shout out to the amazing job the organisers provided. It was incredible.