Consulting


Proficiencies


  • React JS: I have been working with React JS for nearly 3 years and consider myself a specialist. It was the first thing I picked up when I began my web development journey and I continue to work with it daily in my full time job. I always have my ear to the ground and keep up with modern best practices.
  • Redux: Add Redux to your project or leverage existing infrastructure. I have implemented redux patterns in large, complex applications.
  • AWS Services: With Serverless being all the rage, I've taken it upon myself to become familiar with AWS's more common services like Congnito, Lambda, and Amplify
  • Layouts: Responsive layouts, mobile first design, drawers, toolbars, CSS, styling.
  • Styling: I have experience with styled-components, CSS in JS, and SASS
  • Forms: Wiring up and validation of user forms and inputs (using formik and yup libraries).
  • Routing: Single page application design patterns using react-router.
  • GraphQL: Have a GraphQL backend? I am experienced with Apollo Client, writing Queries and Mutations.
  • Data Modeling: Schema driven development.

Bonus Features


On top of my technical expertise, there are some other reasons why you might want to consider working with me.

  • Communication: I communicate efficiently. What some might need 5 sentences to say, I can get across in 2. Great with analogies for bridging the understanding gaps that occur from time to time, and identifying when I have been understood.
  • Professionalism: Customer service jobs during my formative years have helped me cultivate professional decorum.
  • Sense of Humor: While I approach all things technical with the utmost objectivity, I relish the opportunity to inject levity into any situation.

Tutoring

If you're just getting started with React it's easy to get stuck. Literally one missing comma can bring your development to a standstill. I provide 1-on-1 tutoring to keep you moving forward. We can meet in person (in or around San Francisco, CA) or via video-conference/screen-share.


Beginner Topics


  • React Syntax, "JSX": Similar in appearance to basic HTML, but with more robust feature set.
  • Modern (ES6) JavaScript: It's important to remember that React is JavaScript and having a basic understanding of vanilla JavaScript syntax, patterns, and functions is crucial to your effectiveness.
  • State Management: Handling data within your application and basic state management best practices are foundational ReactJS knowledge.

Intermediate Topics


  • Redux Integration: Redux is the gold standard library for global state management in React applications. There are many derivatives, but understanding Redux goes a long way to understanding global state management design patterns. Redux is useful for more complex applications where data must be shared across many different components.
  • Project Architecture: intermediate and advanced projects, with their multiple files, can become unruly. It's important to follow a methodology that helps you keep track of what's going on.
  • External Data: Inevitably you're going to need to retrieve information from the internet to display in your app.

Advanced Topics


  • The Backend: Most applications needs to persist data between sessions, understanding this flow of information can make you a better Frontend Developer.
  • GraphQL: You've probably heard of RESTful API's. GraphQL is a more modern version of querying data that has some great advantages over REST. Learning to use understand it puts powerful Full Stack development patters within your grasp.
  • Data Modeling: Fail to plan, plan to fail. Before you get to work on a full stack application, you should plan out what types of data objects you will need for you app to function. (i.e. an Email will consist of a "title", "body", "composer", and "recipient" properties )
;