Sorry to interrupt your hard work! I just want to share my unexpected recognition about what I really do nowadays. I wonder if anyone of you feel the same.
Let's start with the conclusion: I became a user or tester or whatever but a developer. Everybody around me including my employer thinks I am an senior dev but honestly, I do something else day by day. Please do not tell them the truth! I need my high salary! :D
I started this profession 20 years ago. I learnt about algorithms, structures, design patterns, languages, optimization techniques, data modeling and more. As a junior dev I started to use that knowledge along with many languages. Then I became a senior suddenly and I was able to solve any type of problems using my theoretical knowledge and my experience.
Meanwhile, I never forget to learn new things. So I know pretty much about new techniques including no-sql, js fws, cloud services, ci/cd etc.
Today I had a new task. It was pretty simple and I thought I can solve it in one hour max. Then I saw the package I'm using doesn't support what I have to implement. I spent few hours with checking the SO, the vendor's page, the manual, the api documentation, the issue list, then the source code.
Then I realized if I want to keep the package then I need to find a way to hack it somehow. I didn't want to drop all functionalities of it but it was really hard to achieve my goal. It doesn't support my need in the core.
Finally I solved the problem but I don't really like it.
Then I started to think about this stuff I did today and I realized it wasn't a real dev work. Then I realized most of my work is all about using third party packages/services/platforms, learning how to use them (version by version!), testing each functions of them, searching for temporary solutions for all known and unknown bugs in them.
It means I am a user and a tester of all high and low quality software to me. I don't really do any dev work anymore. All I do is nothing more than put already existing pieces together and sell the result under a new name.
Where is the need for the algorithms, structures, design patterns, languages, optimization techniques, data modeling and more? These are already built in those packages. Or you can find a new package for any of them.
I don't know if this is good or bad. I really don't know. It think it is good if you can sell what you were able to quickly put together. But it is bad if you found a bug or an incompatibility issue in any package which affects many parts of your app.
What do you think?