In embedded, desktop, games and a ton of other disciplines, there is lots of old school and fun dev and a minimal amount of CRUD boilerplate.
True, and reciprocally, it is terrible if you hate it. Back to the world of having no debugger, zero tool, potentially no auto completion and unable to do a print.
I still remember an old embedded IDE, when I scrolled down or up with the mouse, the code sometimes becomes a screen of garbage. It's not a display bug, if you save the file, it really become garbage of random characters :D
But yeah, if that's not what gets you going, then embedded work is not for you.
I hear you saying "well, that's your fault you keep working at those companies" - and that's not too far from the truth.
A lot of times, if I'm looking at some random github repo out there and its dependencies aren't apt-gettable or pippable or npmable, I just say "screw it" and write it from the ground up using only things that are apt-gettable, pippable, or npmable.
Except OpenCV 3.1. I'm willing to deal with that one. But I have a script to install it that's 55 lines long. (How ridiculous is that -- we need 55 lines of code to install things these days. Can't we just tell our computers to install stuff and aggressively figure out how to install it, no questions asked?)
That was because everybody was writing their own stuff instead of relying on frameworks that handle fuzzy things like user input for you. Many webpages have gotten more secure, but no without a cost for creative programmers everywhere.
But if you are skilled, you can easily produce code equivalent or better than the average framework out there. And it will likely be simpler because you're only coding for your own use case and not every case that exists.
I am not saying write everything from scratch. Just use only the stuff you have to.
Find a company who requires any non-approved outside code, no matter how well known and even if using an already approved license, to go through a multi-month approval process that is almost always longer than the current project's allotted timeline.
As it is, if I need a red black tree, and if it isn't in any approved libraries, it is faster for me to write it myself.
Hardly ever happens.
That process being enforced will ensure that most code is buggy and development is totally unproductive. That will usually create an environment where noone expect anything from developers and you have zero accountability.
if it all goes well, you can toy around all day and not have to ship anything, still getting a paycheck, and not risking the comparison to your peers.
I don't think I'm following you. The procurement process is quite different than our coding process which involves team reviews and the like. Yes, productivity isn't as high as it could be because we sometimes have to develop something in house instead of using open source code, but we still have code review, unit testing, and similar required.
I play this game with my students on the second day of class, along with "read all these people fighting on StackOverflow and tell me the answer you have the most faith in." They split 50/50 between terrified and super pumped about how much trust they'll be putting in Random Internet Code.
There was also a plugin that would allow you to directly grab code from stack overflow and put it right into your project, kinda of like a search engine for laziness (I think it was an Atom plugin)
An implementation is here https://gkoberger.github.io/stacksort/
Especially outside of full software companies, the ability to evaluate business processes as well as digitizing them is simply invaluable, and you'll almost never need to write your own x anyway.
Really it is better if "product owners" (or whatever) could actually do their job and talk to clients to distil out requirements that are clear and achievable. After that, the kind of programmer right for the job depends on, well, the job.
Like wise we brought in Gino-F to plot results nicely
It would be a lot more representative of today's work if you were asked: given these 3 github repos with packages that all purport to do X, which one would you pick for this set of requirements and why? and how long would it take you and a team of 3 to get it done? Then you have an hour sitting next to the interviewer that can see what you are looking at in the code, what you are googling, how you are estimating and so on.
You could be the best algorithm writer in the whole world, but these days when do you ever have the luxury to write greenfield code? It's all "let's leverage open source" and "we don't have the budget to write our own frameworks" and "why do you want to spend X months writing this, when I googled and in 5 minutes I found 8 packages that do it" and "estimate how long it would take you to do <insert fuzzily defined huge task>" etc. etc. etc.
Personally I do miss the days where I felt that all I did was coding, as opposed to putting together a collage with code found elsewhere.
I sometimes feel like doing an Ask HN about "how do you find a coding job where you actually code most of the day when you are 20 years into your career"