What's your least favorite part of coding?
-
Mircea Neacsu wrote:
travelling to 50+ countries on 6 continents
I'd absolutely hate that part of the job X| I hate visiting customers, save for two are even closer than my own office (6 and 7 km vs. 14 km). I don't like working from home all the time either though, need to get out and socialize once in a while :)
Mircea Neacsu wrote:
There is some difference in purpose and scale
That's my point exactly. In your original post you said: "The oft repeated lament "I hate documenting/commenting" is driving me nuts: what good is your work if you cannot explain to someone how to use it or if you explain it badly? Saying that you don't want to cover with tests all significant cases is like someone performing a CAT scan and stopping in the middle: probably the other half is also OK." However, at my scale, it adds more work and complexity than it takes away. Just like almost everything, whether you need documentation and unit tests "depends" on your use case. Not having proper build and release pipelines is leaving the job half-done though :laugh:
Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript
There's a marked difference between not enjoying something and not doing it. Mind the gap. :)
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx
-
The fun part of IoT and embedded is a lot of times you're working very close to the metal, and you can't rely on things like an operating system and graphics drivers - you have to write them yourself (or find code that's already written in some cases). I have a graphics library I wrote which I've been using for about 2 years both professionally and as a hobby. I've extended it in that time to support Unicode, TrueType, SVG, PNG and JPG. I liked writing all that code. I hated documenting it[^]. I'm working on documentation for my user interface library that builds on top of it right now and it's a slog. Testing it is at least as bad. I can't decide which I hate most. Probably testing, considering I enjoy writing at least. I've got some unit tests for my major library, but I haven't written it to cover the absolutely vast surface area of my test matrix. Design is typically fun for me, but I feel like every third time I think I'm clever it bites me. Lately the above user interface library has been kicking me in the teeth, requiring me to make breaking changes over several iterations of the code. I'm not thrilled about it, but it's better than testing.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx
-
I don't like it, but I feel like it's good for the soul to be reminded periodically of how little I actually know. :laugh:
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx
-
StarNamer@work wrote:
...and then the specification is the documentation. As I said, "In an ideal world, ..."
Well, I have issues with that on two counts: - the specification only provides the "black box" description of the code, what gets in and what gets out. It doesn't say how to do it. It is up to you, the programmer to choose/devise the best algorithm, data structures to be used, limitations and compromises you had to make and so on; in brief, the nitty-gritty of the implementation. - as you say, the world is not ideal and specifications are not complete so you have to make decisions during the implementation on how to solve those blank spots in the specification. You do it either by going back to the user, or by making informed choices but in the end all that accumulated knowledge has to be put somewhere by someone and I'd argue that you are in the best position to amend that specification and transform it into a manual. Of course things can be different if you are part of a humongous organization and you are just a little cog doing your little bit for an enormous project. In that case there are probably many other people doing documentation, testing, integration, etc. and you just have to do (well) your bit of coding. However the OP was talking of design and contrasting it with documentation and testing, often seen as "lowly" activities. My point was that, in smaller projects, where you have certain freedom to design and implement stuff, there are no "lowly" tasks and everything has to be regarded as equally important. I could go on, but I already feel that I'm ranting. Sorry... :)
Mircea
What I now do probably falls under your classification as:
Mircea Neacsu wrote:
part of a humongous organization and you are just a little cog doing your little bit for an enormous project
Most of our business users are quite happy specifying UI changes, notifying legal requirements and otherwise just treating the whole distributed setup as a "black box". The IT team keeps track of how everything really works! I'd question describing my role as "a little cog" since it's more a case that I get the issues no-one else has managed to solve. I do more support and fixing than actual development these days but have probably worked on all areas of our main in-house application. However, the "humongous organization" is probably correct as the company was blocked from an acquisition a few years ago as it would have had too much market share in the UK; my boss used to describe it at trade fairs as "the largest UK company you've never heard of"!
-
What I now do probably falls under your classification as:
Mircea Neacsu wrote:
part of a humongous organization and you are just a little cog doing your little bit for an enormous project
Most of our business users are quite happy specifying UI changes, notifying legal requirements and otherwise just treating the whole distributed setup as a "black box". The IT team keeps track of how everything really works! I'd question describing my role as "a little cog" since it's more a case that I get the issues no-one else has managed to solve. I do more support and fixing than actual development these days but have probably worked on all areas of our main in-house application. However, the "humongous organization" is probably correct as the company was blocked from an acquisition a few years ago as it would have had too much market share in the UK; my boss used to describe it at trade fairs as "the largest UK company you've never heard of"!
StarNamer@work wrote:
I'd question describing my role as "a little cog"
I didn't mean that disparagingly. Little cogs doing their work well in a humongous organization put the man on the moon. In my book, they are all heroes. And, yes, some of them were programmers[^].
Mircea
-
The fun part of IoT and embedded is a lot of times you're working very close to the metal, and you can't rely on things like an operating system and graphics drivers - you have to write them yourself (or find code that's already written in some cases). I have a graphics library I wrote which I've been using for about 2 years both professionally and as a hobby. I've extended it in that time to support Unicode, TrueType, SVG, PNG and JPG. I liked writing all that code. I hated documenting it[^]. I'm working on documentation for my user interface library that builds on top of it right now and it's a slog. Testing it is at least as bad. I can't decide which I hate most. Probably testing, considering I enjoy writing at least. I've got some unit tests for my major library, but I haven't written it to cover the absolutely vast surface area of my test matrix. Design is typically fun for me, but I feel like every third time I think I'm clever it bites me. Lately the above user interface library has been kicking me in the teeth, requiring me to make breaking changes over several iterations of the code. I'm not thrilled about it, but it's better than testing.
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx
Explaining to other programmers that because the code they are working on was first coded 20 years ago there is no possible way that those programmers could have designed it to work with what is needed now. And in the same way they should not try to guess what will be needed 20 years from now by adding stuff that has nothing to do with what is needed now.
-
I don't like it, but I feel like it's good for the soul to be reminded periodically of how little I actually know. :laugh:
Check out my IoT graphics library here: https://honeythecodewitch.com/gfx
Take heart - the more you learn, the more you realise how little you know. So the corollary must be that the more you realise how little you know, the more you must have learned.
-
Mine is not technical. Overall, I am pleased with the tools and helps I have in VS2022. My least favorite part of coding is interference in my coding by non-technical project managers. Such as (and I paraphrase for brevity): “That will take too long to do it right.” “Are we there yet?” “I read somewhere you should be using language Y instead of language X. Go back and rewrite all the code in language X.” “We don’t need exception handling and logging. Just do it without all that.” “Why is it taking so long?” “Let’s add more programmers so we get this done sooner.” (said about halfway or after the midpoint of the project) “We need more meetings.” And, of course, the reader could add more. P.S. I have over 20 years as a project manager with the technical knowledge, skills, and abilities. This is about the non-technical project managers who don’t have the necessary knowledge and experience on how software engineering projects differ from other projects they learned about in their coursework. I thank God everyday for those non-technical project managers that understand they need to learn the difference and are teachable. They make fantastic project managers.
The basic lesson they should've been taught is that a little learning is a dangerous thing. Or putting it another way, the more you learn the more you see how little you know.... I'm currently bingeing on the very perceptive BBC comedies "Twenty Twelve" and "W1A", where several of the characters illustrate the above very well. Chief airhead and "Head of Brand" Siobhan Sharpe portrays this kind of PIA hilariously.
-
Explaining to other programmers that because the code they are working on was first coded 20 years ago there is no possible way that those programmers could have designed it to work with what is needed now. And in the same way they should not try to guess what will be needed 20 years from now by adding stuff that has nothing to do with what is needed now.
I remember learning to code in 1978. My instructor said I was using too much storage using 4 digit years. Most code wouldn't be running by 2000. In 2000 I was doing the job I hated most debugging code written 22+ years before where the programmer chose to save space and made it necessary to rewrite code to use 4 digit years.
-
I remember learning to code in 1978. My instructor said I was using too much storage using 4 digit years. Most code wouldn't be running by 2000. In 2000 I was doing the job I hated most debugging code written 22+ years before where the programmer chose to save space and made it necessary to rewrite code to use 4 digit years.