Author Topic: EEVblab #2 - Are Electronics Hobbyists Useless?  (Read 116483 times)

0 Members and 1 Guest are viewing this topic.

Offline Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #75 on: December 15, 2014, 04:11:48 pm »
Hmm.  I doubt I'd get far drawing a UML diagram, without being able to look it up. I mean, I've *seen* UML, but I've never used it in over 30 years of writing / designing software so I doubt I'd be able to produce anything coherent from memory. And I have a degree, but that pre-dates UML...

Does that make me an idiot?
I have no idea about the exact field you are in. For the sort of job - enterprise application design - I've interviewed that guy, knowing basic UML was a prerequisite.

I can think of fields where you never draw a single class diagram ever, but they are shrinking. Communicating with fellow humans about the design is just as important as getting the design done. ;)

I was going to ask the same thing,  I"m not given the time to document my code let alone create a diagram.   I also started when I was 8 and was writing 6502 (and later 8086) assembly code by the time I was 12.  Does it make me an idiot that I don't create UML diagrams.   People need to watch what they say.
But would you be able to? Class diagrams are not rocket science. ;)

BTW to answer your question, it doesn't make you an idiot. It makes your boss one. ;)
« Last Edit: December 15, 2014, 04:19:32 pm by Sigmoid »
 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4317
  • Country: us
  • KJ7YLK
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #76 on: December 15, 2014, 04:13:28 pm »
No, I don't believe the requirements are unreasonable.

We more practical types were frequently suspicious of the theoretical egg-heads who didn't know which end of the soldering iron to hold.
 

Offline old gregg

  • Regular Contributor
  • *
  • Posts: 130
  • Country: 00
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #77 on: December 15, 2014, 04:16:51 pm »
what Dave is asking isn't the minimal knowledge to have for electronics ? I don't see where the issue is actually,  hobbyists or "pro" don't matter.

You have the skill or you don't, that all must matter.

 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #78 on: December 15, 2014, 04:16:54 pm »
Not quite the same as forgetting a resistor symbol.

I did software engineering and I never had to touch UML at college.
I have used it but I find it of not much benefit to use it explicitly.
I tend to do most things modularly, or at least split things into functions if it is not OO (like in C), and I will sketch if the function is particularly tricky what the inputs and outputs should be and do basic calcs depending on what the function / class does.

I've written software (quite a lot of) embedded and desktop and some web for the last 20 or so years and I have never had to do much more than a simple brain storm for some of the more trickier pieces of code.
Some people can get lost in UML and end up spending 2 years designing a system without writing a single piece of code, and then the project gets cancelled because it's taking too long.
 

Offline Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #79 on: December 15, 2014, 04:21:44 pm »
Not quite the same as forgetting a resistor symbol.

I did software engineering and I never had to touch UML at college.
I have used it but I find it of not much benefit to use it explicitly.
I tend to do most things modularly, or at least split things into functions if it is not OO (like in C), and I will sketch if the function is particularly tricky what the inputs and outputs should be and do basic calcs depending on what the function / class does.

I've written software (quite a lot of) embedded and desktop and some web for the last 20 or so years and I have never had to do much more than a simple brain storm for some of the more trickier pieces of code.
Some people can get lost in UML and end up spending 2 years designing a system without writing a single piece of code, and then the project gets cancelled because it's taking too long.

Lol. I know that sort of thing, and don't really like it. You can overdo UML. But class diagrams? Come on! If you understand OOP, you can draw one. Like if you can program procedurally, you should be able to draw a flowchart or write pseudocode.

To put things in perspective, most of the software I've worked on started its life as a sketched up UML diagram on a whiteboard, with people drinking coffee while shouting each others' head off, erasing and redrawing portions, etc., well before a single line of code has been written by anyone.

A class diagram allows you to deconstruct the problem domain, see the connections, understand what is what. I've seen too much software that was written without the creator taking the time to understand all that.
« Last Edit: December 15, 2014, 04:25:40 pm by Sigmoid »
 

jucole

  • Guest
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #80 on: December 15, 2014, 04:22:15 pm »
Are Electronics Hobbyists Useless?   no - only useless hobbyist are useless.



 

Offline (In)Sanity

  • Regular Contributor
  • *
  • Posts: 229
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #81 on: December 15, 2014, 04:22:44 pm »
Hmm.  I doubt I'd get far drawing a UML diagram, without being able to look it up. I mean, I've *seen* UML, but I've never used it in over 30 years of writing / designing software so I doubt I'd be able to produce anything coherent from memory. And I have a degree, but that pre-dates UML...

Does that make me an idiot?
I have no idea about the exact field you are in. For the sort of job - enterprise application design - I've interviewed that guy, knowing basic UML was a prerequisite.

I can think of fields where you never draw a single class diagram ever, but they are shrinking. Communicating with fellow humans about the design is just as important as getting the design done. ;)

I was going to ask the same thing,  I"m not given the time to document my code let alone create a diagram.   I also started when I was 8 and was writing 6502 (and later 8086) assembly code by the time I was 12.  Does it make me an idiot that I don't create UML diagrams.   People need to watch what they say.
But would you be able to? Class diagrams are not rocket science. ;)

BTW to answer your question, it doesn't make you an idiot. It makes your boss one. ;)

Still laughing over the last comment,  I completely agree.   Drives me nuts.   Can I create a UML diagram,  sure.  Wish I was given the time.   I do mostly C# ASP.NET stuff anymore.  I've done everything from assembly to C++,  and even some VB :(.   I've created thousands of applications and some still being used by fortune 500 companies.   Anymore I feel I'm just in a rut and my talents are being wasted.  Ohh well pays the bills.

Jeff

Edit:  Apparently I can't type UML correctly :)
« Last Edit: December 15, 2014, 04:29:23 pm by (In)Sanity »
 

Offline angdis

  • Newbie
  • Posts: 7
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #82 on: December 15, 2014, 04:23:27 pm »
I think some folks are going to feel a bit silly when EEVblog fills the job with the so-called "impossible-to-find" candidate.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5550
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #83 on: December 15, 2014, 04:39:16 pm »
Hmm.  I doubt I'd get far drawing a UML diagram, without being able to look it up. I mean, I've *seen* UML, but I've never used it in over 30 years of writing / designing software so I doubt I'd be able to produce anything coherent from memory. And I have a degree, but that pre-dates UML...

Does that make me an idiot?
I have no idea about the exact field you are in. For the sort of job - enterprise application design - I've interviewed that guy, knowing basic UML was a prerequisite.

I can think of fields where you never draw a single class diagram ever, but they are shrinking. Communicating with fellow humans about the design is just as important as getting the design done. ;)

I was going to ask the same thing,  I"m not given the time to document my code let alone create a diagram.   I also started when I was 8 and was writing 6502 (and later 8086) assembly code by the time I was 12.  Does it make me an idiot that I don't create UML diagrams.   People need to watch what they say.
But would you be able to? Class diagrams are not rocket science. ;)

BTW to answer your question, it doesn't make you an idiot. It makes your boss one. ;)

I was programming C++ even before UML was a concept and we managed fine.

That said I've written plenty of UML documentation and even if someone knows how to create class diagrams most don't know how to do interaction, state or activity diagrams.

But really why worry about UML class diagrams, there are tools for that (I believe Doxygen does it for you automagically), it does sound strange that your job has a requirement for it since anyone can learn class diagrams in a couple of days and if they are used at work then they won't forget, but since most places won't even use them, then it's ok to look it up when needed.

I remember having to download the template separately in Visio for the longer time, I think it finally comes installed by default.

BTW do you actually use UML at work?

Edit: and as for "being kind of like an EE not remembering the symbol for a resistor" that's just plain wrong, flowcharts are the common ground symbols. There are numerous other diagramming models out there each specific to specific tasks and industries.


« Last Edit: December 15, 2014, 04:43:44 pm by miguelvp »
 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #84 on: December 15, 2014, 04:52:24 pm »
It's not that I can't draw one, it's just that I choose not to as I seems like a waste of time.

I can't stand sitting in rooms where people shout at each other talking shit all day, which is why I am not a manager :)

If we want to use UML within reason we can, and include it in the design documentation, but all of that stays internal, and to be honest, nobody else apart from a select few who are in the "overdone" category produces UML.

Most of my software designs start from a piece of paper with a few scribbles on it. We don't produce these idiotic database systems, we produce embedded design controllers for traffic lights (amongst others) and that was started on the back of a dell keyboard box (I lost my notepad), CPLD, core logic, etc, no diagrams whatsoever done for that lot and it works just fine several years later.

And as others have mentioned, back in the day we didn't have UML.
 

Offline leppie

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: za
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #85 on: December 15, 2014, 04:59:54 pm »
80% of people calling themselves software developers are useless.
 

Offline Wilksey

  • Super Contributor
  • ***
  • Posts: 1329
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #86 on: December 15, 2014, 05:01:16 pm »
80% of people calling themselves software developers are useless.

The other 20% can't say "software developer"
 

Offline Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #87 on: December 15, 2014, 05:02:56 pm »
That said I've written plenty of UML documentation and even if someone knows how to create class diagrams most don't know how to do interaction, state or activity diagrams.
Which is why I'm a bit taken aback if someone is bogged down with class ones.

But really why worry about UML class diagrams, there are tools for that (I believe Doxygen does it for you automagically), it does sound strange that your job has a requirement for it since anyone can learn class diagrams in a couple of days and if they are used at work then they won't forget, but since most places won't even use them, then it's ok to look it up when needed.
...Tools? We're talking about being able to draw boxes with names, and draw differently styled arrows between them! I mean if the guy had just mixed up arrow styles, I wouldn't have batted an eye... He didn't know where to start.
Also, as I mentioned, in my professional life, class diagrams have been a principal tool of communication, and usually come well before the first line of code. (In fact I generate a lot of code from UML at my day job.)

Edit: and as for "being kind of like an EE not remembering the symbol for a resistor" that's just plain wrong, flowcharts are the common ground symbols. There are numerous other diagramming models out there each specific to specific tasks and industries.

Well depends on what you're doing. If you're thinking at the level of algorithms, then yes, flowcharts are the basic tool. However, in enterprise application design, before algorithms comes domain. (As in, the real world problem you're trying to solve.) You need to know what you are doing before you can think about the how.
I can't imagine doing that without some kind of class diagram.

If flowcharts are tactics, then class diagrams are strategy. And yes, there are other diagram types. If someone can draw up the domain in ER diagrams, I'm okay with that, even if it's another world. But in cases where you're doing something more complex than a blinking LED, you need domain analysis, and if you have more than one person on the project, you need a way to communicate the design in its entirety.

Software design and programming are not quite the same thing.
 

Offline leppie

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: za
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #88 on: December 15, 2014, 05:04:08 pm »
80% of people calling themselves software developers are useless.

The other 20% can't say "software developer"

20% rounded, sure ;p

About 0.499999% of software devs actually know what they doing. The other 19.5% guess their way around.
 

Offline Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #89 on: December 15, 2014, 05:07:06 pm »
Most of my software designs start from a piece of paper with a few scribbles on it.
See? You have scribbles on paper. If it were an OOP system, I bet those scribbles would look a lot like a class diagram.

We don't produce these idiotic database systems, we produce embedded design controllers for traffic lights (amongst others)
Embedded systems are a world of their own. I'm not surprised you got away without much planning and having meetings in front of whiteboards. If you're making something small and self-contained, life becomes a LOT simpler and more forgiving.
« Last Edit: December 15, 2014, 05:08:46 pm by Sigmoid »
 

Offline (In)Sanity

  • Regular Contributor
  • *
  • Posts: 229
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #90 on: December 15, 2014, 05:12:49 pm »
In my opinion if you have to think about writing code or how to conquer a programming task you've not been doing it long enough.   Sure you want to iron out the details on paper,  but you should already have the whole thing in your head before you've started writing anything.   I guess after 30+ years of daily programming it just comes natural.   

I don't think we should criticize anyone for their technique on electronics or programming so long as they are getting the job done and it doesn't blow up or crash,  or both :)

Jeff
 

Offline Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #91 on: December 15, 2014, 05:20:05 pm »
In my opinion if you have to think about writing code or how to conquer a programming task you've not been doing it long enough.   Sure you want to iron out the details on paper,  but you should already have the whole thing in your head before you've started writing anything.   I guess after 30+ years of daily programming it just comes natural.
I'd argue with that. Human working memory is limited, it holds 7 +-2 abstract items. Also the domain can get really effed up. But this isn't a software forum, so let's leave it at that.

I don't think we should criticize anyone for their technique on electronics or programming so long as they are getting the job done and it doesn't blow up or crash,  or both :)
Let's add "nobody has to tear their hair out trying to refactor the code" to the criteria. ;)
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19279
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #92 on: December 15, 2014, 05:23:57 pm »
A class diagram allows you to deconstruct the problem domain, see the connections, understand what is what. I've seen too much software that was written without the creator taking the time to understand all that.

IMNSHO experience, a class diagram is one of the least informative diagrams.

What is far more useful are:
  • state diagrams, i.e. the Harel StateCharts. No, Mr NewGrad, FSMs aren't only usful for parsers
  • interaction diagrams, i.e. the swimlanes. Especially useful in distributed systems, so that you can see overlapping processing
  • and the name escapes me, but the diagram that shows which processing is done on which machine, and the communication mechanism
  • proper use of parallelism design patterns, e.g. as embodied in Doug Lea's concurrency classes. No Mr NewGrad, you shouldn't be using wait(), notify(), synchronized, volatile
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
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19279
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #93 on: December 15, 2014, 05:26:27 pm »
That said I've written plenty of UML documentation and even if someone knows how to create class diagrams most don't know how to do interaction, state or activity diagrams.

But really why worry about UML class diagrams, there are tools for that

Precisely. Just so.
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 Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #94 on: December 15, 2014, 05:28:14 pm »
IMNSHO experience, a class diagram is one of the least informative diagrams.

What is far more useful are:

I never said it was the most useful diagram. It's usually the first you draw up, though, to get a very high level idea of the structure.

(When given a basic design exercise, the people who were unable to draw one strangely coincided with the people who couldn't for their life figure out which domain object an expected output row was supposed to represent, and how the other domain objects related to that.)
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19279
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #95 on: December 15, 2014, 05:31:28 pm »
In my opinion if you have to think about writing code or how to conquer a programming task you've not been doing it long enough.   Sure you want to iron out the details on paper,  but you should already have the whole thing in your head before you've started writing anything.   I guess after 30+ years of daily programming it just comes natural.   

Yes and no.

No, because putting things down on paper is an essential part of requirements elicitation, i.e. making sure the client understands their problem, you understand their problem, and the client believes you understand their problem.

No, because in many cases the fine detail can and should be left until later, provided that the system structure allows that detail to be expressed. That's one area in which Agile/XP can be beneficial.
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
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19279
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #96 on: December 15, 2014, 05:35:13 pm »
IMNSHO experience, a class diagram is one of the least informative diagrams.

What is far more useful are:

I never said it was the most useful diagram. It's usually the first you draw up, though, to get a very high level idea of the structure.

Not in the fields I've worked in, e.g. soft real-time high-availability telecom systems, or networking. In those the FSM and interaction diagrams are the starting point.

Quote
(When given a basic design exercise, the people who were unable to draw one strangely coincided with the people who couldn't for their life figure out which domain object an expected output row was supposed to represent, and how the other domain objects related to that.)

Quite probably, but nobody that clueless has ever got through to being interviewed by me.
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 Sigmoid

  • Frequent Contributor
  • **
  • Posts: 488
  • Country: us
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #97 on: December 15, 2014, 05:44:03 pm »
Not in the fields I've worked in, e.g. soft real-time high-availability telecom systems, or networking.

I guess software is an incredibly wide field, and every area has its own specific challenges and ways of coping with them. I see where you are coming from.

In telecom and networking, requirements are pretty much standard I believe. I wrote my thesis in the field of telecommunications network design.
In data heavy application design, you have a gaggle of bankers / traders / clerks who try to explain the requirements, while contradicting themselves every second sentence, and in the end you need to deliver something that will make their lives easier. There are fewer challenges in terms of implementation, but a lot more in making sense of what you're trying to build in the first place.


What I tend to very much disagree with is people stating that time spent on design and documentation in software is time wasted. I had a professor at the university who called people like that "keyboard monkeys".
« Last Edit: December 15, 2014, 05:46:31 pm by Sigmoid »
 

Offline leppie

  • Frequent Contributor
  • **
  • Posts: 269
  • Country: za
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #98 on: December 15, 2014, 06:13:24 pm »
In my opinion if you have to think about writing code or how to conquer a programming task you've not been doing it long enough.   Sure you want to iron out the details on paper,  but you should already have the whole thing in your head before you've started writing anything.   I guess after 30+ years of daily programming it just comes natural.   

I don't think we should criticize anyone for their technique on electronics or programming so long as they are getting the job done and it doesn't blow up or crash,  or both :)

Jeff

I completely agree with you on your software dev approach. Coding is the easy part. Finding the perfect elegant solution is the ultimate goal.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19279
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: EEVblab #2 - Are Electronics Hobbyists Useless?
« Reply #99 on: December 15, 2014, 06:28:22 pm »
Coding is the easy part. Finding the perfect elegant solution is the ultimate goal.

Finding the solution is the second part. Unconvering the real underlying problem/requirements is the first part; get that wrong and you'll end up with a perfect, unused product!

My first action when developing something for a client is to say "don't tell me your solution, tell me your problem". I can then often find alternative simpler cheaper faster ways for them to accomplish their goals. And even if I can't, it still helps customer satisfaction.
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
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf