5 ms·
I believe we should move to a world where programmers aren't required a degree and software engineers have very high requirements. Programming is very simple, t
by HidyBush 4y ago
I believe we should move to a world where programmers aren't required a degree and software engineers have very high requirements. Programming is very simple, turning a flow chart into code is as easy as mounting an IKEA furniture once you know the basic features of the language you are using. Architecturing a software on the other hand needs a level of understanding, rigor and effort such that we should seek good CS graduates to do it.
- throwaway17_17 4y agoI really like this view. But any time I have suggested something similar (I think I might draw a different separation point between programmers/engineers in the general case), I have been accused of gate keeping. The argument against is often phrased in such a way that enforcing, or even defining, separate ‘professions’ for individuals in software careers and those professions having differing requirements, is seen as a morally negative stance on its face. As a particularized example, one of the frequent arguments would be that a hierarchical structure would inevitably emerge among people potentially working on the same application. This argument is predicated on this stratification being inherently bad. I think the push back on separating roles like you propose would be instant and vitriolic. I got slammed hard for saying that a person who had no concern or any interest in how data structures in a given application were implemented should not be hired as a ‘system programming’ dev. I absolutely think you are correct at the theoretical level, but practical implementation of the idea is almost a non-starter.
- HidyBush 4y agoFor some obtuse reason people think software is some ethereal magic abstraction that somehow doesn't follow any rules or practices. We have to start pushing for the fact that yes, to engineer software you need a true engineer just like to engineer a house you need a true engineer. Nobody ever laments the fact that it's clear that basic construction workers could never engineer a building following all the best practices and regulations (and most importantly, know the pertinent laws of physics in detail). And yet we give basic programmers tasks such as developing a scheduler, a traffic management system and whatnot. I want programmers to have the right responsibilities and the right expectations, I want regulated proven industry standards that we can follow and I want software to suck less
- emteycz 4y agoYour whole argument breaks down when it is me - a "completely unqualified", uneducated person, but also a programmer since I was 6 y/o - who has to teach people with university diplomas how to do it correctly. Happens at every job I ever had. Overall, university diploma means absolutely nothing to me - sometimes it's a minus (because it sometimes grows a specific attitude that has no place in my teams). The only working indicator is time spent doing the job + personal interview.
- rout39574 4y agoThe problem I see with this plan is that the state of the art in CS moves profoundly faster than the pace of careers, certifications, curriculum development, &c. Imagine, if you will, the practices that would have been taught to the "By the book" computer engineers who graduated in 2000. Would you think it happy to have those practices dominant, by regulation, today? Would you want to have the task of lobbying the professional standards committees to update the curriculum so that a decade from now the thing you think is important would be accepted practice? I think that the difficulty we have updating e.g. language versions or crypto practices is a good model for how well our field responds when we do things more formally. Imagine how long python 2 would be around if it had been the basis for professional credentials for decades!
- ghaff 4y agoIt's actually quite common in other areas of engineering where you have engineers (typically with four year engineering degrees) and technicians (who typically don't). And, yes, you have very good technicians and not so good engineers--but it's not easy or particularly routine for technicians to transition to an engineering job. That said, there is probably not such a gap between a programmer and a computer scientist--especially in terms of the skills needed for most software jobs.
- joe_g_young 4y agoPerhaps the size of the company could dictate the size and scope of work. With a small company, one person would bear responsibility for everything. Whereas within a larger corporation, the responsibility is spread amongst a cohort of people who then can focus on a subset of skills.
- Bilal_io 4y agoDoesn't this separation already exist in the form of job titles? Although not consistent from one company to another, a principal engineer's job is to architect the software, while other engineers implement the features. Of course, many startups don't have a software architect and they allow "regular" engineers to design the system, but that wouldn't change just because the industry decides that it isn't the programmer's job to design systems.