These days, I prefer to work in the React ecosystem, but I also have experience with AngularJS and Angular. I have also built and maintained complex state-management systems using Redux. I have a solid understanding of how to use React with Redux while auditing for performance issues and preventing unnecessary state changes and component re-renders.
I love writing CSS. I enjoy the challenge of taking a Sketch or Figma prototype and making it work dynamically in the browser, complete with responsive media queries. I'm a Flexbox whiz and I'm also learning how to get the most out of CSS Grid while maintaining compatibility with older browsers. I have extensive experience with SASS, PostCSS, and several CSS-in-JS libraries like Styled Components and JSS.
My primary focus is on the frontend, but I also have some backend experience in Node.js creating Express / Fastify web servers with REST / GraphQL APIs. In addition, I have worked with MongoDB and SQL databases and built in-memory cache systems with Redis for improved performance. I am also familiar with content-delivery networks, functions-as-a-service and JAMstack architecture principles. (By the way, this page is hosted on Netlify!)
I pride myself on my communication skills; I enjoy breaking down complex technical concepts using language and concepts catered for my audience, whether it's a colleague with years of software development experience or a business-focused product owner with no technical background.
I believe that the "10x Engineer" is a myth, so whenever I approach a new problem, I strive to include my colleagues' unique skills and perspectives in a collaborative, team-oriented approach. I think that everyone has something important to contribute, and everything we're able to accomplish today is only because we've been able to stand on the shoulders of giants. I also believe that learning is a never-ending process, especially in software development.
I think that practicing empathy is an important skill in the workplace. I strive to consider my colleagues' perspectives and feelings whenever I communicate with them, or when I am asked to make an important technical decision for a project that will have real-world ramifications for my team members. It's also important to me that my managers and business leaders have strong empathy skills — ideally, skills that are stronger than my own so that I can learn from them.
The software industry is currently overrepresented by white, heterosexual men. Whenever possible, I try to make strong connections with colleagues from underrepresented groups in my industry — women, people of color, LGBT+, and people with disabilities — and do everything I can to make sure their hard work is recognized and their voices are heard. It's important to me that my managers and business leaders share this mindset and work to make our industry more diverse and inclusive.
I authored a tutorial screencast for O'Reilly Media called Creating Custom Web Maps that can teach you how to use Leaflet, OpenStreetMap, and QGIS to create your own web maps that match the look and feel of your website.