Solved by Code

atomicEssay

If you want predictable, consistent performance (with single-digit ms response times) for your relational data model, you need to think differently. Start learning with these 3 resources.

Read more...

You can't improve what you don't track.

When I'm giving demos to or pairing with other devs, they inevitably ask how I put together my workflows and tooling. It, usually, appears smooth and effective. Everything from mnemonic shortcuts in my terminal to instantly opening the AWS console to the right account.

Read more...

If you want to learn DynamoDB, you need a video that makes you 🤯. Here's my reco for the best one on the topic.

Read more...

To DynamoDB or not to DynamoDB. That is the question. Here's 3 more questions to ask (and make a decision).

Read more...

If you want to grow as a developer, remember the abc's: Always Be Coding

Read more...

Sometimes the best way to stop procrastinating is to remove the excuses.

Read more...

There’s a reason “How do I exit Vim?” has been viewed 2.7M times on StackOverflow.

Read more...

Vim is the most impactful development tool I use.

Don't worry, I'm not looking for a Vim vs Emacs comments war (it would be a slaughter anyway 😆). I know full well how productive other editors can be. There was even a time I played rockstar coder armed with Visual Studio and Resharper.

To each their own. But for me, the right choice is Vim and its variants.

If you've never given it consideration, here's a few of the reasons I think it's amazing:

Less memorizing, more mnemonics

By most measures, I'm a keyboard junkie. But even I forgot if that shortcut was ⌘-⌥-S or ⌃-⌘-S. Vim let's me skip the modifiers and focus on mnemonics.

Go to References is simply gr with my cursor on a symbol. Easy peasy.

Your hands and wrists will thank you

Years ago I had brutally painful, early carpal tunnel.

Turns out, modifier keys, even remapped to better locations, are not my friend. The stretching of the fingers caused too much stress. Since switching to Vim, this is gone.

I hardly ever need a modifier beyond the Control key, and with that mapped to Capslock, there's no stretch needed. It took many hours of wrist, forearm, and grip training (thanks deadlifts) to recover.

A Vim a day keeps the Carpal away.

Most of our time is spent reading and navigating code.

Modal editing is natural and very powerful. But it isn't something that can be explained, only experienced. Give it a couple weeks and you'll love it ... or hate it. But you'll understand either way.

As simple or complex as you want

Zero plugins, or over-powered-IDE, Vim has you covered.

Integrate an LSP server and you have all the power of VSCode. Add as many features and snippets as your heart desires.

Or don't. It'll still be an exceptionally lightweight, powerful editor.

Opens the door for the best remote pairing tool available

This is a topic for another day, but once you're living in Vim-land, you gain access to the best remote pairing solution I've ever used.

And pairing remotely is one of the most important level-ups a remote working software developer can do.

Long story short, Vim is awesome. Give it a chance, just take it slow. There's a lot of power in there.

This Day 15 #ship30for30 #atomicEssay was shipped with this tweet:


Thanks for reading. If you enjoyed the article subscribe via RSS feed or enter your email in the box below 👇

When starting a new side project, you don't know what the end result will look like.

As a convert to Golang nearly 7 years ago, I've written many small projects with it. Most dead and forgotten, some running for years with virtually no effort. With each new project, I'm convinced Go is the perfect starting point.

Here's why Golang is a great choice for small side projects:

No distractions, Just code

It Just Works™, and can be as simple as a single main.go file if you choose. No picking a dependency manager or build tool (looking at you JS). The language even encourages you to get to work solving your problem, not spend hours finding “the right package” to solve it for you.

Born for the cloud, besties with serverless

Run it cheap, run it serverless. Go is extremely resource efficient, has blazing fast startup times, and produces self-contained artifacts. It is a perfect match for serverless infrastructure where you pay based on resources consumed.

Add in a few great Github Templates* and you have an asset deploying with a CI/CD pipeline to a low-to-no cost serverless infrastructure in minutes.

PoC fast, pivot quickly

With the two prior bullet points in place, Go lets you PoC blazing fast, for virtually zero cost. Doesn't matter if you're shipping a CLI, API, or full website. And since we know where you started isn't where you're going, Go lets you pivot quickly. No ceremony, just code.

Side projects are all about efficiency with your time. Pick tools that get out of the way and let you move fast and cheap.

Next time you're thinking of kicking off a new side project, try building it with Golang.Tweet lead-in

*Bonus: My best templates aren't public (yet), but you can use this (https://github.com/bkono/go-lambdatmpl) as a great starting point for AWS Lambda.

This Day 13 #ship30for30 #atomicEssay was shipped with this twitter thread:


Thanks for reading. If you enjoyed the article subscribe via RSS feed or enter your email in the box below 👇

I write high quality production Go every week, and I love it.

While I've worked across many languages, Go is definitely my go-to over the last half decade or so. When someone joins one of my teams, it is one of the two tech stacks they're looking to work with.

Even if they aren't new to Go, these are the three resources I start them with:

Learn the style guide with: Effective Go

A good style guide introduces the idioms of the language while minimizing questions around naming, code organization, and in-code patterns. Effective Go is one of the best I've ever seen. Everything from package naming to core tenants of concurrency are covered. A must read to learn to write like a native.

Learn the philosophy with: Go Proverbs

Understanding the philosophy and core principles of a language will make you a better practitioner. Why not learn straight from the mouth of one of the creators? These tidbits permeate many decisions made in good Go codebases, take the time to internalize them.

Have a deeper resource to answer questions, starting with testing: Table Driven Tests

Being able to explore additional topics on your own is vital to quickly coming up to speed. Go's Wiki is a wealth of information, and starting with an important testing topic will pay off during your first PR. As general questions come up, check here first to see if it is answered before reaching out to the rest of your team.

These 3 resources will set you on the right path from the very first step.

Links

This Day 11 #ship30for30 #atomicEssay was shipped with this twitter thread:


Thanks for reading. If you enjoyed the article subscribe via RSS feed or enter your email in the box below 👇