Speaker

Sandi Barr

Sandi Barr

Front-end Architect

Omaha, Nebraska, United States

Actions

Sandi Barr is a Front-end Architect at RAZR Marketing where she collaborates with teams of engineers building Angular applications in an Nx monorepo. As a contributor to Angular ESLint, Sandi has made several improvements and additions to the accessibility rule set. Outside of life behind a keyboard, Sandi would almost always rather be out riding one of her electric unicycles, skateboards, or e-bike.

Area of Expertise

  • Information & Communications Technology

Topics

  • RxJS
  • Angular
  • Accessibility
  • NgRx
  • Architecture
  • TypeScript
  • Design Thinking

Design Thinking for Inclusive Collaboration

It’s been shown that diverse teams result in better products and outcomes. Design Thinking helps us challenge assumptions in our work, and it also puts us in a position to evaluate who is and how we are doing the work.

How can Design Thinking help us build more collaborative and inclusive teams? The process involves seeking out diverse perspectives to better understand user needs. This reduces the impact of our cognitive biases, which then also helps to find alignment across differences and leads to more creative solutions. It changes the conversation by reframing the problem around user-driven criteria. Design Thinking involves and values all team members throughout the process and results in building the best solution for our users. As we walk through the process step-by-step, attendees will gain insights they can leverage to introduce a design thinking mindset within their organization and learn how it can be used as a tool to collaborate effectively within and across teams.

NgRx: Redux-style State Management in Angular

Functional Reactive Programming is an idea that applications can be built around streams of events happening over time. The structure TypeScript imposes provides a declarative syntax that gives semantic meaning to the streams we use to build application state. Type systems can also feel cumbersome and in the way, but we can cut through the boilerplate required using NgRx.

We’ve heard that using TypeScript can help us avoid painful bugs programmers commonly run into when writing JavaScript by type-checking our code. One of purposes of TypeScript is to “statically identify constructs that are likely to be errors”. With NgRx we can take advantage of this type safety by using TypeScript classes as action creators with readonly type properties, so we can then infer the action object types in our state management code.

NgRx provides a structuring mechanism for larger applications; it’s a design pattern teaches you how to think. In this pattern, the developer needs to identify the streams of values the application is interested in and how they are combined to produce meaningful information for the view layer. The streams, the various applications states, and the view layer models are what we are setting out to define when we use Redux-style state management. This talk will show how to use the various NgRx reactive libraries for Angular state management to build out our application streams and then consume them in our components and services.

Angular and The Case for RxJS

When choosing Angular to build a front end app, it can seem like RxJS is just one more thing to learn, and there’s no easy transition coming from another framework. But RxJS is efficient and expressive! We declare relationships between entities, describing the what not the how. The basic sequence operators, map, filter, and reduce, are probably familiar from using them in array chains. RxJS is a core part of the Angular framework used in everything from Reactive Forms to the HTTP module. Harnessing observables with Angular’s async pipe is essential to building clean and concise components. Developers can overcome the RxJS learning curve by focussing on core concepts like hot vs cold observables, piping operations, and a few of the most common operators.

Automating Accessibility Assurance

Assemble a comprehensive toolkit for automated accessibility testing of web applications using tools and libraries that have already been widely adopted and supported by the open source community.
- Configure your codebase with ESLint accessibility rules to get feedback directly in the code and fix issues early in development.
- Write tests with Testing Library to interact with applications the same way a user would, including users of assistive technologies.
- Run a full set of automated checks against your running application by including the Axe-core accessibility engine in your e2e tests.
Incorporate these tools into your development process using automated checks in your continuous integration pipeline at each stage of development and release to ensure your applications are accessible to all users.

Copenhagen Developers Festival 2023 Sessionize Event

August 2023 Copenhagen, Denmark

KCDC 2023 Sessionize Event

June 2023 Kansas City, Missouri, United States

Connectaha 2023 Sessionize Event

April 2023 Omaha, Nebraska, United States

NDC London 2020 Sessionize Event

January 2020 London, United Kingdom

CodeMash 2020 Sessionize Event

January 2020 Sandusky, Ohio, United States

Music City Tech 2019 Sessionize Event

September 2019 Nashville, Tennessee, United States

KCDC 2019 Sessionize Event

July 2019 Kansas City, Missouri, United States

CodeStock 2019 Sessionize Event

April 2019 Knoxville, Tennessee, United States

dev up Conference 2018 Sessionize Event

October 2018 St. Louis, Missouri, United States

KCDC 2018 Sessionize Event

July 2018

Sandi Barr

Front-end Architect

Omaha, Nebraska, United States

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