Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's been my experience that any industry that

* Is attractive enough (compensation, lifestyle, etc.)

* and has a larger supply of qualified applicants than desirable positions

Will result in applicants preparing for however they are interviewed, tested, etc. This isn't unique to software engineering interviews. People prepare for interviews or exams in finance, law, medicine, etc. They all have a system that is gameable. It might be newer in software engineering interviews, but that is mostly because CS is now incredibly popular and top talent is compensated very well.



The funny thing is that software engineering does this while also complaining of labor shortages. Or, if we're being a bit more honest, it's not funny, it's cynically self-serving.


I'd be willing to take either side of a debate for "is there a shortage of people who, when given tight specifications for a piece of software (write a function that takes X as input and provides Y as output) that enumerates all of the corner conditions can produce a program in a language that they are familiar with."

At the same time, the "person who can work with the business user on the software, think about the architecture of it, identify the design necessary, come up with the estimate that actually matches the time frame that it will be done in with a reasonable error... and produce software that takes X as input and provides Y as output while being aware of where the edge conditions may exist and ask for clarification on how it should work"... I believe there is a distinct lack of that portion of labor.

Furthermore, there is also a lack of people who are able to move from the first labor pool to the second, and a lack of mentors who have the time and ability to help that group move to the second.

I don't think its incredibly difficult to hire an entry level person as long as one sets the bar low enough and has people within the origination who are capable of providing the design. On the other hand, it is very difficult to find the people who can give the necessary instruction to the entry level people to allow them to become productive within their ability.

As an aside, I also find that within the entry level group... there are a sizable portion that have the attitude of "I learned language X and that was hard enough, I'm going to stick with it and not learn anything else." That X can be found for all languages and none have the monopoly on it. However, it is disconcerting for me to see those individuals... I started out as a C programmer, and then Perl (full stack web - some JavaScript in there) and then Java (enterprise), and then Java stand alone (swing application)... and while I'm still a Java programmer, I can see other languages looming on the horizon. Java will become the COBOL, and while there are still COBOL programmers out there, its not something that one wants to get stuck in for another two or three decades waiting for that last app server to be turned off before they can retire.


That portion of labor is lacking, because it is not rewarded. It is not searched for during interview, it is not valued in mythology (what we consider cool when on blogs and forums) and lastly is not rewarded by employers at work. Notably, actually predictably matching timeframe is devalued where people who end up pulin overnights due to bad planing, lack of comunication/negotiation are seen as heroes and rewarded.

Why would culture developed skills that make you rewarded less?

The ability to teach juniors is not searched for nor rewarded either, where social skills are even sometimes treated as something that makes you less good as programmer.


> "I learned language X and that was hard enough, I'm going to stick with it and not learn anything else."

There's also a sizeable portion of companies that have the attitude of "we want someone who's really passionate and good at learning. oh and they need to be expert in language x. oh you're not an expert in x? sorry, we can't wait for you to learn it. we don't care if you learnt something else"


This is by far brilliant insight I have come across and actually experienced!


Its something I've thought about for a bit and want to make a proper blog post of it. So far, its just a post over in a slack channel associated with That Conference - https://slack-files.com/T0CEWBUEP-F7J3SNNNT-00ff1af0fe . I need to come back and revisit it at some point.


“Interviews or exams”

That you think interviews and exams are interchangeable concepts illustrates the problem. Nothing wrong with a rigorous filter at the gates of the profession, but lawyers don’t need to spend months studying for each company’s half-assed version of the bar exam each time they change jobs. Our industry is dysfunctional because, unlike law and medicine, no one trusts the credentialing mechanisms.


Credentialing isn't even the beginning: no one trusts other software companies, either, apparently. An engineer at Google will face a battery of asinine CS trivia when he interviews at FAAN, just the same as he faced interviewing at G. Hell, he might even face similar interviews if he applied at non-FAANG companies.


> Credentialing isn't even the beginning: no one trusts other software companies, either, apparently.

Even the FAANG companies aren't immune from bad hires or people who burn out.


What credentialing mechanisms? As we’re told over and over a CS degree is not a trade qualification. Having a CS degree is no guarantee of being able to program either. The example of Microsoft and Cisco qualifications is not stellar either. They’re often seen as a negative signal. And most working programmers don’t have a relevant credential unless you count a Bachelor’s degree which is more a certificate of middle class membership than necessary to work as a programmer.


Our industry also has quite a lot of self-taught professionals, who can perform as well as their college educated counterparts, which is something you won't really get in professions like Law or Medicine. I think that's a good thing, when it comes to software.


A standardized credentialing exam doesn't have to require a college degree.


Just because in countries like US, one can call himself/herself engineer, without any actual meaning.

At least in Europe things are a bit more strict.


If you do the same job, and do it equally well, why should you have a different title?


Because the skillset is not the same.

It is quite different to have spent 5 years doing nothing other than building up engineering knowledge, and just learning a few things to get the job done.


It's not "just learning a few things". Some software engineers have years of experience on the job despite no CS education. In the end it's about how much value you bring to the company. If your diploma helps you deliver that value, great. If not, your diploma is irrelevant.

I'm always very weary of companies that tell me I'll earn more money because I have a PhD completely irrelevant to the job I'll be hired to do. It signals that they're valuing the wrong thing, and that doesn't make me want to work there.


If they don't have an engineering degree, they aren't engineers.


Is engineering a credential, or an activity?


It is the knowledge gathered along 5 years of studies, the activities that put into practice that knowledge and the certification of the quality of the teachings.


So, a credential? In the countries and states where the title is protected (it's not everywhere), you often have to pay dues to a professional organization to claim the title. It's not enough to have the diploma, you have to pay every year too.


It is a two step process.

Engineers are only those with an university degree from an university acknowledged to actually be teaching engineering.

Then if they want to actually make use of the title, get the credential, which yes requires an yearly contribution.

Finally, in any kind of project where human lives are at stake, the engineer signing for the project has to be validated as such.

I happen to think that our profession is no different from lawyers, doctors, mechanical engineering, civil engineering, and so on.


And which countries invented the computer pray? ok I know about Zuze but he was effectively ignored.

In terms of PE / CENG status its more who you know that what you know :-)


Well, computing has lots to thank to UK, Germany, Finland, France, Switzerland, Norway, Sweden and Denmark.

Sorry if I forgot anything, fellow Europeans.


You didn't get that I was hinting that countries that don't have strict rules about who can call themselves engineers invented the core tech behind computers ditto Ethernet which was US and UK.


Some of the countries I listed do have strict rules and also invented core tech behind computers.

Core tech behind computers is more than just a network protocol that got lucky.

In case you missed it, Robert Metcalfe is an electrical engineer.


It's an unfortunate situation honestly, because it pollutes the term "engineer" (at least for Europeans), when it's being conflated with "I just know how to code".


while it might to some seem slightly controversial, it would make more sense to argue against it instead of just down voting.

Would you disagree if people from the US did not need to pass the bar to call themselves lawyers, or the equivalent for doctors? Is it just because I compared this specific thing from the US in a negative light compared to EU?


That implies CS degree is a hoax, which is not.

The bootcamp style of skilled labour generation is possible simply because of the demand-supply gap.


I'd make a different point: the CS degree isn't a hoax, but it's not strictly necessary for software engineering work. In a real world application systems very quickly escape the boundaries of undergrad CS facts.


I don't think so. Computers and software are simply more accessible for laymen to dig into and teach themselves something.

You can't learn and practice surgery yourself. On the other hand, you can teach yourself software engineering. You can be practitioner with nothing more than a computer - and so many people are.

That doesn't mean CS degrees are a hoax - it just means the field is more accessible to those without college degrees (though its definitely going to be a more difficult path).


I think you'll find this relevant: https://www.youtube.com/watch?v=-MTRxRO5SRA




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: