Ask Slashdot: How To Teach Generic Engineers Coding, Networking, and Computing?
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?
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?
How about hire better candidates? If these are essential skills you expect out of a recent grad, why not hire people with those skills?
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.
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.
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.
On the one hand you take life too seriously, and on the other, you do not take playful existence seriously enough. Seth
How about hire better candidates? If these are essential skills you expect out of a recent grad, why not hire people with those skills?
This is the case of unreasonable expectations. Just look at the list : "fundamentals of networking, computing, and coding" from "acoustic consulting engineering firm, consisting of a mix of mechanical, electrical, civil ".
Does he also expect them to write thier own compiler, all while willing to accept $50K starting salary?
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, but you cannot force people to change.
Stupidity is the root of all evil.
How do you teach someone coding and concepts that take years to learn? Send them to school and wait a few years at least.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
Yes, "generic" indeed. As one of those Engineers, who have been responsible for the design of virtually every building, transport system, etc. of significance through the ages, I found it disrespectful. ;)
But most of you aren't real engineers anyway, so what did I expect.
"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.
Obviously, he was speaking of them as generic in the software sense.
public class Engineer<T>...
That's just a programmer's way of saying this: "consisting of a mix of mechanical, electrical, civil, and other engineering backgrounds" (from the summary).
Clearly, this makes it a type/value mismatch, as mechanical, electrical, civil engineers are not a software class.
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 them (figuratively) for using stupid techniques in Excel, AutoCAD, Word, etc. I am the only non-Windows user though, so when it comes to bash scripting, grep, or other basic unix tools it becomes harder. I had to dig up an old perl script a few weeks ago for processing a large file that would be too painful to work with in Excel, and it failed to be an inspiration for anyone.
What I find odd is that all these people had padded their resume with programming experience, but they seem to take a path of least resistance on it, but don't want to simplify the tasks.
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.
Domestic spying is now "Benign Information Gathering"
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 it the right way. Hire a professional, spec out the software you need, and have your professional write it for you. It will save you time and it will save you money. Consider how much your engineers are making. Now think about how many hours they'll lose in productivity trying to be software engineers and writing lousy code. Now think about how much time the software engineer you'll eventually have to hire anyways will take fixing it all. Budget that against what it would cost to simply hire the software guy in the first place and do it correctly the first time. You'll see why your idea is the wrong one.
Weaselmancer
rediculous.
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.
I'll commend you and the few old-hats around you on being a self-starters, learning and adopting tech/hardware/development/engineering on your own and trying to share and communicate that in-house. I think ability to learn, fully understand and properly implement anything and do more than just nod your head and gasp a topic for 5 minutes goes a long way.
But I think it's starts where it stops right now. What you have is a bunch of self-taught experts trying to carry on a vision-less and foundation-less IT department with a 'Fight Club' ruleset of "The First Rule of our Company is you do not talk about IT assembly or the lack there of". You need IT, not for the knowledge and expertise (because it seems like you have some idea what you need to do and how to be productive with technology) but you need it for two reasons:
1) Get the damn day-to-day IT burden off your shoulders, so someone who's managed, worked and operated in an IT environment can come in and set up a foundation, standards, expectations, operations, training and management of this shit, not you guys who are hardcode dabblers.
2) So you can focus on the jobs you are PAID TO DO.
This isn't a new problem, it just means your company doesn't value that because you are all doing it yourself and don't see the pain points because you've been 'making it happen'. But that only can go on so far. If it's a company cheap-skate problem where the idea has been brought up before but got shot down because 'talent is expensive', then I guess find all the /. posts that give you ideas on how to solve it, because that's why you posted, right?
This shit happens A LOT. And being, having and making a career in IT myself, there's nothing worse than seeing and empathizing with the other side of the coin where engineers, scientists, other staff, etc. doing IT in the capacity they can handle, failing at it, and not really focusing on their true job, which wasn't IT to begin with.
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.
the growth in cynicism and rebellion has not been without cause
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.
the growth in cynicism and rebellion has not been without cause
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.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
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?
I once worked with an H1-B visa holder who I thought was a great guy and a hard worker. I consider him a good friend from that time of my life. He had never used silverware or a plate before he came to America, so it's not hard to imagine that he'd also not had any deep exposure to tech as a youthful tinkerer, which I understood the original poster to consider favorable, maybe even essential, to his particular workplace's needs. There is a particular stereotype most H1-B workers fit into. They tend to be very intelligent, hard-working people who lack the confidence to take decisive action without frequent oversight or feedback. They are generally great at well-defined tasks that can be converted from specifications into product with rote processes. Coaching them out of that rut often forces both you and them to grow extensively. I mean this an objective look at the challenges involved, as I have developed a fondness for several people in this situation. The same things that tend to make them a bit hesitant in the workforce tend to also make them great people: they generally legitimately care about what others think and are looking for friends in a strange place!
Beyond that, does anyone log into Slashdot anymore? AC's used to be branded as shameless trolls to be ignored, and now it seems like every other post is from one. Maybe it's my fault for not ignoring you, but your comment seemed like it might be intended to be serious.
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?
Fight Spammers!
Just look at the list : "fundamentals of networking, computing, and coding" from "acoustic consulting engineering firm, consisting of a mix of mechanical, electrical, civil ".
They need someone who has an A+/Network+ certifications and went through a coding boot camp or two.
Does he also expect them to write thier own compiler, all while willing to accept $50K starting salary?
Level-entry A+/Network+ techs typically start off at $30K per year in Silicon Valley.
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.
A prosperous society allows individuals to specialize in their chosen profession. This allows each of us to focus our talents and achieve things not possible if we were all simply "Jacks of all Trades".
With all the automation coming, we should have no problem finding enough humans to narrowly specialize in their respective skill sets.
This isn't their job or their problem. Hire someone to do it or outsource the work.
Anons need not reply. Questions end with a question mark.
I completely reject the idea of a "Generic Engineer".
An Engineer is someone with extensive specialized knowledge in a specific field so that they can "engineer" solutions to problems.
Either these "laborers" have specialized knowledge in one or more fields, or they don't.
By Generic Engineer, the author seems to be implying that "they're smart people with some math skill, and therefore can do anything I throw at at them", which is simply not in line with reality.
Tell them to RTFM. They must be used to it.
Open Source Network Inventory for the masses! Kuwaiba
There really is no other good way. With things they already have credits from, they should at least be a year faster as well.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
His optimal solution required executing the query a million times and skipping the rows he had already seen. He couldn't figure out why my version ran for 15 seconds and his ran for 90 minutes
Ran into that problem myself. My team lead showed me how to do vlookup in Excel. We had identical laptops. It ran 15 seconds on her laptop and 90 minutes on my laptop. Turned out that my SharePoint spreadsheet was "dirty" with numerous hidden background calculations. I have to copy and paste the SharePoint data into a blank spreadsheet. Now vlookup takes 15 seconds.
"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 combination of education, experience and fearlessness. The last two of those three, however, we have pushed from modern education. Not only are kids judged by standardized tests, entire school districts and states are. The risk of a wrong oval is far too great! Similarly, academics have turned toward recitation of knowledge rather than experiencing it. With limited exception, auto shop, wood shop, and the like have been replaced, and athletics have been marginalized to the point where the peak age of participation the US (at least) is age 12. How can we expect adults to engage in the bargain of innovation - to risk failure, multiple times even, in order to succeed - if we never give them those chances as youth? For the modern company, if you are looking for those skill sets, you have to broaden your search when hiring. Look for the engineer that welds on the side (and doesn't just do everything in CAD). Seek out older employees who may have started in very different professions - those are your problem solvers.
If they are being paid in a way that reflects their being competent-or-better actual engineers; expecting them to play IT isn't necessarily unreasonable; but it seems pretty dumb.
You don't want to deal with lousy IT, no matter how much money you 'save'; because that's just miserable; but if you are paying an electrical engineer to spin up EC2 instances or a civil engineer to be poking at a recalcitrant data logger rather than thinking guru-level thoughts about concrete loading, you are arguably squandering relatively expensive and rare talent on problems that a reasonably competent small-shop IT generalist is exactly the sort of person to make go away so that your subject matter experts can do their thing.
Engineers who can't handle writing(or at least prototyping) simulation code are potentially more of an issue(expecting them to whip out their l33t optimization skills to save you a modest amount of CPU time by rendering the code unmaintanable is often folly; but it's been a while since most engineering disciplines were amenable to calculations entirely on slide rules and legal pads); but even there the value of an engineer who can go from Debian_netinst_x86-64 to 'fully configured numPy environment' is something that is a trifle hard to stress over as long as they know what to do with a development environment once set up.
I have a personal fondness for generalist tinkering, so I sympathize; but I also recognize that much of my generalist tinkering is purely recreational because it involves either fiddling with stuff that I'm not very good at; or doing things that someone cheaper could easily do because I'm interested in how they work. In this case, I'd be severely doubtful of the wisdom of trying to impose IT stuff on a bunch of actual, went-to-engineer-school-and-are-priced-to-reflect-that, engineers rather than investigate the possibility of finding a reasonably flexible IT/lightweight 'CS' with strong tinkering background person who appreciates the variety of an office too small for rigid specialization and the chance to poke at a wide variety of problems; and making that person available to your engineers for fiddling with peripherals, basic network and systems administration, any EC2 jockeying, etc.
No, Nathan, you in particular are just really ignorant and unaware of it. I read some of your posts and the consistent theme is you know things that other people don't because like uhhh... magic and brain powerz.
Perhaps you should just shut the fuck up for a decade and learn something for a change. Because let tell you, your high school education ain't cutting it. Anyone who has called you smart must be incomprehensibly stupid and know only other people of the same.
In conclusion, go fuck yourself.
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.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
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 way to encourage them would be to offer technical training and perhaps a bonus for getting specific certifications related to the skills you need.
That being said, it sounds like you need to hire someone with technical experience who can be used to support the engineers. Why would you waste the time of Engineers to learn technical stuff when they could be working on other things that makes your company money?
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 just adding a Python script to the process got a lot of pushback because if I left they would have no one on staff to take care of it.
These are guys with masters and PhDs in specific Niches in mechanical or electrical engineering but don't, can't and won't do anything outside of what they spent 5+ years in college learning. It's not in their job description to do so and unless you pay for them to take a week off and go to a coding course they aren't going to learn it.
The only reason I know anything about networking is because It's a 'hobby'. I have a managed switch at home. I ended up writing a .bat script to toggle between local and DHCP networking on our development machines because it took them too long and incurred too many questions on how to do it manually.
In the same vein my aunt has an MD. She's constantly asking us about how to do stuff on her iPhone. She's at an age where she's trying to be a grandma and keep up with all of the advances in her own field.
If you want a Mechanical engineer that knows 3+ languages and can do their own IT work find us on LinkedIn and pay us appropriately.
I had wondered about this, too. What is a 'generic engineer' anyway? I can trace a simple electric circuit, but I'm no EE -- I've got a graduate degree in computer science. Somehow I don't think that 'writing an excel macro' is coding, in particular, nor is it 'computer science' - it's an application of logic. But to get into python, perl, etc. ? Presumably if someone wishes to, that's fine, but honestly, when my car dies I take it to a garage. When my roof develops a leak I call a roofer. And so on.
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, computers, etc will be on their employment interview because we shouldn't need to hold the hands of these people who think "in the real world software does that" when their software refuses to work because they can't figure out how to configure a damn com port or change their IP address.
They all inherit from dweeb.
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 perform a number of different roles. The reason that the prior generation of the company was able to pick up many roles is because it happened organically. As tasks needed to be completed and as new challenges arose, people stepped up to the plate and tackled them because they had to.
The challenge that you are currently facing is that there are too many IT related tasks to do, and not enough people with the skills to do them. The solution to that challenge is not to expect engineers to become IT people. The solution is that management needs to create an IT department, or an IT position and staff it with IT people. Just as you would not expect an accountant to perform engineering work, even though both involve math and numbers, you cannot expect someone whose focus is on engineering to perform IT work.
But make sure the ones who actually learn to do it on their own get promoted over the ones who come crying to your senior engineers to reset they whatchamathingy every ten minutes.
Let's see how absurd that statement is when applied to other areas of business.
Being a small company we don't have dedicated Finance specialists.
Being a small company we don't have dedicated Accounting specialists.
Being a small company we don't have dedicated HR specialists.
Being a small company we don't have dedicated Engineering specialists.
Being a small company we don't have dedicated Sales specialists.
The reality is you better buck up and get one. IT isn't something you can do on the side like some Shade Tree Mechanic anymore.
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
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.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Hehehe, there is a SF series "Epic Failure", by Joe Zieja, where the author takes great pleasure in describing things like that. For example, he made the cooks into engineers and the engineers into cooks. I guess Zieja is an industry veteran that has seen this kind of stupidity...
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
There are also those people called "technology consultants". From small companies they are often quite good and well worth the rate they ask. And you can get them part time and often also effort-based.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
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 a full time IT role. But, while I was a kid, or I was in school, I mean from elementary to college, I was taught to never give up, until you find the solution to your problem. Nowadays, I am noticing, fresh grads don't come with that mind set. For instance, we were interviewing for a sysadmin position and I asked, "All of a sudden you noticed that your connection to the network has dropped. What would you do ?" Answer was very disconcerting: "I call help desk and log a ticket to get it fixed. You have a help desk for this. Right ?". I would have expected an answer like, I would check my network settings and see if anything has changed, then ask people near me, if they are experiencing similar issues. I mean basic steps of troubleshooting, but no, heeeeelllll no. Why bother while you can offload that to someone else ? Then they have the audacity to cry then do not get paid as their friends in this and that company. Maybe, just may be if they could be a little more into what the position entails, they might get ahead faster. But with that "it is not my job" attitude, it is very hard to respect these people. And when OP says generic engineers, I see past the derogatory meaning that most people seem to be stuck on. He means, engineers who are stuck in their line of specialization and don't want to look outside for other, relevant things. In my opinion, teaching this type of person, something new, is damn near impossible. The only way is to hire engineers with open minds. They will end up learning these tools on their own.
__________
The more I know people, the more I love animals
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 flip side where the adults are the ones who handle it. While they can use all of the new flashy technology, they're completely clueless as to what happens when the technology doesn't work. I recently was talking to a friend who was telling me about his struggle of reinstalling the operating system on his son's laptop. His son is a high school junior. I couldn't help but think that when I was in high school, I would not have asked my dad (or anyone else for that matter) to reinstall the OS on my laptop. I would have done it myself. And my friend was ultimately just as clueless as his son as to how to do it, but he got online, did the research, and was able to do it himself. And honestly, it's all stuff his son is just as capable of doing, but he's grown up in a world where you let the adults handle the technology.
This is the case of unreasonable expectations. Just look at the list : "fundamentals of networking, computing, and coding" from "acoustic consulting engineering firm, consisting of a mix of mechanical, electrical, civil ". Does he also expect them to write thier own compiler, all while willing to accept $50K starting salary?
I am a mechanical engineer by trade and training. These are not unreasonable expectations. Today, all engineers are taught the basics of computing and coding in school. Right now I think most schools teach Python, I was taught MATLAB, and the generation before me Fortran. It sounds like some of these new hires blew off those classes since they weren't in their "core discipline".
Networking is a bit of a stretch though. Most new engineering grads only know enough to communicate with other disciplines, and networking is a bit beyond that.
One of our competitors trademarked the term "hypothesis". From now on, we will call them "boneheaded ideas".
This.
I used to work with a 60+ year old analog electronics engineer. He neither knew nor cared anything networks or modern ways of working but with pen, paper and a lab he would build up a SMPS for whatever the current product was and then refine the shit out of it until it was quiet, reliable, efficient and small. He had a side business selling interesting audio electronics products.
You don't dismiss that wealth of experience and talent because they don't care about netmasks and gateways. You hire it and retain it. If anyone had a problem, we helped each other out.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
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. It covers nearly every topic from systems administration to advanced excel to could computing.
I used it all the time to train myself and train up developments teams. I mean, do you know how to write python app so that you move it to a Heroku container in Amazon Web Services and horizontally scale it as big as you need to? Well Lynda has a class for that. :)
Here is the trick. PICK A CORE PLATFORM AND TOOL SET, or you will have eventually have a mess beyond belief as people cycle-in and out. If you don't limit the tools and just tell people to learn stuff, they will, and eventually you will have experts in an unsupportable disaster. You don't want this. Chose your platforms and tools, then give people a learning path and incentivize them. Use Lynda.com.
THat is all.
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 just accept the fact that your IT infrastructure is never going to be as good as it should be.
I wish the engineering world worked as you described. And yes, I am an engineer (Master's in geological engineering, and my PE/P.Eng thank you very much).
The sad truth is that there is a hell of lot of engineering time spent on mundane work that can and should be automated away --most of my life was spent pushing around columns in excel, hunting down typos, and debugging god awful analyses written in excel. I jokingly refer to heavy infrastructure engineering (I did landslides, soils, mines, tunnels, rail, etc.) as the place where technology goes to die.
Most of the clients demand cost-reimbursable billed hour contracts, so it's also where efficiency goes to die. Better to have a junior engineer spend 4 weeks pushing data around and billing it out than optimizing that task so the engineer can spend their 'guru time' thinking about concrete loadings, failure modes, gaps in the design. I picked up a lot of fortran, R, python, and even lisp on the job working on automating the garbage tasks that took up 75% of my time so I could spend more time/budget on actual important design implementation issues (so I could sleep easy at night when I stamped designs). Saving 5-10% budget was appreciated (we can win more contracts!) but figuring out how to do something 2x, 3x, 4x as fast was not ("We won't make any money because we aren't billing enough hours!").
This is why I'm back at school doing a Master's in statistics/machine learning --couldn't handle the amount of BS tasks that should have been automated away keeping me away from the interesting and challenging parts of my job, with no improvements in sight. I do not miss nightmares analyses (for an earthquake soils design of an LNG plant) spread across _3,000_ excel sheets and 60+ directories, combining the output of multiple different versions of garbage software run by different teams in different countries. Oh god. Doing the quality control on that? Nope. Nope. Nope. That was two months of my life I'm not getting back. And this was with a well known, highly reputable design firm!
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.
âoeTolerance applies only to persons, but never to truth. Intolerance applies only to truth, but never to persons.
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.
-- Tigger warning: This post may contain tiggers! --
1. Send them back to uni to take the required courses for a CS degree.
2. While they're all at college, claim there are no suitable candidates.
3. Hire H1-Bs
4. Profit!!!!!!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Generic is the _exact opposite_ of an engineering discipline.
Anybody want a peanut?
That "Level-entry" salary of 30k in SV is quite unbelievable.
That's $30k for certified techs. Uncertified techs make minimum wage ($20K per year). You may find it unbelievable but I worked those wages at the beginning of my technical career.
I live in the midwest where 120k can get you a 2000 sq.ft. house with an acre and the entry level salary for techs that can do desktop and network support is 45k.
No employer has ever offered to move me out to the Midwest.
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.
-- I have a private email server in my basement.
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.
Lets go back to the unpaid apprenticeship days.
Leslie Satenstein Montreal Quebec Canada