Author Topic: 4 years in software engineering and that's what I have learned.  (Read 5242 times)

0 Members and 1 Guest are viewing this topic.

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: 4 years in software engineering and that's what I have learned.
« Reply #75 on: September 03, 2024, 06:22:02 pm »
I don't want to see comments about what your code is doing. That should be self evident from the code (unless it has been deliberately written in an obfuscated style).
I want to see comments about why your code is doing what it does, what it works with and what it outputs.

This is where the actual business logic gets documented and it should always be there and should always be kept up to date.

I often end up having to maintain code which was written by others and find it immensely frustrating when I find no documentation of inputs and outputs or even the slightest clue as to why it does what it does. I see many people making the mistake of assuming that if they have to come back to code they wrote ten years ago that it will be obvious to them how it works and why it does what it does. It won't be.

In my opinion, some of the most selfish programmers out there are the ones who never write code thinking of how someone else will understand it if they need to make changes to it many years later when they no longer work at the company. Often I see people use this type of selfishness as a job security ploy. In a company which actually does software development properly, this kind of abusive behaviour should be spotted in code reviews and corrected before it gets into the codebase. A real programmer is one who writes code that is understandable to everyone. One who writes only for himself is a real egoist.
I agree, there are a lot of such people. I would fire them immediately.

John, if you quote someone's post, it is extremely bad manners to add words to the quote (highlighted above in bold) and make it look as if they were written by the quoted poster. I'd appreciate it if you edit your post to correct the text I wrote to contain only what I wrote.

--

Note: This message was edited by a moderator after I posted it to remove the offending text and link from the quoted post. It was some guff about hiring AI programmers and a link to a dodgy web site.
« Last Edit: September 03, 2024, 07:41:35 pm by unseenninja »
 

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: 4 years in software engineering and that's what I have learned.
« Reply #76 on: September 03, 2024, 06:39:03 pm »
...when people are actually proud of what they do, rather than do it just for the salary for now. ...

Sometimes, I feel like I'm the only person who writes code for a living who takes pride in doing something well and to the best of my abilities.

Too many times, I've filled the air in the office with very rude words as I'm reading some ten year old code that I have to take over and maintain.

This account is seeming more like an AI than a troll. Maybe its some AI developer's test account. ...

I agree with you. If you look at my earlier post about the words that "John Nielsen" added to my post when he quoted it, I suspect that "John" is also an AI bot.
 

Offline tggzzz

  • Super Contributor
  • ***
  • Posts: 20979
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: 4 years in software engineering and that's what I have learned.
« Reply #77 on: September 03, 2024, 06:48:52 pm »
I don't want to see comments about what your code is doing. That should be self evident from the code (unless it has been deliberately written in an obfuscated style).
I want to see comments about why your code is doing what it does, what it works with and what it outputs.

This is where the actual business logic gets documented and it should always be there and should always be kept up to date.

I often end up having to maintain code which was written by others and find it immensely frustrating when I find no documentation of inputs and outputs or even the slightest clue as to why it does what it does. I see many people making the mistake of assuming that if they have to come back to code they wrote ten years ago that it will be obvious to them how it works and why it does what it does. It won't be.

In my opinion, some of the most selfish programmers out there are the ones who never write code thinking of how someone else will understand it if they need to make changes to it many years later when they no longer work at the company. Often I see people use this type of selfishness as a job security ploy. In a company which actually does software development properly, this kind of abusive behaviour should be spotted in code reviews and corrected before it gets into the codebase. A real programmer is one who writes code that is understandable to everyone. One who writes only for himself is a real egoist.
I agree, there are a lot of such people. I would fire them immediately.

John, if you quote someone's post, it is extremely bad manners to add words to the quote (highlighted above in bold) and make it look as if they were written by the quoted poster. I'd appreciate it if you edit your post to correct the text I wrote to contain only what I wrote.

Seconded.

I think you are showing restraint by calling it "bad manners".

EDIT: copied passage below from addition to the message I quoted. Thanks Simon; I didn't see the dodgy link you refer to...

Note: This message was edited by a moderator after I posted it to remove the offending text and link from the quoted post. It was some guff about hiring AI programmers and a link to a dodgy web site.
« Last Edit: September 03, 2024, 08:37:01 pm by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Simon

  • Global Moderator
  • *****
  • Posts: 18089
  • Country: gb
  • Did that just blow up? No? might work after all !!
    • Simon's Electronics
Re: 4 years in software engineering and that's what I have learned.
« Reply #78 on: September 03, 2024, 07:21:32 pm »
programming is one of those things that people think they can just learn and then do projects by copying and pasting off the internet. I did work with such a guy. Now I am having to fix some of his stuff. It's not fun.

How about instead of quoting fake quotes we leave it to a moderator to remove the material? congratulations, you just doubled the effort of the link mill bot by repeating his links.

Editing a quote of someone is strictly forbidden, I mean I don't have to explain why do I? it's an immediate ban for doing so, so all you need to do is report it.
« Last Edit: September 03, 2024, 07:24:31 pm by Simon »
 
The following users thanked this post: tggzzz

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: 4 years in software engineering and that's what I have learned.
« Reply #79 on: September 03, 2024, 07:38:27 pm »
Thanks for the clean up Simon.
 

Offline unseenninja

  • Regular Contributor
  • *
  • Posts: 102
  • Country: se
Re: 4 years in software engineering and that's what I have learned.
« Reply #80 on: September 03, 2024, 07:43:17 pm »

I think you are showing restraint by calling it "bad manners".

I was. The pills must be working. ;)
 
The following users thanked this post: Nominal Animal

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4318
  • Country: gb
Re: 4 years in software engineering and that's what I have learned.
« Reply #81 on: September 17, 2024, 09:32:53 am »
40 years as a professional developer, this is way more accurate that 99% of the crap I read on the internet or hacker news.
Based on my 10X the experience of whoever it was, it's hard to argue with any of it and I work on stock exchanges where people consider speed highly important. Make the right choices and it will come.

Agreed.  I think the only point I frowned at was the "github" comment.  If the OP had said, "git" is the defacto standard for VCS currently, I'd 100% agree.  GitHub however I have only used twice.  Banks tend not to put their internal code bases on other peoples servers.  Just sayin.

The points also show an engineer, not a coder.  Too many god damn coders these days standing on a mountain of prior work by software engineers telling us we don't need software engineering.
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4318
  • Country: gb
Re: 4 years in software engineering and that's what I have learned.
« Reply #82 on: September 17, 2024, 09:37:50 am »
Quote
After 35 years:

1. The most important thin in development is to make code that anyone can understand. Don't get fancy. It's not job security, it's a pain in the ass.
2. Nothing matters as much as you think it does, except item #1.
3. Most problems are caused by an unfiltered input. Spend most of your time trying to clean that up before it reaches your actual business logic.
4. The money folks are deciding what gets done, live with it. There will always be tech debt.
5. It gets easier to deal with meetings if you pretend they are APIs. Certain outputs require certain inputs, figure out what you need to happen and manufacture those inputs.
6. If you think it might be smart to leave, it is. Things don't get better.
7. For some reason, they allow the folks with actual political ambition to interact with the technical teams. Watch out for them, they are not like us and hold weird grudges.
8. Make sure you find a source of uplift for your attitude, even if it's just Google Tech Talks. It's good to hear nerds helping nerds and talking about techie stuff with enthusiasm. Meetup.com is still around, and that can be very helpful for find fellow weirdos.
9. As you gain rank, you'll do more thinking work and less key-clacky work. Learn your preferred style for planning, mentoring, teaching, tracking, and note taking. This is SUPER important because you'll also be getting interrupted more, and won't get to work on a single thing to completion.

I have a dozen of these guys for every dedicated engineer who knows what he or she is doing and if they don't; IMMEDIATELY start learning it without being told to.

I would lay a wager that this guy introduces himself as "<language> developer".
« Last Edit: September 17, 2024, 09:40:42 am by paulca »
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4318
  • Country: gb
Re: 4 years in software engineering and that's what I have learned.
« Reply #83 on: September 17, 2024, 11:29:24 am »
The OP's post was about Software Engineering.  It says as much in the title.

Would the coders in the room, STFU, sit down and behave while the adults are talking please.

If you want to contribute FO and get a qualification and experience in software engineering.  At very least be able to define it!

You don't call me a "coder" and I won't call you a soldering iron technician. 

:P  :P :-*
« Last Edit: September 17, 2024, 01:12:17 pm by paulca »
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 

Offline coppice

  • Super Contributor
  • ***
  • Posts: 9775
  • Country: gb
Re: 4 years in software engineering and that's what I have learned.
« Reply #84 on: September 17, 2024, 12:28:28 pm »
The OP's post was about Software Engineering.  It says as much in the title.

Would the coders in the room, STFU, sit down and behave while the adults are talking please.

If you want to contribute FO and get a qualification and experience in software engineering.  At very least be able to define it!

You don't call me a "coder" and I won't call you a soldering iron technician.
Is it OK if I call you pretentious?
 

Offline paulca

  • Super Contributor
  • ***
  • Posts: 4318
  • Country: gb
Re: 4 years in software engineering and that's what I have learned.
« Reply #85 on: September 17, 2024, 01:12:53 pm »
The OP's post was about Software Engineering.  It says as much in the title.

Would the coders in the room, STFU, sit down and behave while the adults are talking please.

If you want to contribute FO and get a qualification and experience in software engineering.  At very least be able to define it!

You don't call me a "coder" and I won't call you a soldering iron technician.
Is it OK if I call you pretentious?

Yes.  Although I added some smilies to denote the partial tongue in cheek nature.
"What could possibly go wrong?"
Current Open Projects:  STM32F411RE+ESP32+TFT for home IoT (NoT) projects.  Child's advent xmas countdown toy.  Digital audio routing board.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf