Jacob Knotek (@jacobknotek) 's Twitter Profile
Jacob Knotek

@jacobknotek

Helping good developers reach "great" | Senior Developer | Neuroscience student

ID: 1622150154370568192

calendar_today05-02-2023 08:30:51

69 Tweet

110 Takipçi

26 Takip Edilen

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Refactoring is more important than writing good code the 1st time. If you obsess over a perfect 1st iteration, you'll begin believing you need to START OVER any time something needs polishing. That simply doesn't work when there are business needs to be met.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

End-to-end tests suck. They're slow, inconsistent, and often can't be run in isolation... ...But man, they have SAVED me more times than I can count. Prioritize integration tests, but don't neglect your E2E tests!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

"Finished" software is a myth. Even when your to-do list is empty, the surrounding ecosystem is changing. Your code is outdated the second you write it. Schedule regular UPDATES and keep iterating. Your software will never be DONE, but it can always be GREAT!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

The words "correct", "optimal", and "complete" don't apply to programming. Devs use them all the time, but in the REAL world, those words really translate to... • Worst of all evils • Satisfactory • Good enough Don't let your perfectionist mindset slow you down.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

If you're... 1️⃣ working around use-cases that are unlikely 2️⃣ focused on scalability when you have few users 3️⃣ refactoring code that isn't problematic 4️⃣ "preparing" for features that haven't been requested ...Then you're probably overengineering.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Vendor lock-in is often unavoidable. Don't spend too much time writing abstractions because you "might switch to another vendor later". Even if that time comes (and in my experience, it usually doesn't)-- how will you know the vendor's interface is the same?

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Controversial opinion: We're heading towards another "AI winter". Everyone is so hyped about ChatGPT and other similar tools... But no one I've talked to can reliably use them day-to-day. There's just no way it can live up to the hype. I use it for creative work, nothing else.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Day 4,015 of being a full-stack developer: Today I accidentally called my hairline a "front-end". I really, REALLY need to get out of the house. 😂 What's your favorite way to disconnect from the computer world? Help me, please!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Software engineers: "Enough" will never be enough. It doesn't matter... • How many years of experience you have • How many books you've read • Which companies you've worked for There will always be WAY more to learn. Don't fear being the newbie forever-- embrace it!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Juniors: Learn a relational database before MongoDB. Relational databases (most SQL databases) are still more relevant today for most projects, and save you from pitfalls that Mongo won't help you with. Just because Mongo is newer doesn't in ANY way make it better.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

You know those bugs that feel impossible to fix, and Google shows 0 results? Write down an exhaustive list of ideas on what might help (quantity > quality). Force yourself to go through the ideas one-by-one, and you'll solve the problem before you get even halfway through.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Stop using new technologies just because they're new. Older tech has benefits that often go underappreciated: ➡️ More community support ➡️ Robust, stable codebase ➡️ More social proof of it being used in production Don't be in a rush to use that new framework in production!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Don't worry about technical debt. You can always deal with it later... ...Says the company slowly sinking into the ground. You NEED to handle tech debt. And the easiest way, is to AVOID accumulating it in the first place. Make refactoring a part of your DAILY process!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

I used to be insecure that I don't have a comp sci degree, or experience working for a big brand. 12 years later, the insecurity is GONE. What changed? I worked on hundreds and hundreds of challenging projects. Challenge yourself everyday, and the rest is a matter of time.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

I've heard developers say, "CSS is easy if you take the time to learn it." Nope. Even after you... • Learn the box model • Learn selector specificity • Use conventions like BEM • Use preprocessors ...CSS is still hard. I'm willing to die on this hill.

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

Don't rely on an IDE for your programming work. If you don't know how the tools work under the hood, you're seriously limiting your ability to debug your issues. Try using all your tools from the command line for a while. You'll be amazed at how much more control it gives you!

Jacob Knotek (@jacobknotek) 's Twitter Profile Photo

"Thanks for calling customer support. In order to keep your account safe, please verify your identity by sharing all your personal details out loud." Perfect thanks. 😒