Skip to content
View MagicShel's full-sized avatar

Block or report MagicShel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
MagicShel/README.md

Summary

About Me

Currently

I'm a software team lead with 30 years of experience. My current technical focus is on microservices with Java / Spring. I've also dabbled in .NET, NodeJS, a lot of front-end Javascript and CSS, though I'm a much bigger fan of TypeScript. I've largely stepped away from front-end and full-stack work to focus on architecture and back-end engineering. I'm also an AI enthusiast with plenty of experience on what works and what doesn't.

Experience

I've been a contractor/consultant for most of my career. I've worked with city governments, federal government/military, hospitals, manufacturing/industrial, retail, property management, financial/banking, construction, and probably some fields I've forgotten.

I started out with Lotus (later IBM) Notes and transitioned to X-Pages (JSF) and from there to Java, which has been my primary focus for about 20 years now. I'm primarily self-taught through books, blogs, conferences, YouTube videos, and simple experimentation.

Interests

Architecture & Design

I've worked with a lot of bad code. In my early days, it was often mine. I'd write something I thought was particularly good and then turn around and find myself burdened by the limitations, and it took me years to figure out why. I had to discover SOLID principles, dependency injection / inversion of control, immutability, functional programming (specificially the concept of pure functions), separation of concerns, design patterns and unit testing. This is an area where I'm continuing to expand my knowledge and experience. I've learned the importance of expressing and understanding architectural intent to avoid getting caught in anti-patterns.

Maintainability

I like to create and use code that is well documented and unit-tested. Naming of things is very difficult, but also very important. There is a lot of precedent and guidance on best-practices out there for anyone who goes looking, but few do. Code should be easy to read. Things should be done in consistent patterns where possible and documented when established patterns are poorly-suited. Where readability and performance are at odds, it is important to separate / abstract that complexity so that it doesn't need to be thoroughly understood by every developer who touches the code. Instead, that complexity should be walled-off and well documented.

Usability

My goal with software is to make a product that considers the needs of all users, not just managers and analytics. That means a good UX that doesn't require unnecessary steps to navigate. I means fast response times so users aren't watching a spinner while the sevice is overloaded. And importantly, it's not just a front-end consideration.

Just like user-facing applications must be useable, so with APIs and contracts. Limit the ways complexity can be interfaced with so that it can't be misused.

Popular repositories Loading

  1. aid-simple-context aid-simple-context Public

    Forked from OnePunchVAM/aid-simple-context

    A simple set of commands to manage three levels of modified context and link world info where necessary.

    JavaScript 10

  2. novel-ai novel-ai Public

    Scenarios, templates, and tools for NovelAI

    6

  3. AID-Scripts AID-Scripts Public

    Scripts for AI Dungeon

    JavaScript 5

  4. MagicShel MagicShel Public

    Config files for my GitHub profile.

  5. public-api-lists public-api-lists Public

    Forked from public-api-lists/public-api-lists

    A collective list of free APIs for use in software and web development ๐Ÿš€

  6. regex-tips regex-tips Public

    Regex tips and tricks I've found helpful