Want to learn more about Software Engineering, Career Advice, and code? Here is where I share my thoughts and expertise.


Why I Don't Like Take-Home Challenges
If you want to work in tech, there's a chance you will encounter a take-home challenge at some point in your career. A take-home challenge is a project that you will build in your free time. In this post, I explain why I don't like take-home challenges.


Standing Out LOUDER in the Technical Interview
If you want to stand out in the technical interview, you need to demonstrate not only your technical skills but also your communication and collaboration skills. You need to think LOUDER.


Building Your Brand - Writing For Yourself
Building your own brand means that you are in control of your audience and how your message is delivered. This is important as you grow your network and audience, so that you are capturing the intrinsic value of your hard work.


Melt of the Day: Brisket, Muenster, & Grilled Onions
You can't go wrong with brisket. This recipe uses Snow's BBQ, Texas Monthly's #1 Pick, and grilled onions for the perfect brisket and grilled cheese melt.


Lessons Learned in Freelancing
If you want to become a freelance web developer, these are the lessons that will help you have a great time working with clients and being effective.


How I Got My Dream Job, As a Self-Taught Software Engineer
You don't need a computer science degree to make it as a software engineer. This is my journey from freelance web development to my dream job.


How to Communicate as a Software Engineer
Software engineers spend all their time looking at code. However, software engineering is more than just programming. The reality is that technical ability will only take you so far, but communication will take you further.


Should I become a Web Developer?
Here's what you want to know about web development, whether it's a good career path, and when's the best time to break into the industry.


Search Engine Optimization - Essentials for Web Developers
Search Engine Optimization (SEO) can boost your page in search engines and boost your traffic. Every web developer should know about these basic optimizations.


Ask Me Anything: GraphQL
What questions would you like to ask a Software Engineer about GraphQL? Here's your chance to ask a Software Engineer about GraphQL.


Epic Reactions with React, MongoDB, and Next.JS
Reactions are an epic way to add engagement to your blog posts. Here's how you can add epic reactions using React, Next.JS, and MongoDB.


Hard to Read: Coding, with Communication
Whether code is hard to read or not, is a matter of familiarity and accessibility to the codebase. Developers often forget about the latter when debating it.


Optimize SVG images for the Web
SVG graphics are great for creating faster web applications. Optimize your SVG vector images to make your web app more responsive.


How to Write a Software Engineer Resume
If you're looking to land that next software engineer role, then here is what you need to know to make your resume stand out from the rest.


The Minimum Viable Product (MVP)
In product development, a Minimum Viable Product (MVP) is a version of a product with enough features to attract an audience and validate a hypothesis.


JavaScript ES6 Symbols: A Metaprogramming Primitive
JavaScript Symbols are a primitive data type with unique values. They can be used as identifiers or as properties that don't overlap with other libraries or modules.


Ask Me Anything: Career Development
I'm a software engineer with over 15 years of experience freelancing, contracting, and corporate development. Ask me anything about career development.


Ask Me Anything: Front-End Edition
What questions do you want to ask a Software Engineer about Frontend Web Development? I will try to answer your questions to help you get started.


When do I need a CSS Framework?
A CSS framework gives web developers the presets to handle layout, forms, buttons, theming, and common interface patterns.


Making Your Own Ice Cream at Home
Homemade ice cream will rock your world - it's fresher than store-bought and you can make it your own. Here is all you need to get started and make your own.


Color Theory: Accessible Complementary Colors
Complementary colors feel vibrant and make things on the page pop. Luckily, there are tools out there we can use to generate accessible, complementary colors.


Improve Text Contrast with Chrome's Color Picker
Text color contrast is how we see words on a webpage against the background. Here is what I learned while trying to optimize text accessibility on my website.


Animated CSS Border Gradients
CSS Gradient Borders are possible with this one technique. You can even create CSS gradient border animations with a little CSS magic.


How I Migrated to JAMStack: Next.JS, Vercel, and Contentful.
I've recently taken the plunge on JAMStack, using Next.JS, Vercel, and Contentful. Here's what you want to know if you're considering migrating your web app.


Supercharge your code with AST: Abstract Syntax Trees
Abstract Syntax Trees (AST) is how programming language parsers understand our code. AST and codemods let us supercharge our source code and refactor with ease.


Safari webkit-text-fill-color does not render in Flexbox
Using -webkit-text-fill-color can create a knockout text effect, and render a gradient as text color. Consider this edge case with Flexbox and knockout text.


Framer motion useViewportScroll when element is in viewport
Framer motion `useViewportScroll` can create a parallax effect as the page scrolls. Here's how to scroll when an element is in the viewport area.


Framer Motion useViewportScroll 100% height parallax bug
Framer motion has a great method (useViewportScroll) for creating a parallax scrolling effect. If your parallax is not scrolling, here's what you need to know.


Outrun (Song)
This was a fun weekend project using GarageBand. The drumming is all done automatically by GarageBand's tools, with some customizations for the bridge, verse, and chorus.


Render Less React @ React Boston 2018
Rendering takes time: mutating the DOM, calculating styles, and applying the layout. This presentation will give you a high level overview of virtualized rendering, and how to render massive layouts with performance in mind.


You Don't Want To Work From Home
Working from home is romanticized and we're told it's the next best thing to retirement. After ten years, I'm telling you otherwise.


GraphQL Resolvers: the Injector Pattern
Resolvers are most often flat functions that take arguments and return a shape of data. Sound familiar? Think of them as controllers or directives in Angular. They need to return a specific shape that matches what the schema expects.


Testing GraphQL in 3 minutes
Testing your GraphQL server can help you sleep at night. Here are some snippets and recommendations for testing your GraphQL server, schema, and resolvers.


Structuring Schema with Apollo Server
Building a schema with the schema definition language just feels right and works well across different platforms.
Test your DOM Markup with Data Attributes
It's no secret: we don't write enough unit tests and we neglect them. Here is how data attributes can make your tests more stable and give you peace of mind.