General > General Technical Chat

Starting a new CompSci/Electronics career -need advice!

<< < (6/14) > >>

tggzzz:

--- Quote from: nctnico on September 07, 2022, 05:35:21 pm ---Moving goalposts again...

In the end you can apply 'engineering skills' (=define the problem, split in sub-problems and find solutions to each sub-problem) to every problem out there. But that doesn't mean a good hardware engineer is a good software engineer or a good chemical engineer by definition. Or your goal is to be a jack of all trades, master at none.

--- End quote ---

Sometimes it is useful to explicitly move the goalposts :)

There is a career decision that most people have to make: whether to be a jack of all trades and master of none, or whether to be the master of a niche. Either choice is valid, each has obvious benefits and risks.

My decision was to be more towards the jack of all trades, but with some deep knowledge in a few areas. That way there's more opportunity to have fun and act as a cross-pollinator, and less chance of being frozen out because your niche has evaporated.


--- Quote ---The reality is that there are many fields you can specialise in but acquiring the necessary knowledge takes time to learn and time is limited for everyone. So you have to pick your areas of expertise carefully. In the end you can't know everything up to an expert level.

--- End quote ---

A key decision is what not to invest time in learning. In software I've managed to avoid a lot of me-too technologies (e.g. Delphi, C#, any web framework) and be an early adopter of useful technologies (assembler, C, Smalltalk, Objective-C, Java).

Making those choices was possible because I had passing knowledge of many topics, e.g. functional programming, various "AI" languages, etc.


--- Quote ---During the past decade I have been involved in various projects dealing with time & frequency transfer. I've had the pleasure to work with various people that have devoted their careers (or may I say: lifes) to this subject. They are pioneers in their field and extremely knowledgeable. But they know sh*t about software engineering.

--- End quote ---

I know exactly what you mean!

In order to make products it is necessary to have a team. The team members should have different personalities and capabilities and weaknesses, so that each person's weaknesses are covered by another person's strengths.

fourfathom:

--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---
--- Quote from: fourfathom on September 07, 2022, 04:07:05 pm ---
I was going to walk away from this stupidity, but I just can't seem to let it drop.  You claim that there is no "fundamental difference" between hardware and software.  How far down are you going in order to make this claim?  Yes, they are both called "engineering" and both require some common skills, but they diverge rapidly above that level.  Are you talking about the activities, or the education?

As for the activity, here are a few design examples from my career, roughly ordered from all hardware to all software (not in time sequence):

* Hearing aid design (audio amplifier, filter, compressor), all analog circuitry
* "Wireless microphone" style radio transmitters and receivers
* EMI design and mitigation
* Switching power system noise analysis and cure in a timeslotted multiplexer
* Acoustic test equipment (some analog, some digital, no software)
* DS1 and DS3 framing, synchronization and switching ASICs (are you calling Verilog "software"?)
* 6800 processor board hardware
* Bootcode (68HC11) for system linecards
* Analysis of digital clock generation methods and time/spectral performanceSure, some of those things could be done better digitally now, using software, but that's not an argument that there is no difference. 
And I agree that a useful engineer should probably get experience in hardware and software, and avoid early specialization (I managed to avoid it my entire career).

--- End quote ---

--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---Overall all you have done is mentioned a few spot examples; you have failed to supply a test that can be used to distinguish between hardware and software. Without such a test the differences are small
--- End quote ---

--- End quote ---


I am sad that you don't seem to grasp the essence of our disagreement.  "Failed to supply a test"??  Who says I need to?  I gave you examples and if you can't admit that some are examples of hardware design, some of software design, and some a mix, then I have to assume that you are deliberately arguing in bad faith (I won't suggest DK, even though you did.)


--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---Apart from that, you have made many wrong and strange statements...

I've never thought of an electromagnetic field as "hardware"; it is physics! Even then, software is used to mitigate radio EMC problems and some EMI problems.
--- End quote ---

The EM field isn't hardware, but the circuitry that generates and receives them is.  And so what if software can be used in the analysis?  It may be useful, but it isn't fundamental.  If your criterion is: "If software can be used in the process then it's a software design." I'm afraid that we can probably stop here.  But I continue...


--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---As someone that wears a hearing aid and expects to be eligible for a cochlear implant in one ear, I a, familiar how much you don't know about hearing aids. My first hearing aids had very limited "programmability"; my current has stunning capabilities partially implemented in "software". Cochlear implant controllers are even more sophisticated.
--- End quote ---

You have no idea about how much I know about hearing aids.  Bear in mind that my work on them was back in the 1980's, but even then we were working with cochlear implant researchers.  And again, so what if modern hearing aids now use software?  Before I quit that job we were starting to look at DSP signal processing in HAs (but the tech wasn't quite ready for practical consumer application.)  The fact remains that those designs were fully analog.  No software in that hardware.


--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---Is a neural net with all its internal weighting factors hardware or software? Consider Igor Aleksander's WISARD and Tesla's car controllers - especially the "prototype <cough> full self-driving" system.

--- End quote ---
Irrelevant.  We can both produce many examples of hardware/software hybrids.  I never claimed otherwise


--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---I'm not familiar with the details of verilog, but VHDL certainly is software by most people's definitions. As wackypedia puts it "The VHSIC Hardware Description Language (VHDL) is a hardware description language (HDL) that can model the behavior and structure of digital systems at multiple levels of abstraction, ranging from the system level down to that of logic gates, for design entry, documentation, and verification purposes. ... The key advantage of VHDL, when used for systems design, is that it allows the behavior of the required system to be described (modeled) and verified (simulated) before synthesis tools translate the design into real hardware (gates and wires). ... VHDL is a dataflow language". To aid that, VHDL has many attributes not associated with hardware, e.g. constructs to create/read/write files in an operating system.
--- End quote ---

Again. irrelevant.  Some might call Verilog or VHDL software, but the resulting design implementation is hardware.  This hardware may run software, but so what?  Anyway, I put the Verilog example closer to the "software" end of the continuum.


--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---As for 6800s, why not consder the contemporary AMD2900 family where microcode is a key implementation concept. Is the microcode hardware or software?

For a more modern example, consider Intel x86 processors from the P6 onwards. How do you think Intel changes the operation of its processors in installed systems? Is Intel Microcode hardware or software? https://en.wikipedia.org/wiki/Intel_Microcode

If you think x86 processors are hardware, how do they, when powered down, detect and respond to "wake on LAN" packets to apply power to themselves to start operating again.

--- End quote ---

Microcode?  Irrelevant.  It's more firmware than software but I don't care what you call it.  By the way, I did the 6800 design in 1976.   Why is a contemporary design significant to your argument?  And why do you keep bring up microprocessors?  It's a fact that micro design is a combination of hardware and software (sort of), and that has never been in dispute.

"Wake on LAN"??  So that section isn't actually powered down.  Do you even understand what is going on?  And of course they're hardware, running some sort of program.  Do you think that software runs on unpowered nothingness?



--- Quote from: tggzzz on September 07, 2022, 05:27:11 pm ---Analysis of clocks and time/spectral performance is no more hardware than systems modelling.

--- End quote ---

That was kind of my point, and it should have been obvious (remember, I said "ordered list, from hardware to software"?)  The resulting designs went into ASICs, implemented as registers and gates, no software involved.  And software (some I wrote, others I bought and used) was used to analyze and develop the designs. 

Analysis is part of the design process, and sometimes it involves software.  Other times it's pencil and paper, and perhaps a calculator.  But the resulting design is often hardware, not software.

If you are merely saying that engineers often use software in the design process then just say that and I will agree.  But that's not what you are saying and apparently not what you believe.

The more I think about it I fear that you have in bad faith lured me into a stupid argument.  Unless you can bring forth a semi-cogent response I'm going to let it drop for now.

[edit: fixed one missing quote tag]

EEVblog:

--- Quote from: tggzzz on September 07, 2022, 02:29:33 pm ---I gather I was unusual in that I knew what I wanted to get from a university course, and discovered enough to select the right course at the right university. It seems most people aren't like that.

--- End quote ---

I don't know what's it like in the UK, but Australia is VERY different to say the US system.
Generally speaking, the majority of kids who go to university in Australia:
1) Pick one that is in their city.
2) Live at home with their parents. The US "dorm" system isn't a thing here, it really only for overseas students who stay on campus. Hence university choice might be based on ease of access to their parents home.
3) Hardly ever think about picking the "best" university or course from around the country. Hardly anyone ever leaves their city let alone state to study.

And given our much smaller population and hence far fewer universities to pick from, "you get what you get and you don't get upset".

Has changed a bit now with the whole online thing.

tggzzz:

--- Quote from: EEVblog on September 08, 2022, 07:10:58 am ---
--- Quote from: tggzzz on September 07, 2022, 02:29:33 pm ---I gather I was unusual in that I knew what I wanted to get from a university course, and discovered enough to select the right course at the right university. It seems most people aren't like that.

--- End quote ---

I don't know what's it like in the UK, but Australia is VERY different to say the US system.
Generally speaking, the majority of kids who go to university in Australia:
1) Pick one that is in their city.
2) Live at home with their parents. The US "dorm" system isn't a thing here, it really only for overseas students who stay on campus. Hence university choice might be based on ease of access to their parents home.
3) Hardly ever think about picking the "best" university or course from around the country. Hardly anyone ever leaves their city let alone state to study.

And given our much smaller population and hence far fewer universities to pick from, "you get what you get and you don't get upset".

Has changed a bit now with the whole online thing.

--- End quote ---

In the UK, as far as I can make out, there is little tendency to stay at home.

* the distances are (of course) much smaller, so even if in a "different part" of the country it is still practical to go home for the weekend
* usualliy the first year is in a university dorm, other years are in digs with a landlady, or more usually in a shared house pit with other students
* whether or not students do pick good courses/unis is open to question. My daughter used to go around doing university outreach, and a depressing number of kids/parents thought that since all A-levels are (nominally) equivalent, so all universities and courses are equivalent
Certainly my daughter regarded going to uni as being an excellent way of getting away from the "parental units". Mind you, she was unusual. I'd taken her backpacking in India in her early teens, so I wasn't completely surprised when (between school and uni) she told me "dad, I've bought a ticket for 6 months in Australia" - and self-financed 6 months up the east coast and down through Alice Springs to Melbourne. Great kid, and we still see each other very often.

tggzzz:

--- Quote from: fourfathom on September 08, 2022, 05:00:27 am ---... something impenetrable due to fouled up use of quotes ....

--- End quote ---

It appears that you have one very clear idea of what software is and isn't, but aren't prepared to indicate what that might be other than by a few poorly chosen spot examples.

When presented with an "awkward example" you also introduce another term, firmware. You then use it in a way that not only contradicts your other statements, but also doesn't fit with the commonly understood meaning of the term, viz https://en.wikipedia.org/wiki/Firmware That indicates you don't understand what microcode is, despite having been given one reference. Here's another even clearer reference: https://en.wikipedia.org/wiki/Machine_code#Relationship_to_microcode

Hearing aids have evolved very considerably in the 35 years since you were involved in research into cochlear implants. Their capabilities are astounding.

You stated "Some might call Verilog or VHDL software, but the resulting design implementation is hardware." So, do you regard VHDL/Verilog code as hardware or software? How is that fundamentally different to C running in hardware?

Do you realise that modern x86 processors all run Minix internally? Or that they way they implement x86 machine instructions is changed after installation, especially when bugs are found? So, is an x86 chip hardware or software?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod