A Brief Introduction

George Jordan

Software Developer

Hi, my name is George Jordan. I am an American Software developer based out of Washington DC, who focuses on full stack website development.

I made this website from scratch to showcase my skills, but also a how-to for anyone who wants to learn some web development.

I used Typescript, React, and Node for the frondend; Java with springboot for the backend, and postgress for the Database. The site is being hosted on AWS servers.

Go to Detailed Resume
Decorative flowers illustration

My Main Stack

TLDR

Developer working at computer

Frontend

I build responsive, secure, and modern web interfaces using cutting-edge frameworks like React-Next.js and React Native, optimizing for performance, accessibility, and user experience across devices. Languages I use include React, Next.js, React Native, Tailwind, SCSS, HTML, SCSS, Liquid, and Swift.

Backend

I develop scalable and secure backend services that comply with modern cybersecurity standards, with a focus on maintainability and integration with complex systems. Tools I use include Java, PHP, Python, Go, .NET, and containerized services on AWS EC2.

API Calls

I create APIs to connect frontends to backendends seamlessly, using the latest practices for data handling, security, and modular service design. I work with Axios, REST APIs, Firebase, Node.js, and authentication protocols like OAuth 2.0, JWT, and API keys

Database Design

I design efficient and reliable database schemas tailored to application needs and maintain legacy structures with modern improvements. I work with MariaDB, SQL, NoSQL (Firestore), SAP, and manage deployment via AWS EC2 and GitHub.

Why Hire an Experienced Deveveloper Like Me ?

Whilst developing software, there are many obstacles one will face such as

  1. Debugging complex issues
  2. Designing scalable architecture
  3. Understanding Older Code
  4. Estimating Task Duration
  5. Avoiding Overengineering
Challenges in software development
Overcoming development challenges

The best way to overcome these challenges is through hands-on experience. I've encountered them time and again, and over time, I've learned how to navigate them effectively. Here are a few insights I've picked up that are worth keeping in mind.

Debugging

Use breakpoints, logging, and isolate code blocks to narrow down the problem area quickly. Also always test your code!!

Designing Scalable Architecture

Favor modular, loosely coupled components and apply well-known design patterns to plan for growth.

Understanding Older Code

Start by understanding the inputs and outputs, then trace smaller functions before tackling the big picture.

Estimating Task Duration

Break tasks into smaller parts and reference similar past work to set realistic time frames. It’s always better to tell a client that a task will take more time than less time

Avoiding Overengineering

Focus on meeting the current requirements cleanly, and only abstract when duplication or complexity demands it.

Testimonials

"A valuable asset to a fast-paced environment with learning opportunities."

Jon DiBiasio, my manager at Fenway Health

"George has been instrumental in building our product from the ground up — architecting both the backend and frontend, hosting on AWS, and formalizing our overall development process."

Denisa Kim, CEO of Anteros Bio

"Super fun and I hope we can establish another business together in the future!"

Robin Jain, my partner at Azhar Apparel