Salut, I'm Julia.
✍🏼 Blog posts on my experience as a software engineer
I'm trying to solidify my learnings and help others at the same time by writing these short blog posts. I generally write about problems I come across and how I solved them. I'll occassionally also write about my personal experiences of navigating my career as a software engineer. If you spot an error, or have any comments, suggestions or questions about what I've written, contact me on Twitter @bionicjulia, Instagram, or email hello at bionicjulia.com. I'd love to hear from you. 🤓
P.S. I'm thinking of starting a newsletter where I'll send through my latest articles, books read and other interesting things I come across. Interested? Sign up here. If I get more than 10 subscribers, I'll kick it off! 🙃
- Creating a React Component That Fades Changing Words In and Out - Using simple CSS and the useEffect hook
- Creating a React Accordion Component Using Just CSS - A follow-on post for those not using TailwindCSS
- Using AMP Images in NextJS - How to optimise your image resources
- Moving From React to React Native - What I wish I knew when first making the move (extended version)
- Github Actions Workflow For a React Native App - Covering linting, testing, build and deployment via Fastlane
- Intermediate Typescript - Conditional types, indexed access and mapped types
- Improving Lighthouse Scores For bionicjulia.com - Focusing on performance and accessibility scores
- Accessibility Tips For Web Development - A quick cheat sheet that covers the basics of making accessible web sites and apps
- Creating a Sentry Logging Module to Set Context in a React Native App - Using Sentry’s setContext and useScope methods
- Setting Up React Native Jest Tests With Higher Order Components - Working with React Navigator, Redux Toolkit, Theme Providers and Safe Area Context
- Eloquent JavaScript - Notes on JavaScript fundamentals
- React Formik and Yup Troubleshooting Tips - Getting validation to work and accessing formikProps
- A Guide For New Programmers (Part 3) - What I’d do if I was starting out today
- A Guide For New Programmers (Part 2) - How I learn new things and continue levelling up
- A Guide For New Programmers (Part 1) - Where to start and how to keep progressing
- Django REST Framework - A beginner's guide to setting up a new Django project for serving up a REST API
- Implementing RTK Query in a React Native App - Setting up query and mutation endpoints, with a bit of Jest testing
- Ensuring Content Stays Within a Mobile Device's Safe Area - Using the react-native-safe-area-context package
- Biometric Authentication in React Native With Expo - How to authenticate with facial recognition, fingerprint or iris recognition
- Writing Jest Tests For a Redux Toolkit Slice - Including asynchronous and synchronous actions
- Filtering SQL Left Outer Join Queries - To help solve a N+1 problem
- Creating a Full Screen Pressable Overlay From a Bottom Tab Navigator in React Native - That works with Android
- Upgrading a React Native App - Strategies and tips for getting your first upgrade working
- Progressive Web App (PWA) in Next.js - Creating a PWA using next-pwa with offline support
- Structuring Pull Requests - As a way of improving code quality and speeding up review times
- React Native ScrollView Gotchas - A couple of small issues to do with nesting ScrollViews
- Override Part of an Existing Type in Typescript - Changing part of an existing type or interface
- Deeper Dive Into React useMemo - When to use and not use React's useMemo
- Deeper Dive Into React.memo - When to use and not use React.memo
- React.memo and useMemo - What's the Difference? - What are they and when to use these for performance improvements
- Creating Dynamic Tag Pages With NextJS Nested Routes - How to automatically create individual tag pages for a NextJS blog
- iOS Screen Reader "Gotcha" In React Native - Quick tip when working with Touchable components
- How To Add Search Functionality to a NextJS Markdown Blog (Part 2) - Adding a search input field that renders a dynamic list of results as a user types
- Going From Open-Source To Private - Making the tough decision to no longer become an open-source app
- Some lesser known TypeScript notation - Exclamation mark notation and casting as "unknown"
- How To Add A Sticky Footer To The React Native Modal - Complete with a linear gradient and styling alignments
- React Native Touchable Components and Web Page Embeds - When to use Pressable vs. TouchableOpacity or Web Views vs Web links
- Component Lifecycles with React Navigation in React Native - How to refresh an API call when a user navigates back in a stack
- How To Add Search Functionality to a NextJS Markdown Blog (Part 1) - Implementing an internal API for searching through markdown blog posts
- Transitioning from React to React Native - 3 things I learnt this week
- Integrating Webmentions Into NextJS Blog - Verifying with Twitter as an example
- Chrome Devtools - Going beyond the Elements tab
- Using Typescript Unions With Never and Extends - To define conditional required component props
- Setting up virtual environments for Python repos - What is pyenv, venv and virtualenv?
- Setting up a NextJS Markdown Blog with Typescript - With syntax highlighting and the ability to easily add more blogs
- Creating an Accordion Component in React with Typescript and TailwindCSS - Using useState and useRef hooks
- How To Clear a Redux Toolkit State That's Using redux-persist With Typescript - Setting up the reducer function and action you need to completely clear local storage
- How I Got 4 Software Developer Job Offers In 4 Weeks - Despite not having worked as a formal software developer before
- Creating a Copy to Clipboard Button in React - With an animated copy success state for user feedback
- Rendering Variable React Components - Displaying different named components based on logic
- Deriving a Typescript Union Type From an Array or Object - Using as const from Typescript 3.4
- Generating a Yup Validation Object with a Map Function - Dynamically create a validation schema from an array of objects
- Yup Validation for Date and Time With MomentJS - Exploring Yup's .test() check with MomentJS
- Generating Multiple React useState Hooks For Multiple State Variables - How to generate them automatically from an object
- HTML Time Input Field - Catering for Safari and Internet Explorer
- SQL Window Functions: Using Dense Rank Over Partition By - Building up to a window function query step by step
- Using SQL to Flatten a Database Table - Learning the basic SQL commands
- Sentry Cross-Origin Frame Error - Seen only in the Facebook browser
- Axios Wrappers in React Typescript - Why an abstraction upon an abstraction might be useful
- How To Run AB Tests In React - 4 options I came across
- Fighting Imposters Syndrome As A Software Engineer - 3 months into my new role