News for hackers. Stuff that matters.
Re:From Secretary to Software Developer: The Hard Way by relics443 on Wednesday December 28, 2016 @07:29PM (#13274867)
TL;DR there are a lot of incompetent developers out there.

This isn't a comment about the author, as much as it's about something she said.

"Today you can take a lot of programming and Computer Sciences courses online. Everyone can be developer! There are also a lot of developer bootcamps: within 8–12 weeks you can become a developer."

This is a very dangerous line of thinking. Some people have convinced themselves that they are competent developers because they went to a bootcamp. And they might have just enough domain knowledge to convince a company with poor hiring practices that they're worth hiring.

I inherited a situation like that (this dev was hired a few weeks before me). After a few weeks it was painfully obvious that this guy was a detriment to the company because of his lack of coding ability. For reasons above my paygrade, we couldn't fire him immediately, and eventually we took all responsibilities away from him. We paid someone to come in and not do work for us.

I've interviewed dozens of developers since then. The one's coming from a bootcamp (or similar situation) have no computer science skills. They also have no problem solving skills; they're unable to break through the box that they were taught in. Most companies can't afford to hire a developer who knows one thing, and one thing only.

Now, we've had 4 year university graduates with experience in the field come in from top schools with degrees in CS. A (scarily) large percentage of them are incompetent as well, though not to the degree of the bootcampers. They're typically serviceable though.

Re:From Secretary to Software Developer: The Hard Way by jon-wood on Thursday December 29, 2016 @04:58AM (#13276529)
Not everyone needs to be a senior developer on day one. I know I've got plenty of work which isn't making the best use of my skills but still needs doing, so the next hire will probably be a bootcamp graduate who we can slowly train up, and who will find the grunt work interesting while we do. We get the easy stuff done for less, and they get to develop their career, which seems like a pretty good deal to me.
Re:From Secretary to Software Developer: The Hard Way by relics443 on Thursday December 29, 2016 @10:48AM (#13277886)
I'd be particularly selective. The ability to do grunt work is not indicative of the ability to blossom into a full fledged dev.
Re:From Secretary to Software Developer: The Hard Way by denisenepraunig on Wednesday December 28, 2016 @07:51PM (#13274948)
It is my thought as well on those bootcamps, you lack some important CS skills. But there are different coding jobs out there: I think you could easily create some nice, small websites or WordPress themes afterwards, your own app, small freelance work, things only you maintain, but doing "serious" coding in a team on a bigger project after a few weeks? I don't think so... You'll need a lot of mentorship, maybe an internship... May those nano degrees are a better choice if you add some CS skills on top off it.
Re:From Secretary to Software Developer: The Hard Way by throwawasiudy on Wednesday December 28, 2016 @08:15PM (#13275033)
Most, not all, but most of the good developers I've known learned to code when they were teens. CS skills have been discounted endlessly compared to other engineering professions solely because it doesn't cost anything to learn. Other forms of engineering cost a lot of money to learn beyond the knowledge required for the job.

That doesn't mean software dev is any easier. And, it's great that CS has such a low barrier to entry, and hopefully open source keeps it that way. Unfortunately the same trait makes it sound like "something anyone could do". Anyone hiring in the industry knows this is not the case.

The same trait results in 80% of those calling themselves "developers" being radically incompetent. It's one thing if you're electrical engineer that works daily in Cadence doing LVS and DRC, your license alone could cost 100k a year. Contrast that with someone who's git cloned react-starter and setup a website on AWS. The barrier to entry is so low for comp sci that credentials and accomplishments mean little, and interviews are absolutely brutal as a result.

So we get to where we are now. Interviews mean everything because degrees, references, and personal accomplishments mean so little in CS. The interview is your gateway rather than a solid degree program for other engineers.

How do we fix it? Making programming less accessible is obviously not the right way. We need a solid accreditation program like longer established professions have. CS is very new relatively (the first programmers are largely still alive, which is astounding). God help you if you go to an unaccredited electrical or mechanical engineering program, but the large majority of CS programs aren't accredited at all. Employers need to know which schools are good beyond the top 20 so they can hire effectively, and engineers need to know the same to decide which program they want to attend.

It's going to be a vicious cycle until that happens. Endless "CS programs" that don't teach you anything. Borderline scam bootcamps (some are good, but who?). Shaky employers grilling the hell out of anyone that comes through the doors. It's going to suck for everyone in the space until we have some formal definition of someone thats been properly trained. Take the bar exam for instance; In most states you can take it without any schooling, but only those truly knowledgeable will pass.

Someone that passed the bar? A lawyer. Passed your boards? A doctor. Passed CS degree program at school X? Who knows.

Re:From Secretary to Software Developer: The Hard Way by stale2002 on Wednesday December 28, 2016 @08:26PM (#13275075)
The unfortunate thing about what you are saying is that a CS bar exam, or certificate, wouldn't "prove" that you have any worthwhile skills.

CS degrees are math degrees. They don't address the needs of the millions of Web Dev jobs out there.

I am not a computer scientist. I am a web developer and proud.

And any web developer accreditation program needs to address the needs of web development and NOT address the needs of computer science.

Re:From Secretary to Software Developer: The Hard Way by dismantlethesun on Thursday December 29, 2016 @12:59AM (#13275896)
Understanding the computer science underpinnings are fairly useful. For instance, what if you are unhappy with the rendering speed of React? Rather than faff about complaining about it, you can just pull out your textbook, re-read that chapter on graph algorithms and you too can implement your own virtual DOM that calculates the least set of changes to apply to the directed graph that is the browser DOM.

That's how we end up with projects like Preact, Inferno, etc.

Now does that mean you need to read the latest papers, and be a proper computer scientist? Nope. I find that reading papers from the 70s and 80s will take you pretty far. Just rip and reapply to new circumstances.

I am a web developer.

A lot of code that I write is 'good', but its hardly clever or original---it's a simple reapplication of old practiced done 100 times in desktop GUI applications, now applied to the web.

I found that a lot of old-school GUI developers never really crossed over to the web, so a lot of that knowledge has been lost to the community at large. You can still find it in text books though :)

Re:From Secretary to Software Developer: The Hard Way by relics443 on Wednesday December 28, 2016 @09:49PM (#13275361)
I have a graduate degree in CS. I'm well versed in most aspects of the field. I pride myself on writing clean, efficient code, and architecting correctly. I also have a learning disability (dyscalculia) which makes certain things difficult (discrete math, calculus, etc...).

The fact that CS is based on mathematic principles does not make it a math degree (although that did make things challenging for me at times).

Re:From Secretary to Software Developer: The Hard Way by type0 on Thursday December 29, 2016 @04:25AM (#13276443)
> The fact that CS is based on mathematic principles does not make it a math degree (although that did make things challenging for me at times).

But in order for it to be a useful degree you need to have math as supporting subject. This is the same as if you want to be molecular biologist you need to know a few semesters worth of chemistry otherwise you'd be given endless hard time, which you seem to understand.

I studied math at uni but because I haven't studied enough it always is so much harder to grok all important things in programming and CS. I would argue that it is a huge roadblock for anyone wanting to become any good at CS, but then again there's programming and there's 'programming'.

Re:From Secretary to Software Developer: The Hard Way by relics443 on Thursday December 29, 2016 @10:56AM (#13277959)
"But in order for it to be a useful degree you need to have math as supporting subject."

My university allowed me to make a custom degree that did not include calculus and didn't take my discrete math grade into account. I'm not what you would call "well-versed" in anything math related. I understand the theory for a few things I've looked into but that's as far as it goes.

In all of my career (~10 years) I've never once found myself at a disadvantage because of it, and it's never held me back from doing or understanding something.

I'm sure there are some areas of the field I'll have difficulty with (low level graphics, etc..), but even then I find that with enough hard work and an alternative approach to understanding the problem I can get things done.

Re:From Secretary to Software Developer: The Hard Way by throwawasiudy on Wednesday December 28, 2016 @08:37PM (#13275117)
it's a big field, but so is electrical/mechanical/structural/civil engineering.

I think they'res enough basic skills in common with different flavors of development that there could be a common set of core skills and concentrations or special accreditation for the unusual stuff

Re:From Secretary to Software Developer: The Hard Way by btym on Wednesday December 28, 2016 @09:55PM (#13275377)
A useful accreditation program would be nearly impossible to create. The most important qualities (IMHO) in a developer are adaptability, collaboration, and creative problem solving, not technical prowess. That's why interviews are so rigorous— it's largely subjective whether an interviewer thinks a candidate will be a good fit.
Re:From Secretary to Software Developer: The Hard Way by jrm2k6 on Wednesday December 28, 2016 @09:04PM (#13275219)
Canada is actually the closest to having an "accreditation" for Computer Engineering if I remember correctly. I have never interviewed in Canada so I cannot tell if your school/degree matters that much, but not everybody can consider themselves software/computer engineer if they don't have the degree going with it. Once again, I don't know how this is in practice.
Re:From Secretary to Software Developer: The Hard Way by jholman on Thursday December 29, 2016 @01:00AM (#13275900)
In Canada, representing yourself as an "Engineer" is like representing yourself as a "Doctor". There's a professional organization that gets to say who is and is not a member. That includes "software engineer" (it does not include train engineers, btw). There are, I think, a number of legal privileges and responsibilities that come with that. I dunno, I'm not an engineer.

This has almost nothing to do with "software engineering" in practice, except that in Canada we generally call the people who write software "developers" (or "coders" or "programmers"). If a given company calls their developers "engineers", it's code for "we're an American company (and we don't respect the law (until APEG sues us))".

Re:From Secretary to Software Developer: The Hard Way by type0 on Thursday December 29, 2016 @04:32AM (#13276463)
Do you mean basically this: https://en.wikipedia.org/wiki/Master_of_Science_in_Engineeri... ?

Canada is not on the list so that's why I'm asking.

Re:From Secretary to Software Developer: The Hard Way by jholman on Thursday December 29, 2016 @05:40AM (#13276655)
I do not. That article, which is remarkably poorly written, has very little to do with what I'm talking about. I don't know how to concisely be a lot clearer than what I said.

Look, in Canada, as in the U.S., and to the best of my knowledge in most jurisdictions, there is a concept of professional accreditation. There are "professional organizations" that have memberships, and obviously the ruling on who is and is not a member is determined by the organization, which is all pretty normal. What's interesting is that national law enshrines certain branding around that organization. For example, in most countries, calling yourself a "doctor", without any justification, is a crime. In particular, representing yourself as a medical doctor, in a way which might mislead lay people, is "practicing without a license". In Canada, representing yourself as an "engineer" has similar rules around it. Compare with e.g. the UK situation, in which the word "engineer" itself is not legally protected, but if you call yourself a "Chartered Engineer" without the permission of Engineering Council UK, that's a crime.

To learn about the education process of an engineer, perhaps read https://en.wikipedia.org/wiki/Regulation_and_licensure_in_en... , a much more useful article than what you linked.

Almost completely unrelatedly, most academic disciplines that have related professional programs, such as medicine or law, have more than one stream of post-graduation education. One stream is intended to be primary or supplementary education for working practitioners in the field, the other for academic study in the field. For example a LL.B. (a.k.a. a J.D., as title inflation is commonplace) is typically taken after some kind of bachelor's degree, but is really more like a second bachelor's degree than it is like an M.A. or M.Sc. or Ph.D. or any other academic master's degree. If you want to do such an academic track, you might take a B.A., then an LL.B./J.D., then perhaps an LL.M. or LL.D. or Ph.D. in law. That's one bachelor's degree, one professional degree, and two academic graduate degrees.

Back to Engineering, one might take a B.Sc. (or B.Ap.Sc. or whatever) in Engineering, perhaps certify to become a professional engineer, and then one might choose to take additional formal education. If one is professionally-oriented, some schools might offer a professionally-oriented Master's degree for you. That is different from an academically-oriented Master's, and each school that offers both will have some way of disambiguating them, which is probably not fully standardized from school to school, even within Canada (or any other jurisdiction). Perhaps call one a Master's of Engineering, and the other a Master's of Science in Engineering, whatever. That's what your article was alluding to. As for its list, it only (non-exhaustively) lists countries with equivalent degrees by other names.

All of this stuff about graduate degrees is irrelevant to jrm2k6's comment and my reply thereto. jrm2k6 was mentioning that regulation about the word "engineerig" is stricter in Canada, and my reply was that that's mostly not relevant to the practice of those who write software.

Re:From Secretary to Software Developer: The Hard Way by jrm2k6 on Wednesday December 28, 2016 @07:36PM (#13274891)
This is exactly how I reacted when reading that line. Everybody can become a developer, yes. Everybody can become a good developer quickly, most likely not, and that applies also to people coming out with a formal education in CS, not only bootcampers.

I don't understand fully why so many people think that about coding, but not about other fields, like cooking/building/who knows.

Re:From Secretary to Software Developer: The Hard Way by disgruntledphd2 on Wednesday December 28, 2016 @08:04PM (#13274996)
Money.
Re:From Secretary to Software Developer: The Hard Way by jrm2k6 on Wednesday December 28, 2016 @09:01PM (#13275208)
Could explain it. I think also easy access to information/tutorials/affordability for self-learning?
Re:From Secretary to Software Developer: The Hard Way by lbotos on Thursday December 29, 2016 @12:46AM (#13275849)
People have just as much access via youtube for cooking tutorials but people are _not_ flocking to be chefs. For the cost of a Macbook you can definitely get a pretty decent kitchen + laptop and also literally feed yourself delicious meals... it's the money that brings people to tech. Full stop. I always tell my friends that I got lucky that my passion also happened to pay well. Because if I wanted to be a chef, the road is much harder to make the same money.
Re:From Secretary to Software Developer: The Hard Way by dimino on Wednesday December 28, 2016 @07:35PM (#13274889)
I've said this before, but Python is dangerous in this way. You can learn how to write an executable Python script in a few hours, which if you do this for a few years, you might be convinced you're "fluent" in Python, when in reality you know nothing about how to build and deliver quality software.
Re:From Secretary to Software Developer: The Hard Way by type0 on Thursday December 29, 2016 @04:38AM (#13276476)
Sound like Java also. Python is fairly easy to at least learn the basics of how its cogs are spinning. I'm not saying it can't happen in Python but to me it seems that it happens more often in Java community.
Re:From Secretary to Software Developer: The Hard Way by dimino on Friday December 30, 2016 @01:21AM (#13282902)
That's completely backwards, Python bills itself as the "scripting" language, whereas Java has a reputation for enterprise, and also has... more static typing and more general verbosity.
Re:From Secretary to Software Developer: The Hard Way by LyndsySimon on Thursday December 29, 2016 @03:04AM (#13276225)
I see where you're coming from, but in practice I've been a Python developer for a decade and have never encountered this.
Re:From Secretary to Software Developer: The Hard Way by dimino on Thursday December 29, 2016 @03:53PM (#13280041)
You can even see it in Python standard libraries, just look at argparse vs. click.

click is a modern Python library. argparse is not.

Re:From Secretary to Software Developer: The Hard Way by zizzles on Thursday December 29, 2016 @01:18AM (#13275957)
Explain to me what you think the key differences are between a competent and incompetent programmer; specifically, in terms of particular skillsets.
Re:From Secretary to Software Developer: The Hard Way by voidr on Thursday December 29, 2016 @12:02PM (#13278414)
It's posted on a what looks to be an feminist blog, I don't think they care too much about quality.

I also don't think you much chance, to become a good developer if you are not practicing it at a younger age. It's just like with sports and languages.

Re:From Secretary to Software Developer: The Hard Way by shas3 on Wednesday December 28, 2016 @08:35PM (#13275104)
I am honestly shocked by the "today" in "today you can take..." I grew up in India. In the 1990s a very common career path for people who didn't major in CS/EE/math/etc. was to attend non-university training in computers and programming. There were these institutes in every neighborhood and I recall at least half a dozen national-chains who'd advertise regularly in the newspapers, etc. There's at least one publicly traded company, NIIT that has been doing this for 30 years now https://en.wikipedia.org/wiki/NIIT

I don't know if it was substantially different in the US.