Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Education Programming Communications Networking Operating Systems Python Software Hardware

Ask Slashdot: How To Teach Generic Engineers Coding, Networking, and Computing? 197

davegravy writes: I work at a small but quickly growing acoustic consulting engineering firm, consisting of a mix of mechanical, electrical, civil, and other engineering backgrounds. When I joined almost 10 years ago I was in good company with peers who were very computer literate -- able to develop their own complex excel macros, be their own IT tech support, diagnose issues communicating with or operating instrumentation, and generally dive into any technology-related problem to help themselves. In 2017, these skills and tendencies are more essential than they were 10 years ago; our instruments run on modern OS's and are network/internet-capable, the heavy data processing and analysis we need to do is python-based (SciPy, NumPy) and runs on AWS EC2 instances, and some projects require engineers to interface various data-acquisition hardware and software together in unique ways. The younger generation, while bright in their respective engineering disciplines, seems to rely on senior staff to a concerning degree when it comes to tech challenges, and we're stuck in a situation where we've provided procedures to get results but inevitably the procedures don't cover the vast array of scenarios faced day-to-day. Being a small company we don't have dedicated IT specialists. I believe I gathered my skills and knowledge through insatiable curiosity of all things technology as a child, self-teaching things like Pascal, building and experimenting with my own home LAN, and assembling computers from discrete components. Technology was a fringe thing back then, which I think drew me in. I doubt I'd be nearly as curious about it growing up today given its ubiquity, so I sort of understand why interest might be less common in today's youth.

How do we instill a desire to learn the fundamentals of networking, computing, and coding, so that the younger generation can be self-sufficient and confident working with the modern technology and tools they need to perform -- and be innovative in -- their jobs? I believe that the most effective learning occurs when there's a clearly useful purpose or application, so I'm hesitant to build a training program that consists solely of throwing some online courses at staff. That said, online courses may be a good place to get some background that can be built upon, however most that I've come across are intended for people pursuing careers in computer science, web development, software engineering, etc. Are there any good resources that approach these topics from a more general purpose angle?
This discussion has been archived. No new comments can be posted.

Ask Slashdot: How To Teach Generic Engineers Coding, Networking, and Computing?

Comments Filter:
  • by sinij ( 911942 ) on Thursday March 16, 2017 @09:15AM (#54050213)
    It is unreasonable to expect mechanical engineer to be able to diagnose network issues, just like it would be unreasonable to expect network engineer to know how to calculate shear forces going through a support beam.

    Hire multiple people to do multiple jobs or keep looking for a unicorn that knows it all and be prepared to pay appropriately high salary.
    • Re: (Score:1, Redundant)

      by msauve ( 701917 )
      In addition, his multiple references to "younger generation" sure sounds like age discrimination. It makes me believe that instead of hiring people with the skillset needed, he's just hiring low-cost, inexperienced help.
    • by trg83 ( 555416 ) on Thursday March 16, 2017 @10:12AM (#54050567)
      Tying your shoes is a mechanical operation, but no one would suggest you must have a mechanical engineering degree to do it. Some things you should just know to function in a high-tech environment. Speaking of which, an accidentally unplugged network cable is also most certainly a mechanical issue, which even a lowly mechanical engineer should be able to resolve.
    • by methano ( 519830 )
      As an older person, who is no longer fully employed, my sense is that BeauHD is also an older person who resents the notion that old people don't keep up with technology and so he posts this as a way of say that just the opposite is true. I neither agree nor disagree. Propensity to code is a trait that you get at birth. You need to find those people when you hire if that's what you want. If you're lucky, they may also be good engineers.

      Oh yeah, the other thing is if you find such people when they're youn
    • It is unreasonable to expect mechanical engineer to be able to diagnose network issues, just like it would be unreasonable to expect network engineer to know how to calculate shear forces going through a support beam.

      Funny you mention the latter. I would worry about you if you were unable to calculate sheer forces going through a beam. This stuff is high level enough that it is nothing more than typing numbers into a prepared excel spreadsheet.

      Now whether you know the answer or not is entirely different. I would most definitely expect a mechanical engineer to be able to diagnose network issues. I don't expect them to be able to perfectly design it from the ground up or optimise the loading network wide but there is a ve

      • It is unreasonable to expect mechanical engineer to be able to diagnose network issues, just like it would be unreasonable to expect network engineer to know how to calculate shear forces going through a support beam.

        Funny you mention the latter. I would worry about you if you were unable to calculate sheer forces going through a beam. This stuff is high level enough that it is nothing more than typing numbers into a prepared excel spreadsheet.

        Now whether you know the answer or not is entirely different. I would most definitely expect a mechanical engineer to be able to diagnose network issues. I don't expect them to be able to perfectly design it from the ground up or optimise the loading network wide but there is a very large scope of IT that we should expect people in general to be able to do.

        My first paid job 30+ years ago was to port a mechanical engineer's basic code from a Sinclair QL to the Apple ][ called "Columns to BS449". So I'm pretty good with columns, not so much with beams.

    • I agree w/ this completely. The submitter seems to be looking for a master of all trades, let alone a jack. Yeah, people develop various skills to avoid letting the support staff be a bottleneck, but that shouldn't be the requirement of them going in. Otherwise, where does it end - next, engineers will be expected to do business development and cold call prospective customers, and have their performance assessed based on that.
  • Most applicants suck (Score:3, Interesting)

    by maxrate ( 886773 ) on Thursday March 16, 2017 @09:17AM (#54050223)
    I've found that most applicants suck. If they aren't motivated to learn, and they don't show ability to learn quickly or grasp concepts well - they should seek different type of work. Your solution, sadly, is to find such motivated individuals with eagerness to learn. It's difficult to find. I'm a pretty lazy individual, I'm no genius, but I've never had a problem picking up anything thrown at me. In fact, I throw things at myself to learn. In my late 30's now.
    • >I've found that most applicants suck.

      That isn't because most applicants suck. That is because sucky applicants apply for a lot more jobs and interview many more times. Non sucky engineers tend to interview a lot less. So when you're on the interviewer, you see more sucky candidates.

      If you want to see a higher quality of engineer walk in the door, offer more money and a nice work place with reasonable levels of autonomy.

  • You are trying to change something intrinsic to the people in question. Young or not, they are too old already; their personality/approach is already set. Interview for the skills you need when hiring, and clear out those who don't fit the job description you've posted here.

    • by sinij ( 911942 )
      Hiring talented people capable of excelling in multiple areas requires offering them appropriately high compensation and offering stimulating job. Somehow I don't see this happening with "acoustic consulting firm" that hires "generic engineers".
  • You got a puzzling bunch of engineers on your hands. An engineer is a person paid to solve technical problems. The technology used to solve the problems is almost irrelevant to the engineer thinking. I mean, whether I try to solve a cooking issue, an electronic issue, an electrical issue, a coding issue, a furniture issue, my brains just works the same way.
    If these people are not engineering-minded, you cannot do much to change that. You can suggest them to have a look at some cool pieces of engineering, b
  • How do you teach someone coding and concepts that take years to learn? Send them to school and wait a few years at least.

  • Hire IT Staff! (Score:5, Interesting)

    by oh_my_080980980 ( 773867 ) on Thursday March 16, 2017 @09:26AM (#54050279)
    "Being a small company we don't have dedicated IT specialists."

    Translation: We are too fucking cheap hire an IT staff to service our IT needs.

    Seriously ass-hole, go fuck yourself. Hire the staff that you need and stop complaining. This has nothing to do with the lack of curiosity of anyone. This has everything to do with how your company is fucking cheap. The problem lies with you.
    • Re:Hire IT Staff! (Score:4, Insightful)

      by Osgeld ( 1900440 ) on Thursday March 16, 2017 @09:43AM (#54050369)

      other than tone I agree, it doesnt take much to get IT, there's companies that do nothing BUT IT and since its not a full time need to be there position its not that expensive to have a contractor do it

      it may be costly and painful at first as they will have to unfuck your cobbled together by amateurs "network" but once its up and running correctly you wont have very many issues, and if you do, often times they can fix it offsite in a matter of moments

      then your generic engineers can do engineering and not have to waste valuable time (ie money) fiddle dicking with your rats nest of crap

    • by Anonymous Coward

      Any monkey with half a brain can learn IT jobs. That's why it's taught by bullshit for profit colleges and institutes.

      Engineering school simply proves a competency to learn new things. No engineer worth their salt learns what they need to do their job at school.

      • Any monkey with half a brain can learn IT jobs.

        I don't know too many successful businesses that let someone from the Geek Squad run their IT department. Pay the extra money for someone with an A+/Network+ certifications.

        • by dave562 ( 969951 )

          Did you really just suggest paying extra for someone with A+ certifications?

          • Did you really just suggest paying extra for someone with A+ certifications?

            Yes. A Geek Squad tech is probably $10 per hour. An A+/Network+ tech is $15 per hour. That's the going rate in Silicon Valley.

    • A little harsh. Just because big business has this mentality doesn't mean everyone else does. It's not unreasonable to want to look for someone with IT skills without them necessarily being "the IT guy". Every company should strive to be as efficient as possible. Hiring one person for every goddamned specific task is not a good way to do this. To close, this has EVERYTHING to do with a lack of curiosity, because well, the people who do jobs like this are, by nature, quite curious folks.
  • Beats the crap out of me! I have (MEP) engineers that when they start, make a spreadsheet, and use their calculators for totals. People generally freak out with a command prompt. There is no inherent understanding of IP addressing, or even a curiousity about how their tools work. We even had to resort to an external IT consultant for desktop support, because the 10% that were saavy enough at IT were becoming over burdened with helping others out.

    So, I end up shoulder-surfing people working, and yelling at
  • Re "rely on senior staff to a concerning degree when it comes to tech challenges"
    Interview people and see if they have the skills needed.
    "Rely on senior staff" could be the only skill they are good at and it got them a job.
    The background story, did their past education show any of the same "rely on others" issues?
    Its a skill thats worked on over years.
  • Your engineers already have a job, doing electrical design or mechanical engineering. To me, your question sounds a lot like, "We have a team of highly talented airline pilots. What can I do to make them all brain surgeons?"

    Software design is its own discipline. And doing it well is a full-time commitment. If you push your engineers through some software classes or workshops, all you're going to get from them is - at best - half-assed stuff you'll need an actual software engineer to fix later on.

    Do

  • Engineers already have to learn math, physics, chemistry, organic chemistry, operations research, statics, dynamics, and on and on. They learn whatever they have to in order to manipulate the world to a new shape. It could be anything. You think metallurgy is easier than Java? Hah.

  • Comment removed based on user account deletion
    • by gweihir ( 88907 )

      I fully agree. And if you do not have enough IT work for full-time jobs, get tech-consultants as part-time experts. Do not get them from any of the large consultancies, they will just rip you off. Get them form a small high-quality shop and pay what they ask.

  • by Rob Riggs ( 6418 ) on Thursday March 16, 2017 @09:49AM (#54050395) Homepage Journal
    The same way you teach a generic engineer to build a skyscraper, bridge, ship, rocket, spacecraft, DRAM chip, MRI machine, etc. It's all the same really. Years and years of specialized training gets the job done. And then they can be a software engineer.
    • by Anonymous Coward

      Such generic advice.

    • by tomhath ( 637240 )
      I suggest the proper solution is to fire the engineers they have and teach the coders how to do mechanical, electrical, civil, and generic engineering.
  • I know a lot of engineers. I've never met a generic one. Unless you mean the kind that rides in front of the train.
    • by gtall ( 79522 )

      ' able to develop their own complex excel macros' There's his problem right there.

  • I've met more Genetic Engineers than Generic Engineers in my professional life. I'm not even sure where a "Generic" Engineer would come from. Every engineer I've encountered lately has some sort of descriptor before their title.
  • Both are Engineers, a Genetic Engineer and a Software Engineer, teach based on what they already know and bring it home with new ideas... Maybe the groundwork for a Bio-Chemical API?
  • by www.sorehands.com ( 142825 ) on Thursday March 16, 2017 @10:06AM (#54050527) Homepage

    I agree with the original poster. Here, we have someone complaining that a mechanical engineer, electrical engineer, etc. can't write their own simple excel macro, or figure out why they have no internet connection. This is akin to your car not starting and not being able to figure out that it is the battery and being able to jump it or having a flat tire and calling AAA to change it.

    When I first dropped out of college, I took a job working for a hardware engineer (Seth) at a very small company. If there was a problem, he'd toss me the chip puller and tell me where the scope was. Years later, at one company, they had moved offices and needed to change the IP addresses of a couple of the Linux based workstations. They were waiting for a consultant to show up the following week. I took 5 minutes to do it.

    This is not an issue of every non-software engineer being able to write good quality code. It is an issue of having basic understanding of the tools and being able to simple tasks, like write a macro, or and simple diagnostics? How many of you laugh at people who don't know how to change a tire or jump a dead battery?

    • This is akin to your car not starting and not being able to figure out that it is the battery and being able to jump it or having a flat tire and calling AAA to change it.

      If my car has a problem, I take it to the mechanic. If I'm stranded on the road side, I call AAA. I pay these people good money to do a job that I don't want to do because I got better uses for my time.

    • How many of you laugh at people who don't know how to change a tire or jump a dead battery?

      How about doing a full body respray? Designing and building your car from scratch?

      At some point, it becomes easier/cheaper to get someone else to do the work.

  • Comment removed based on user account deletion
    • by Nkwe ( 604125 )

      All of your engineers will need healthcare at some point. You could probably save a mint if your engineers could diagnose and treat some simple medical problems on their own.

      Actually I would expect engineers (and everyone really) to be able to diagnose and treat simple medical problems. Have a headache? Take an aspirin, ibuprofen, etc. Have a small cut or scrape? Wash it and put on a band aid. Sure, a headache that won't go away or a cut that becomes horribly infected may need a doctor but these are stepping away from "simple medical problems". Most people know where the line between simple and not simple medical problems lies and those that don't create quite a burden on socie

      • "take an aspirin for a headache"

        What? Real engineers would have walked to the employee lounge where they have the "bang your head here" to relieve stress.

        To engineers, aspirins are for hangovers.

  • This isn't their job or their problem. Hire someone to do it or outsource the work.

  • Tell them to RTFM. They must be used to it.

  • There really is no other good way. With things they already have credits from, they should at least be a year faster as well.

  • "I believe I gathered my skills and knowledge through insatiable curiosity of all things technology as a child." The road to modern technology was paved by people who saw a problem and hacked together a solution. It relied on a combination of curiosity, innovation and collaboration that had been present for generations. Whether you are talking Ely Cotton, Henry Ford, Vinton Cerf or Tim Berners-Lee, the ability to take knowledge and then apply in a different and practical way is something gained through a co
  • Engineers writing code is a bad idea, cf any hardware driver, ever.
    Yeah, sure, it will work, as long as you use it exactly the way the guy who wrote it uses it. But whoo boy, forget about any testing or defensive programming.
  • There are a number of items that can be unpacked from your question. You are saying that you have smart people who are Engineers but have little technical knowledge. You want to figure out how to get them to learn networking, etc. Not only that, but you want them to get to a level where they can operate autonomously.

    To begin with, you can't instill curiosity or an interest in technical skills in people, all you can do is encourage them or hire people who already have that drive and tinker at home. One w

    1. You hire ones that are.
    2. You pay them to be

    I'm a Mechanical Engineer that codes heavily and I'm a complete oddity in my field. I switched at last minute from CS to ME because I wanted to use the tool not make it. There are a very few 'jack of all trades' out there

    Most of my co-workers know at most one language. Asking them to diagnose something written outside of that language is a non starter. If they know VBA, their tools are written in VBA. Matlab is so entrenched in most of the engineering fields that jus

  • I remember going through university with a lot of people who didn't see the value of learning outside a very defined scope of their discipline.

    We had engineers who said "we are not programmers I shouldn't be forced to use Matlab" or "in the real world software does that for us".
    Likewise I see electrical engineers who have no idea what ethernet is, IP address, RS-232, baud rate, stop bits etc.

    If I hire an electrical engineer to design and commission a piece of electrical equipment, questions about networking

  • You are an outlier. Your personal interests and professional skills are tightly aligned in a way that very few other people ever develop themselves. To expect to find a large pool of candidates who are similar to yourself is completely unrealistic.

    It takes a certain type of exceptional individual to make a small company work. There are only so many of those people in the world. As companies grow, expectations need to change. Primary among those is the expectation that a new employee will be able to per

  • Well, I am in my 50's and can relate to the OP. I have degrees in EE and I started working in electronics production line as a test engineer and got involved in computer aided testing, because I took a couple of Fortran IV classes in college. Nobody told me how this is done. They handed me an half-assed HP instrumentation manual and a HP Rocky Mountain Basic users manual and said, go figure it out. Took me a while but I did it and liked it so much, 7 years later I was leaving electronics and converting into
  • I think this is a symptom of a larger problem of technology literacy. I recently read an article (sorry, can't remember where) which stated that we've currently raised a generation of kids that have never had to figure out the technology. Whenever a new piece of technology was acquired (new game system, phone, tablet, etc), many grew up in a house where "dad would handle it". While many in the work force grew up in an age where the kids were the ones who figured out the technology, we've now have the fli
  • I understand you are small and need to get a little more growth out of your workers so you can invest in your core. This is double edged, but I will no try to disuade you.

    There is an excellent online learning site called Lynda.com $300/year per employee and you can create custom learning playlists for them to build their skills from nearly all of the Microsoft Certification Exams/Linux/Opensource. In fact, if you want to give them a bonus for getting A+ certified, they have a learning path for that as well.

  • I suspect that this a symptom of the iThing generation. Having kids grow up so familiar with technology that "just works" and that you can't really modify in any meaningful way, results in kids who don't know how to fix things. The previous generation remembers slogging through windows registry, rooting phones, even building computers but this generation are simply tech consumers.
  • I'm not an engineer but I have worked with engineers and I do have a strong CS background as that's my education. I think something that you'll need to realize is that while it's possible to maybe train or teach someone a field that they never had any background in, it doesn't mean they'll ever be able to come close to someone who's worked on IT their entire lives. There's too many things that experience teaches you that you would never hope to know. So in reality, hire a specialist to help everyone or j

  • I think the best way to accomplish what you are trying to do has 2 parts.
    1) scheduled in house work groups where select leaders show off and teach skills to employees who might be able to use them in their job.
    the working group should focus on nuts and bolts type of stuff that can help people get the job done , more work in less time.
    2) allocate a specific number of clock hours/ project time to training weekly to ensure people learn or practice the skills taught in the working group.

  • Seriously?

    It's not the 90s anymore, buddy.

    We all use Perl, C, C++, and that kind of thing now.

    Wake up and smell the 21st Century.

    • by Nethead ( 1563 )

      Well, if he needs I have an 8" floppy of TurboPascal for CP/M hanging above my desk.

  • Generic is the _exact opposite_ of an engineering discipline.
  • Working IT in Aerospace the very last thing I want is my engineers thinking they know something about networking or IT. Just about every IT issue we have is some engineer thinking they know more than IT about our network. Many hands have been slapped, many a GPO crafted.

  • How to instill a desire to become self-sufficient: make reliance on others less than desirable, and reward for self-sufficiency. Good resources that approach these topics from a more general purpose angle: how about one of the various coding schools established over the last four years or so? Graduates are high-quality, having some of the traits described. Not so much on the networking side, and maybe more than general purpose, but perhaps a solution.

E = MC ** 2 +- 3db

Working...