last day (15 days later) » 

16:32
41
A: What does it say about a company when they require a degree for a junior programmer's position?

flexi A lot of programmers are self-taught and do not have a degree. A lot of them do have degrees. Self-taught is a phrase that needs to die. Every programmer is "self-taught", formal education or not. It is commonly being used on social media to humble brag, not realising those with degrees are ...

“this is a privileged view that doesn't make sense.” I think dismissing these views is more privileged, to me. The reason they’re complaining is because they can’t find work as a junior programmer, even though they already have a degree.
Maybe that wasn't worded very well. I hear it mostly from developers on social media that have jobs and are clearly doing it only to connect with their audiences.
"Some companies hire a junior to train up, but some want a junior with experience that can just do the job, without having to spend time and money training them up." there is another possible reason - they've switched their main language. It happens - somebody codes in, say, C++ for 5 years then wants to do Java. So they have 5 years of experience but not with Java. Their actual Java experience might be some (if they've used it in their spare time) or even none. So, they can easily fit into a junior position.
@VLAZ sure, but someone who has five years of professional experience isn't likely to apply for a junior role just because it's a different language.
@CodeCaster but...it happens. Sorry if I wasn't clear - the example I gave wasn't fictitious, it was a real one for a colleague of mine who switched fields when he came to work with us. He was perfectly happy with a junior role. Also, the "junior" part was dropped rather quickly after less than a year.
16:32
@VLAZ sure, but that you've experienced it once doesn't make it less likely for me. It's not like the programming languages you know are the only thing that define you as a software developer.
@CodeCaster it isn't but at the same time I wouldn't expect somebody completely who is completely new to language X to cover the same standards as somebody who is very experienced with it. Every new member in a team will have a learning curve, so they won't be the most productive until at least a month or so on the job. But learning a new language is an additional burden. If your primary job is to write in language X, then you're definitely not as experienced as other developers, even if you have lots of knowledge of other related technologies.
"Maybe it's just so they can offer candidates a lower salary for not having all the requirements" It could also be that they think that university graduates will be cheaper. Seriously, I've seen surveys for game dev, and played with payscale for certain roles and university degree holders can make less on average.
Every programmer is "self-taught", formal education or not. - Wrong. You were in an institution, for which you (or others) paid, that hand-feeds you the material you have to learn, and continually pushes you forward along their predestined path. That part of your total education is not self-taught. The part however you learned without getting credentials/points for it, is self-taught. I personally realized after half a year in university that it's a tedious waste of time filled with theoretical nonsense, so I dropped it, pursued my own projects, and landed a job within 2 weeks.
I taught myself in high school. Then I went to MIT and learned all the hard stuff. I was also immersed in an environment with other practicioners that I could learn from.
@VLAZ Whilst that's true, the direct-connection-between-brain-and-keyboard coding time for most development is pretty low. Most of the important effort, the stuff which distinguishes a proper engineer from "someone who writes code", goes into the design, and that's applicable regardless of the language.
16:32
@Battle It's not wrong. I dropped out of uni also. At uni you are given material to learn from by a professor, self taught you are given material to learn from by strangers online, what is the difference? Self taught is defined by "using ones own initiative rather than through formal instruction" - So the only difference being that uni is considered formal. Its fine to say time at uni isn't self taught but that's not what I said. Uni students can still be self teaching with personal projects, and will have to be self taught after uni to keep their skills up to date...
@flexi - I disagree with your conclusion: So the only difference being that uni is considered formal. - Formal appears a bit vague - you have to finish everything they demand you to do and finish exams with various point systems. And the system is to some degree streamlined globally. That's not just "considered" formal, that's as formal as it gets! The difference is significant - the issue with "purely" self-taught people is that without guidance they may go astray or fail to recognize their actual skills (positively or negatively). And they might miss essential information.
@flexi - But on the other hand they might know what they are aiming for and work towards that goal with more passion. Given the current education system, there is a LOT of nonsense to skip, while there is relatively little valuable to miss. During my first year at my job I filled a lot of my knowledge gaps, but I already came with the ability to start and finish a project with a relatively decent code structure (plus a wide variety of secondary skills which became indispensable up to now). Meaning I started as an already feasibly productive programmer from day 1.
@Battle It's not my conclusion, it's the dictionary definition of self-taught. Both require initiative so logically formality is the only difference. Also I am not saying uni is self-taught, I am saying it's possible to self-teach while also being at university!
@Battle flexi isn't claiming they are 100% self-taught. Unless the school the programmer went to was a code-camp style program, chances are that any productive programmer is self-taught in most or all of their practical knowledge. These are day to day skills and tools: the languages they know, build systems, version control, etc. In my experience, the self-taught portion of the typical uni grad vs non-uni grad's total knowledge overlaps greatly.
@Battle there's a reason new graduates aren't as good as programmers with 20 years of experience: you learn a LOT on the job through the years by working with new technologies etc. University gives you the foundational knowledge to develop and learn, you don't leave there knowing everything. The truth is that the vast majority of programmers (even those with degrees) are self-taught in their specific field of expertise through years of working in that field.
@Battle (cont) The theory (formally) taught at uni is the biggest difference between the two. The theory gives you context to put all the practical skills into and can help you develop a deeper understanding of why things work the way they do, but you can't be a productive programmer on theory alone.
16:32
Agree on the self-taught bit. Formal education is like a drivers license. Teach you enough to not be a hazard on the road and then get out and get practical experience. Knowledge in this field age fast so if you don't run as fast as you can learning, you cannot stay in place.
Some companies hire a junior to train up, but some want a junior with experience that can just do the job, without having to spend time and money training them up. I don't see how a junior is not going to need some sort of mentoring to get him to work optimally, regardless of his credentials. Senior people, maybe you could expect them to be left alone and do a job, but I don't see you doing that with a junior.
Thought I answered that with: There are plenty of junior developers that have 5+ years experience. They are still junior because they haven't developed their skills.
e.g. my last company hired a freelancer to update some very simple HTML. Their overall front-end skills would be considered junior, but they were okay updating simple HTML on their own without support.
So basically there are 2 types of junior. 1) someone that is just starting out. 2) someone that has experience in the industry already but has only learnt the basics

last day (15 days later) »