Working in a startup environment for almost a decade has given me privileged access to a fast-paced culture of innovation, exploration, and a fail-...
For further actions, you may consider blocking this person and/or reporting abuse
For me, as developers here in a virtual community or in our work teams, we must stand together, shoulder to shoulder against the world. We must accept that things change because we are change agents. We must accept that we are imperfect because we strive for perfection. When the room catches fire we run for an exit rather than analyze the flames.
We may hate the situation we find ourselves in, but we can't change that - what we can change is the future. We learned something and perfected it for 20 years, then it became obsolete, our tears give us no momentum, so we must accept and move on.
I love AI, but it renders useless 10% of my skills. I love it because it's 2000% faster than me at that 10%.
I love your point of view. Change is important - it allows us to learn. And having a trustworthy team means a lot
Great article, well put.
I would add that the whole premise of 'adding value' is also valid for our life, as a whole.
At least myself, I tend to either procrastinate or fixate on that 'one thing' which will solve all my problems, rather than settle on the solution which actually gives best value and move on to the next thing, even if it's not the most elegant or hyper-optimised.
Much like the sentence I just wrote..
I completely agree :)
Unpopular opinion?
I think 95% of Devs feel overwhelmed and huge majority just don't assume the current state of software.
How long can you go everyday without finding a crash or a bug in something you use? If you pay attention carefully, it will drive you nuts.
Performance wise, things are getting worse too. Not only bad choices of stack, but also bad code practice and leftover code everywhere.
I'm glad we agree. This is still an unpopular opinion because people will focus on things like - Copilot writes your code, you have great code editors, etc. But they are missing the point :)
Exactly.
Imho, we created such complex environment with difficulties all around, and there is a toxic culture of looking smart.
I think Casey Muratori has been making great arguments against the faith of adopting patterns and systems that you do not comprehend.
I strongly recommend Jonathan's Blow speech named "Preventing the collapse of civilization" at DevGamm. Pretty dramatic title, but I think it makes sense in the context of the presentation.
Just watched Preventing the collapse of civilization - excellent talk! Thanks for recommending
Sounds interesting, will have to save it and watch later :D
This article resonates with me as a software engineer who is constantly trying to improve my skills and deliver value. I agree that it is hard to keep up with the changing trends and technologies, and that we should focus on the why rather than the what...
Excellent article! It is very important to start talking with each other. I would add a couple of things, many of which are coming from other people, some of which are mine.
joins
and/or aview
.overmindjs
over the anonymous function train-wreck ofredux
for instance. Action creators creating actions creating functions to call. Great frameworks simplify problems by bringing them closer how humans work. Bad frameworks make you look stupid.Great article, thanks for sharing your thoughts and experience! 🔥
You have touched an issue that is unfortunately less prioritized, although very important to consider! As an new engineer most of the time we think we are the problem. One urgent thing to change (from a company’s perspective) in my opinion, should definitely be the “why” clear communication between the stakeholders and engineers, which indeed brings most of the frustration, burnouts, stress, …leading to unhappy engineers & low quality outcomes.
Thanks for sharing your thoughts!
I can tell from just reading it that it squares with my very own experience and observations.
There is another aspect that I think culled many good engineers out of the market and industry altogether gradually over time.
It's employability longevity.
Most engineers face times when they are laid off from their employers or they need to seek to explore other opportunities elsewhere for various reasons. It could be skill enhancement or income boost that they need or a career move.
The following statements resonate with me:
"That is why we never put language/framework requirements in our job descriptions. I would be a fool to miss a talented engineer because they don’t know TypeScript, prompt engineering, or microservices."
Maybe I should add "We don't care if you can flip a binary tree unless your job is to design the most efficient algorithm library; otherwise, we think you can look up CLRS book"
Most tech interviews these days are just joy killers of the "whiteboard data structures and algo" hazing kind without regard to a professional engineer's experience or prep time. No wonder, to most employers there's a shortage of good engineers.
It's totally absurd. The recruiting process for software engineers is bad, very bad such that you feel like even if you have years of experience as if you had none.
My son asked me about the Computer Science program recently. I basically moved him out of considering a CS career unless his soul and heart are into it because of the increasingly untenable state the software industry is heading.
Some of the points in this article stuck with me because they are things that I struggle with every day.. especially getting lost in trying to keep up with all of the new technologies and trends, sometimes it gets overwhelming.
I think we just need to break up of that mindset from time to time at least, by reminding ourself of what's truly important, while of course having a sustainable way of keeping up with the new things.
Juraj, I totally agree on your point of view. Every good engineer should ask themselves if they are delivering value. Love your pyramid as well.
Wow! This is an excellent article. Thanks for sharing your wisdom
nice piece here
Thank you, I really enjoyed this post as I am more on the developer side not engineer - I see now where I should really focus my skills
💪💪💪 feeling on the move
I totally agree thanks for sharing.
The realest and most inspiring piece I've read this week. Thank you.
This is one awesome compliment. Thank you!
Yeah, the industry as a whole is moving so fast, it's getting more and more difficult to get out of the technical debt spiral compared to the last decade.
I feel that way, but I'm not convinced it's because "the industry as a whole is moving so fast". I think it's a lack of understanding, by management, of the complexity involved in doing software 'properly'. They hear about things like ChatGPT and, rather than discuss its failings with engineers (and it does have huge failings), they just wonder why they can't just get it to write their applications!
I'm only really starting to learn what it means to be a capable engineer.
I've heard what a lot of junior and senior engineers talk about, though. It sure seems like a lot of their jobs involve unusual things that I wouldn't have suspected out of a corporate software engineering position.
It's been... interesting.
Responsible for translating complex problems into efficient and scalable solutions
There are plenty of simple problems that are yet to be resolved, there are plenty of great things to do that don't involve scale.
In fact most scalable things are shitty. I have no intention to ever work at Facebook and TikTok and Ads and stuff.
Tasked with analyzing user requirements, designing software architecture, writing code, and testing and debugging software
Counter argument : have a good positionning, become an expert of the problems of your clients, and you have done most of the work.
Expected to stay on top of trends
Counter argument : your clients doesn't care which technology you use, Twitter is not real life. The main reason any given hype tech is everywhere at any point of time is that Venture Capitalists allocate money based on Hype.
In reality though, your clients do not care which technology you use when you solve their problems. They only care that you solve their problems.
seeking new business opportunities and ways to improve existing products
Indeed, get out of the building and talk with your customers.
If you can do that, your existing skills will do wonders.
Can't agree more.
Very good article. Makes me think about lotst of things...