5 ms·
I see if here a lot and I don't think it's the right mindset to think of some dichotomy of junior and senior developers (unless you truly are in some sort of ap
by wizwit999 5y ago
I see if here a lot and I don't think it's the right mindset to think of some dichotomy of junior and senior developers (unless you truly are in some sort of apprenticeship program). Some of the poorest performing engineers I met at faang were high in level. You should act and carry yourself the same whether you're senior or junior in level.
- siva7 5y agoit's usually there to justify the wage band in companies who also hire fresh grads as you can't pay someone fresh out of school the same as someone with 10 years of experience. In companies who only hire seniors you ususally don't see this distinction anymore.
- AmericanChopper 5y agoDo people really believe there’s no relationship between experience and competency?
- MrPatan 5y agoThere is indeed, but careful with words. "Experience" meaning "practice" is the only thing that will make you competent. "Experience" meaning "time passed while on payroll at an org" is not. One is easier to measure than the other.
- AmericanChopper 5y agoSure, you could do a job for 40 years, and be useless at it every single day of your life. Which is why you want to try and do your best at screen candidates, and promote based on competency. But distinguishing ICs based on some model of seniority isn’t “usually there to justify the wage band in companies who also hire fresh grads as you can't pay someone fresh out of school the same as someone with 10 years of experience”, it’s done because the person with more competency is more valuable to the organisation.
- konschubert 5y agoThere are also differences in aptitude. The same amount of practice may produce very different outcomes in different developers.
- junon 5y agoBut "everyone can be a coder", so said the code camps!
- thn-gap 5y agoI disagree here. I've seen many cases in FAANG of someone being hired at a lower level than they should, just because the company gets away with it, and the hired person still gets better compensation than they were getting before. So you can certainly have both newgrads and people with years of experience being paid the same. Although not for the reasons that you initially mentioned.
- Cthulhu_ 5y agoYeah, skill differences should be obvious but also considered a problem, since in the end we're all in this together. I don't know how it is in the US, but over here it's really hard to find good developers, let alone ones that are willing and able to stick with one company for a longer period of time, so you really need to get people on a 'lower' level up to your level. I don't get it either. I'd like to get some recognition for 10+ years of experience, but for now I'm just "a developer". At the same time I see job openings for senior developers asking for only three years of experience. ???
- TeMPOraL 5y ago> I'd like to get some recognition for 10+ years of experience, but for now I'm just "a developer". At the same time I see job openings for senior developers asking for only three years of experience. I think the trick is to find a company to hire you and convince them to bump you to "senior developer", even on paper. All that matters is the title, because once you get it, you can put it on your résumé and apply directly for that role, and other companies won't be asking much questions. Repeat for principal developer, but keep in mind the risk of not being able to find an actual coding job. > I don't know how it is in the US, but over here it's really hard to find good developers, let alone ones that are willing and able to stick with one company for a longer period of time, so you really need to get people on a 'lower' level up to your level. US is still vacuuming up software talent from all other the world. Anecdote: of my real-life software developer friends and acquaintances, a good half of those I consider to be good developers are either working for FAANG or running a startup and either receiving or applying for YC funding. As for sticking with one company, this won't be solved while typical raises are non-existent. If the choice is ~2% per year of raise vs. 50-400% salary increase by jumping ship, good developers will keep jumping ship until they're either comfortable or hit some salary ceiling. Another point I tentatively bring up is, career growth opportunities tend not to be aligned with retaining good developers. Take a look at Dropbox's Career Framework, currently on the frontpage[0], or any other typical SWE leveling system. Senior+ is frequently no longer software development, but management in disguise. In other words, for software developers who want to get better at the technical aspects, career ends at the senior level. At this point, it's only sane to jump to a company that will at least pay more. This is something I frankly don't understand: a senior software developer is roughly the level where you can call a programmer competent. It's also a level where companies want them to stop programming and start managing juniors. This feels like a huge waste in terms of productivity, letting someone gain proficiency in a skill, and then prevent them from using it. But I guess the market likes it that way, so ¯\_(ツ)_/¯. -- [0] - https://news.ycombinator.com/item?id=27817519 https://news.ycombinator.com/item?id=27817519
- dkdbejwi383 5y agoThe two senior devs I report to routinely: - Approve one another's PRs (which are either 1 or 2 line things, or 2000 line behemoths. Never in between) without a review, or approve ignoring comments left by others - Just comment out tests that won't pass because of a change they made, rather than fix it - Because of the first point, sloppy mistakes and debug stuff (print statements) gets left in the codebase - Follow poor code health practices, like disabling deprecation warnings instead of updating deprecated code Whereas most of the mid & junior level devs in the team spend time writing tests, suggest new test cases for one another in PRs, discuss clarity of syntax, try to keep their changes minimal and understandable. I'm only really sticking around at this point until the pandemic situation has calmed down a bit more, and because I don't want to have too many short experiences on my CV.
- m12k 5y agoI think it's a sensible distinction (or two data points to help you map out a spectrum that people can evolve along), but it needs to be based on actual professionalism and skill, not just seniority. Like you experienced, some people don't grow, and their "10 years of experience" is just 1 year's experience repeated 10 times. A senior dev is experienced, pragmatic, effective (at both tech and communication), self-directing and low-maintenance (from a management perspective), and always leaves the campsite cleaner than they found it. They're someone a manager knows they can point at a general problem area, and feel confident that "good things will happen". By comparison, a junior dev needs much more hand-holding, and "pre-chewing of their food". They are less experienced, so have less of a sense of what the core of a problem is, what goes into identifying it, what a good solution looks like, how to bring it about, what techniques can go into that, and which people need to be involved at what point. Their tasks need to be broken down and specified more, they might need help along the way that they don't even know they should ask for, and their solutions need review. Being able to identify and classify these traits is helpful - both to help junior devs succeed despite their larger need for assistance, but to give all devs something to aspire to - everyone can always get better.
- munchbunny 5y agoI think it’s a useful shorthand to represent a set of traits and capabilities that good developers acquire over time. Just because there are junior developers punching above their weight or senior developers who don’t deserve the job title doesn’t mean the label isn’t useful. I do agree though that regardless of your level or the level of the person you’re talking to, you should be respectful, humble, and generous. But the junior/senior labels definitely exist on a spectrum. I have definitely moved from a more junior place on it towards a more senior place on it over time, even if exactly where I stand on it is for my colleagues to judge.