6 ms·
There is absolutely a skill difference between senior and junior. The problem is that junior developers today somehow think they deserve mid or senior level sal
by tensor 9y ago
There is absolutely a skill difference between senior and junior. The problem is that junior developers today somehow think they deserve mid or senior level salaries despite not having the skills.
Developers are being told not only that higher level skills like algorithms and big-oh don't matter, but that they are such special people that they can even do jobs completely outside of their specialty like design, management, and other things.
Developers want to be paid like lawyers, but without the equivalent domain knowledge in CS that lawyers have in law.
- emodendroket 9y agoHey, man, if people want to pay me well and give me lofty titles I am not going to dissuade them. As developers I don't think that's our problem to worry about. Seeking out the most benefit for yourself is just common sense in the job market we live in and I'm not losing a lot of sleep over the prospect that I'm not as "expert" in my job as a lawyer is.
- zbentley 9y agoWhile I don't think you're a bad person for doing those things, can you see how this (repeated by enough people) produces the new-entrant-hostile hiring environment we currently have?
- emodendroket 9y agoSure, but I think it would be foolish to do otherwise. I was new once too, and even after I'd done my first job people were hesitant to call me back with no relevant degree and my only experience being in a small shop mostly working alone (for significantly less than the market rate, I should add). Now I managed to make my way past that gauntlet and I'm enjoying the fruits of my labors as a "senior" developer. I don't think I'm doing anything other than responding to the incentives created by the system.
- _s 9y agoAbsolutely! Though would you still consider yourself a "senior" developer, if a "mid-level" or "junior" starts working with you and happens to exceed your skillset in very noticeable ways? I know I've hired some exceedingly excellent programmers that made me feel rather amateurish! I guess what I'm trying to say titles are fairly arbitrary - and yes, the system is in need of a little shake up! Enjoy the perks the title brings, and stay humble :)
- emodendroket 9y agoThe titles are more or less arbitrary anyway. I'm not that hung up on it.
- vkou 9y agoSo is working for a living wage. Imagine how much room there would be for new entrants if you were paid $8 an hour! Everyone who wanted to could have a programming job.
- BillyWM 9y ago>I'm not losing a lot of sleep over the prospect that I'm not as "expert" in my job as a lawyer is I actually apply this logic in reverse. After seeing how lacking many "senior" developers are - given that we now call you "senior" after just 5 measly years - I've come to realize I shouldn't put much weight in the skills of lawyers (and other professionals) who only have 5 years of experience. Since we're not lawyers (for example), it's easy for us to give them more credit than they deserve, because we don't know enough about the domain to criticize them. After just a couple of years experience, developers can still write pathetic spaghetti code. If you're gonna high a lawyer with a couple of years under their belt, imagine them bungling your case like it's the codebase!
- s73v3r_ 9y ago"The problem is that junior developers today somehow think they deserve mid or senior level salaries despite not having the skills." If other companies are willing to pay those salaries, why would you say they don't deserve them?
- hinkley 9y agoBusiness is rife with people getting things they don’t deserve. Why would you equate availability with appropriateness?
- dsfyu404ed 9y agoI don't think you know many lawyers. Lawyers tend to have a lot of depth and little breadth of knowledge. They specialize. Most good computer people have one or two things the specialize in.
- chrisper 9y agoSo if I work at company A as a junior and get paid the same salary as a senior at company B, why is it bad that my expectation is to keep getting paid at the level of A even if I want to switch jobs? Or does your comment apply to fresh grads? Because then your comment would make more sense to me.
- mattmanser 9y agoBut algorithms and big-oh don't matter. All the CS stuff, by and large, doesn't matter. It's like learning biology when you're a Doctor. Might be slightly useful if you have certain jobs, but if you're a GP it's almost entirely useless. The difficulty in programming a web app is almost entirely complexity management. I just recreated a multi-million pound company's functionality without a single algo or any thought of big-o. Can you explain what deep algos or big-o knowledge I need to recreate booking.com. uber, airbnb, etsy, flickr, imgur, etc., but without their scale? Or maybe making an internal data input app with a basic rules engine, which virtually every business needs these days? No big o, as if you're only handling 10 million or so hits a year, you can make some pretty big mistakes and still have a nicely performing site. For algos maybe you might need one algo depending on the business, a ranking algo, or perhaps a pathfinding algo, something that will be extensively discussed on SO and laid out entirely for you, or you might just plug a library in. No CS knowledge required.
- Raidion 9y agoI mostly agree with you, but I feel like there is benefit in the knowledge of how inputs/processes do affect performance (aka Big O) as that demonstrates just a deeper level of thinking. It's pretty easy to get someone to understand doing stuff more than you have to is bad aka (no data calls in loops, sort at the DB not on the server, etc), but it's another type of developer to say "hey, this works good for now, but if this client has over X# of widgets we're going to run into performance problems, why don't we see if we can build a caching layer to share data across widgets". Just that type of person in a room bringing up those issues saves close to 100 man hours by the time that bug gets found by a client, escalated through client support, pointed, moved into a sprint, retested, etc. That's saving the company a lot of money in a very concrete way and delivering a better product.