Writing code is something AI has made easier, but you can't outsource thinking and articulating your thoughts in writing.
You must learn how to write in a technical way to communicate your thoughts to other developers, stakeholders, etc.
If you are a software engineer "experiencing some degree of mental health crisis", now hear this, because I've been coding for 50 years since the days of punched cards and I have a salutary kick in your ass to deliver.
Get over yourself. Every previous "programming is obsolete" panic has been a bust, and this one's going to be too.
The fundamental problem of mismatch between the intentions in human minds and the specifications that a computer can interpret hasn't gone away just because now you can do a lot of your programming in natural language to an LLM.
Systems are still complicated. This shit is still difficult. The need for people who specialize in bridging that gap isn't going to go away.
As usual, the answer is: upskill yourself and adapt. If a crusty old fart like me can do it, you can too.
https://t.co/D8w13w6GQk
I am very amazed at what the MoniePoint team has achieved, especially the financial data. The UI is very sleek. Una well done!!
Not all code needs optimization. We shouldnโt optimize everything, just the parts that matter. The famous Pareto principle applies here: roughly 20% of our code typically accounts for 80% of the runtime. Our job is to identify and optimize that critical 20%.
~ ByteByteGo
Your localhost project is not teaching you anything.
The real learning happens when you put your app out there to real users.
Your local dev environment is a sanitized bubble where you're the only user, where your database has clean test data, where your network is fast and stable, where your project is running on your fancy MacBook Pro.... But real production will expose brutal issues you never anticipated while building:
- what happens when 50 users hit your endpoint at the same time? Race conditions that never appear with one user suddenly crashes your app
- your localhost wouldn't properly simulate slow mobile network or flaky connections
- real users will input garbage data and expose edge cases you never anticipated
- state management bugs or session pitfalls or caching issues are things that will only emerge under real load conditions.
I could go on and on but you already get the point.
Stripe's early team constantly deployed to production because they discovered that they learnt more within an hour of real transactions than days of local testing. They found out that users could accidentally trigger double payments, requiring idempotency keys.
Instagram had a photo upload feature that worked perfectly during testing but in production they discovered many users had poor connection issues, requiring the team to handle things like uploads in chunks, and robust retry logic..
The lesson here is: fix all obvious bugs on localhost and get the app to users early, even if it's just 5 people. Take advantage of the feedback loop and keep iterating.
Localhost is for building but real users will expose what you built wrongly.