4 ms·
I'm starting to wonder if software engineering as a discipline needs to become one of the professions. All of the big companies have roughly the same interview
by djhworld 9y ago
I'm starting to wonder if software engineering as a discipline needs to become one of the professions.
All of the big companies have roughly the same interview process, and ask roughly the same sort of questions. It seems like a huge waste of resources to me.
I'm wondering if it would be better if everyone got tested on the same set of tests to eventually achieve a qualification that is universally recognised. So like "SE level 1" would do your standard data structures and algorithm puzzles from Cracking the Code Interview, "SE level 2" would be like system design, maybe doing a project etc.
That way the interviewer just needs to test the candidate on the soft skills, would they be a good fit for the team?
I know software engineering is multi faceted, and people might specialise on certain areas, so they could focus on those bits if the job needs those requirements, but I think having the baselines stuff in there would at least indicate to the employer that this person has passed the reverse a binary tree stuff and so on.
This would probably involve Google/Amazon/Facebook etc working together to organise such a qualification path, but surely this would be beneficial to them in the long run?
- shados 9y agoI feel that software engineering in its current state is more of an art than a science (or it's the art of using specific sciences?). It's not understood well enough to say "this is the way to do this thing". Thus all the bike shedding. Until we do, we should treat it like art and have portfolio be a standard thing (github account or whatever). Yes, that means having side projects. If you don't have time for it, you're in the same spot a graphic artist who doesn't have time to draw is. Hopefully you have something to show from a previous job that's public or something. Then people can just have a behavioral interview and a review of the portfolio and be done with it.
- JustSomeNobody 9y agoThe software I write controls expensive hardware. I can't easily show things like that on github. Besides that, it is just plain wrong to require us to have side projects on github. I love what I do and I'd much rather spend time tweaking my work code to perform better.
- shados 9y agoOther professions with similar subjective requirements need similar things to get a job (hell, some need it to even be able to get in school). Some you might even be working with on a daily basis and they make a third of your salary. I'd dare say the salary the average software engineer command these days (especially in North America) has that baked in the compensation. If you're not in the US and make a salary more in line with professions that have similar level of efforts, fair enough, you might have a point. Personally I just filled up my github account with 1-2 projects in 2-3 weeks last time I was looking for a job. A few thousand lines of code is enough to get the point across.
- brailsafe 9y agoJust because you'd rather spend your time on work code doesn't mean it's 'just wrong'. That said, if you can show what you've worked on in some capacity then I don't see why having extra code on just GitHub would be necessary.
- jrmg 9y agoMany of us are in jobs with contracts that don’t allow us to share side project code, even if written outside of work.
- djhworld 9y ago> It's not understood well enough to say "this is the way to do this thing". Thus all the bike shedding. Most of the "reverse a binary tree" and "write a linked list" and other problems that use common data structures/algorithms (e.g. depth first search) are pretty bounded sets of problems, surely you could test on those? I agree that the rest of software engineering is quite loose, my idea was more to set a "baseline" so that when companies interview someone, they can skip the "hey can you reverse a binary tree?" test and jump straight to the most interesting stuff like soft skills and so on.
- shados 9y ago> Most of the "reverse a binary tree" and "write a linked list" and other problems that use common data structures/algorithms (e.g. depth first search) are pretty bounded sets of problems, surely you could test on those? That's like testing a home renovation contractor by asking them to pierce a hole with a drill. They should 100% absolutely know how to do it and its critical to their job, but it's not exactly what makes them qualified for it.
- djhworld 9y ago> but it's not exactly what makes them qualified for it. No, which is why the interview should be testing on more interesting stuff like system design, team based skills, other technical minutae that might be relevant to the job. I just feel like compaonies waste a lot of time and resources on "reverse a binary tree" and "do the travelling salesman" type problems. I understand why they have to, because there's nothing out there to say "X candidate knows how to reverse a binary tree", so they have to test on it to make sure at least the baseline stuff is there. And they keep retesting. If a candidate moves from company to company they get the same test, regardless of levels of experience. It just seems like something that could be nipped in the bud with a certificate/qualification
- shados 9y agoFair enough. Though we have college diplomas and certifications. People just cheat a lot. Other professions generally have significant checks and balance (eg: inspections after renovation, all the regulations around health care, etc). And even then lots of bad things happen. I guess we could start keeping software engineers legally accountable for stuff...but that doesn't sound super fun to me.
- dozzie 9y ago> I feel that software engineering in its current state is more of an art than a science It's a craft. What makes you say it's an art? What exactly is "artistic" in programming?
- shados 9y agoHow subjective it is. How 2 groups of equally qualified programmers can look at 10 line of code and completely disagree on how good it is.
- JustSomeNobody 9y agoThis would definitely help people with interview anxiety and put those people on a more level playing field.