Amy Kapernick
Senior front-end developer, Speaker, Mentor, Dog Lover
Perth, Australia
Actions
Amy is a business owner, senior developer, mentor and international conference speaker. She has a passion for sharing knowledge with the community with a focus on nurturing the next generation of developers. This has led to her organising and volunteering at events, running technical workshops, and writing and producing her own video content. She also regularly presents and keynotes at events all over the world, informing and entertaining audiences from a variety of industries and backgrounds.
A familiar face in the developer community Amy volunteers her time with several groups, including DDD Perth as Vice Chair and Director of Conference Content, Perth Azure User Group as one of the organising team and She Codes as a regular mentor. These contributions are not unnoticed, as she’s been recognised as a Microsoft MVP and a Twilio Champion since 2019 for her contributions to the tech community and ongoing commitment to helping those around her.
Links
Area of Expertise
Topics
Accessibility by Everyone (and for Everyone)
In a world where technology use is becoming a necessity rather than a shiny toy, gone are the days where a household didn’t even own a computer, instead everyone over the age of 5 is expected to have at minimum a smart phone or tablet.
But as we build the digital tools that people need for their day-to-day, we can accidentally put barriers in the way of those with disabilities, preventing them from using the tools, preventing them from being a part of our technology dependent society.
Not everyone uses technology the same way, which is why making sure we’re building accessible technologies is so important, why we need to ensure that **everyone** can use it, even in ways that are different from how we expect.
Join me as we look at how we can make our technologies more accessible, who benefits (spoiler alert, it’s everyone) and why it’s everyone’s responsibility to make this possible and not just “someone else’s job”.
The Importance of Specialists in a World of Generalists
We've heard a lot lately about the full stack developer, the ultimate generalist who can solve any problem solo, irrespective of the complexity of technologies involved. But with all this hype surrounding the idea of mastering everything, are we ignoring the importance of specialisation?
We may visit a GP regularly, but for more complex issues we want to speak to a specialist. We don't get our family accountant to audit the books for a large company, and we don't take a Lamborghini to our local mechanic. We are constantly choosing to consult specialists, people who are experts in their field, so why don't we attribute the same to developer specialisations?
Let us show you why we need to appreciate the importance of celebrating inclusive developer ideas, and understand why being a full stack developer might be the ultimate career decision for some, it's far from the only one.
How to Manage your Ducks: Being a More Sustainable You
Ever feel like everything's a struggle? Like you're constantly overwhelmed by life? While we can endure it and pull through, this is hardly sustainable. Sometimes, it's just too ducking hard.
We've all been there. Thankfully, there are simple things you can do to not only reduce the stress factors, but sometimes eliminate them altogether.
Join me to learn about setting (and sticking) to your boundaries, identifying which worries help and which ones harm, and most importantly, how to manage your ducks. These are personally vetted, tried and tested steps for being a more sustainable you.
Your website does not need JavaScript
When we build a website these days, there’s a 110% chance that it’s got some form of JavaScript on it. Whether it’s a full framework, for animations, to trigger a popup or as a tracking script, JavaScript is all around us.
But what if I told you that you didn’t have to use JavaScript at all? Not even as a build process? Thanks to updates in browser technologies, there’s now a plethora of native browser features that allow building modern, functional websites, sans JavaScript.
So together, we’ll build out a *completely* static website, a collection of HTML and CSS files, no tracking, no scripting, no servers, no third-party resources. Let’s build a website the way we used to (but no marquees).
What's new with CSS?
With the speed that everything is changing, it’s easy to miss new advances or changes in technology, especially if it’s in a language that you don’t use on a daily basis.
So would it shock you to know how many new features have come to CSS in recent years? Now you can style an element based on how big it’s parent is, or based on what child elements you have, or change the page layout depending on if someone’s native language reads left-to-right, right-to-left or top-to-bottom!
Gone are the days we have to say “Sorry, CSS can’t do that” or reach for 52 different libraries to have something according to the design*. So join me as we tour the new world of CSS and play with the shiny new specs.
**Disclaimer: you’ll still need a library to style a select field, sorry. But pretty much everything else is possible now!
Front End Testing with GitHub Actions
While testing is important, we’d much prefer if we didn’t have to think about it, if it just happened like magic. We know we have to write tests to make sure the buttons can be clicked, the data can be received and the page continues to look the way it should, but once the tests are written, are they actually being run?
We’ve been integrating our end to end tests to ensure they run on every commit or every pull request, but front end tests require a live version of our website to run tests, you can read CSS code in a pull request but that doesn’t tell you if it’s affecting the website the way you intended it to. Thankfully GitHub Actions makes it easy to fix this, to get a live version of our website and run our front end tests against it *before* the code gets merged and deployed.
Together we’ll build out an action workflow (that can be integrated with your existing end to end tests if you’ve got them), write some front end tests and put together a bulletproof continuous deployment pipeline.
Bringing the WOW to the web
When building a website from a design we’re tasked with taking a static design and turning it into a living, breathing, responsive website. Think about some of the most impressive websites you’ve seen, were they static content or did the site interact with you as you navigate around the page?
We often don’t put enough emphasis on these finer points, considering them “nice-to-haves” or “gimmicks”, and forgetting the difference they can make to the experience our users can have. These touches don’t have to involve heavy animation libraries either, they can be added with a few lines of CSS and occasionally a small script that runs after the page is loaded.
Once all is said and done, we’re generally moving on to testing and launching and we forget to focus on the little touches that make our website special. It might be as simple as adding some hover effects, or using CSS animations to bring life to the page.
So let’s spend some time on the finer points. On transitions, and micro-animations; on what should be designed and built to take our websites and make them wow!
Modern Front End Fundamentals
What does a modern front end actually look like? It’s one that built using semantic HTML, the layouts are built with modern CSS and no frameworks, is accessible to all users no matter their abilities or how they consume the site and all this is backed up with a completely automated testing pipeline to ensure code changes only affect what we intended.
Unless you’re working in the front end on a daily basis, it’s hard to keep up to date and ensure that your front end is still modern. This hands on workshop covers modern front end fundamentals, enabling you to create a layout and components without the need for any third party code. You learn core accessibility concepts to make your project more accessible without having to write complex code, take shortcuts or deal with browser specific implementations.
Once that is done, we then move on to testing our application, making sure that our accessibility improvements are there, watching for any unintended changes and making sure that the application works as it’s supposed to. Through automated tools that can be implemented as part of a deployment pipeline, to manual tools to check on the fly, there are plenty of options to ensure the front end is being tested as thoroughly as the back end.
After the tests are written, we’ll then integrate them as part of an approval and deployment pipeline. Automating the tests for pull requests, running through GitHub actions and ensuring that code is fully tested before it reaches the production branch of your repo.
How to Build a Quokkabot
Quokkas are the happiest animal in Australia that surprisingly isn't trying to kill you. But can you really be sure that what you're looking at is a Quokka and not something more dangerous?
Let's look at how we can build a quokka identifying chatbot, combining Twilio's WhatsApp, MMS and SendGrid APIs with machine learning based image detection powered by Microsoft's Custom Vision API.
Join me as we learn how to train and then link up an ML model across multiple communication channels to create an engaging, accessible chatbot. And of course lots of photos of quokkas.
Front End Web Fundamentals - CSS Layouts
Where is the border between frontend and backend web development? Yeah, exactly. It is becoming increasingly common for developers to work in both areas, yet only have the skillset for one. This often results in relying on third party frameworks or components like Bootstrap to pull a layout together, further weighing down the application with unnecessary code libraries and resulting technical debt.
This hands-on workshop covers modern front end fundamentals, enabling you to create a layout and components without the need for any third party code. Touching on the various layout specs, including Flexbox, CSS Grid and when to use floats and tables (yes there is a time and place for these).
CSS Grid - What is this Magic?!
We've all heard a lot in the last year about a new advancement in the world of CSS, called CSS Grid. Starting at whispers, we're now starting to hear it as a deafening roar as more developers write about it, talk about it and start using it. In the world of front end, I see it everywhere I turn, but what does it mean for non front end developers and why should you care about it?
The reason CSS Grid is gaining so much attention is because it's a game changer for layouts. No longer do you have to fight for hours to align things properly on the page (eventually turning to Bootstrap), with a few simple lines of code we can now create dynamic and responsive layouts. While a lot of people are calling this the new "table layout", CSS Grid gives us so much more (and is easier to use).
While there is so much to worry about when developing an app, CSS Grid means that you can worry less about building the layout on the front end, and more about making sure the back end works well. Let me show you how the magic works.
The Art of Failure
Failure has a lot of negative connotations and is something we actively try to avoid. But failure is an important part of life, we need to change our relationship with failure and embrace it, rather than avoid it.
We are faced with failure every day, it gives us a chance to learn from our mistakes, to reassess the situation and try again. Just as we claim ‘bugs’ are ‘undocumented features’, we can re-brand ‘failures’ as ‘learning opportunities’ and take the chance to make ourselves better.
In my life, I’ve had my fair share of failure. Some are just a slight blip, while others can be a little soul destroying. But the common factor from all these failures is that I’ve learnt from each and every one of them.
One of the reasons I’ve been able to bounce back from these failures is that I’m also prepared to fail. This doesn’t mean sitting around and expecting that you’re going to fail but being prepared is always a good step to take; having a ‘just in case’.
I’ve already learnt from my failures, now you can learn from them as well. Let’s stop being afraid of failure and learn to take a chance, give it a go so that you can learn something new. The only way you truly fail, is if you fail to try.
So you think you know HTML?
When we begin learning about building the web, HTML is the best place to start. HTML is used in every website there is and gives us elements to use with other languages like CSS and JavaScript. We've all learnt HTML and know how to use it right?
But the truth is, we often don't finish learning HTML, and it's not something we go back to down the track. Once you've covered divs and spans, is there really any more to learn? How often do you hear someone say that they're going to brush up on their HTML before they can start on something else?
Semantically correct elements not only help you to make sure your code is structured properly, it can help reduce the need for extra styles that the browser might include automatically. Writing semantically correct code also makes your site more accessible to people using assistive technologies as the tool knows what to expect from certain elements.
So let's go back to the beginning, back to where we started, and let me reveal how to achieve more from your HTML.
How to Build an Inaccessible App
Accessibility is a word often thrown around, but what does it actually mean? As framework starters (like Create React App) start including accessibility testing plugins in their out of the box tests and fill our consoles with warnings, we're starting to see more people include `aria` attributes, and make sure their images have alt tags, but is this really helping?
While it's tempting to do whatever it takes to stop the warnings, there are times when the recommendations aren't clear and lead you to including un-needed code or even making the application unusable!
Let me show you how to decipher these warnings, and how to make sure you're not actually making your app more complex and less accessible than it needs to be. Find out what tools you can use to include accessibility in your existing testing and what you really need to be doing with your code to make sure you're building a good experience for all users.
Wait, I have to test the front end too?
Testing is important right? Your project can't be run unless all your unit and integration tests are written (and pass), but are you also testing the front end?
There are so many different tests we need to be running on the front end - accessibility testing, performance testing, user testing, HTML validation, visual regression testing - it's hard to work out what you need to test for and how to set it up.
Join me to learn about the different types of front end tests and find out where you need to use them, while I show you how to set them up in a live example application.
DDD Adelaide 2024 Sessionize Event
Copenhagen Developers Festival 2024 Sessionize Event
NDC Oslo 2024 Sessionize Event
DDD Melbourne 2024 Sessionize Event
NDC Sydney 2024 Sessionize Event
NDC London 2024 Sessionize Event
NDC Porto 2023 Sessionize Event
Copenhagen Developers Festival 2023 Sessionize Event
NDC Oslo 2023 Sessionize Event
NDC London 2023 Sessionize Event
Build Stuff 2022 Lithuania Sessionize Event
NDC Sydney 2022 Sessionize Event
NDC Oslo 2022 Sessionize Event
DDD Perth 2022 Sessionize Event
NDC Melbourne 2022 Sessionize Event
Build Stuff 2020 Lithuania Sessionize Event
.NET DeveloperDays 2020 Sessionize Event
NDC Sydney 2020 Sessionize Event
NDC Melbourne 2020 - Online Workshop Event Sessionize Event
NE RPC Sessionize Event
NDC Oslo 2020 Sessionize Event
Microsoft 365 May 2020 Sessionize Event
NDC Porto 2020 Sessionize Event
Global AI Community - On virtual tour Sessionize Event
NDC London 2020 Sessionize Event
DDD Brisbane Sessionize Event
DDD Adelaide 2019 Sessionize Event
NDC Sydney 2019 Sessionize Event
DDD Perth 2019 Sessionize Event
NDC Oslo 2019 Sessionize Event
NDC Minnesota 2019 Sessionize Event
NDC London 2019 Sessionize Event
Amy Kapernick
Senior front-end developer, Speaker, Mentor, Dog Lover
Perth, Australia
Links
Actions
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top