Quote:
Originally Posted by Terisa de morgan
What do you say when, yes, you don't know about it... but not because of your lack of interest but the structure of the company itself, which does not allow that knowledge to reach you so you can do your work? And this is a very real situation in a lot of companies.
|
Quote:
Originally Posted by DMcCunney
And those companies shoot themselves in both feet, which is something else I believe Kats has complained about.
If you can, you find a more clueful employer. If you can't, you keep your head down, do what is asked of you, try to minimize potential damage, and keep records that might at some point prove the failure wasn't your doing, but occurred at a higher level.
|
Indeed.
I know, for most non-technical people, designing software is not a thing. They see it as a waste of time and money to have designs made and documentation kept up to date.
They understand you can't just start putting up walls to build a house and expect it to stay up without it being designed properly first, but they *fully* expect people to just sit down and start writing code, off the bat, that does work and is maintainable.
Heck, even for many software engineers/programmers designing is not a thing. They hate to do it. They'd rather write code. I was like that, at some point, when I wrote software that was easy enough to keep in my head. In university, I *often* thought "why should I *design that* ?! I can just write it out, right now."
What I didn't know back then is that I *did* design the solution first, in my head, and it was simple enough to just remember and visualize the diagrams without actually writing anything down.
When you start to work on bigger and bigger software, this doesn't work anymore. If you start to work on software on which two, three, four or even more people are at work, it *REALLY* doesn't work anymore, because you: 1... can't even remember your own designs and decisions and 2.... you don't even *KNOW* what other people on the team are doing, let alone remember it and keep everything compatible.
The bigger the software becomes, the more you get to love the design and documentation aspect, because without it, writing the code is *not* fun.... and maybe not even possible.
It's the reason why I tell everyone I'm a
Software Engineer, and
NOT A PROGRAMMER.
In the Netherlands, there are actually three levels of computer science:
1. MBO (Vocational school): Basically, teaches people how to program. These people would end up implementing functions and such, as designed by the Nr. 2 in this list:
2. HBO (Uni of applied science, Bachelor or Master level): Applied Computer Science or Software Engineering, depending on the uni. These people learn how to *design* software. They write code, and basically also learn everything that is part of 1. above, but in the end, their main job would be designing software, and then implementing it, assisted by people from 1.
3. University (Research Uni, BSc./MSc.) These people study computer science in a theoretical way. Most of the time they don't design software, and don't write it. They do things like coming up with a sorting algorithm that saves two seconds when sorting 10 billion pieces of data.
(Of course there is some overlap here and there.)
The problem in the Netherlands is that 1. and 2. are often merged, with a disastrous results. You get Nr. 1 people who 'grow into' software design somehow, but clearly lack the knowledge to do it right, and thus the software will be poor, or... you get Nr. 2 people who only get to bang out code and are unhappy because "that was not what they studied for" (I've been in this position).