4 ms·
I expect senior backend/fullstack devs to be experts at at least one language, at least one RDBMS, and at least one extra tech like elasticsearch, mongo, redis,
by solipsism 8y ago
I expect senior backend/fullstack devs to be experts at at least one language, at least one RDBMS, and at least one extra tech like elasticsearch, mongo, redis, etc.
OP, ignore stuff like this. "Expert" at a language is an extremely high bar, and not very important. Workplaces that focus on language expertise (and other narrow skills like "mongo") tend to not be great places to work. By definition the leadership at such places clearly doesn't understand what's actually important. These are the places where management obsesses over ludicrous metrics and where the worst whiteboard interviews (with questions about obscure language features) are conducted.
There are places where you're seen as a person rather than a bucket of buzzwords. Such jobs value your general intelligence and emotional intelligence a lot more than # years in language X. There's room for you to bring all kinds of skills and expertise to the table and you don't have to worry about fitting some mold.
The real measure of success at such places is getting stuff done, and that's done at the team level. A team doesn't have to be N "experts" at language X and trendy technology "Y".
- nickthemagicman 8y agoI feel like experts 'get things done' with less tech debt though and are therefore more beneficial to have on a project.
- solipsism 8y agoI don't agree at all. Being a language "expert" doesn't mean you know when to write tests and what kinds of tests to write (which is mostly a language neutral skill). It doesn't mean you know how to choose between a quick hack and a well thought out design (and again, language expertise is not the most important ingredient to producing a good design). This discussion reminds me of those about "intelligence" and IQ. Many people believe intelligence is a single measurable metric, when in fact it's a constellation of many kinds of aptitudes. Being a senior coder is about a lot more than language expertise.
- nickthemagicman 8y agoHm. I feel like there's a correlation between knowledge of a language and being able to design well with the language. I've noticed my design skills go up drastically the more I learn about a language. For example in most PHP frameworks there's a service container you bind your services into. In RoR that does not exist. Using asyc/await vs promises makes very different design decisions in js and if you know only one you may not design something optimally. I could go on. But my point is that lang expertise gives you the knowledge to design things better, and reduces your chances of putting out a quick hack because you know how to do things properly and rapidly due to you expertise.
- solipsism 8y agoUsing asyc/await vs promises makes very different design decisions in js and if you know only one you may not design something optimally Optimally? How would you even define that? Good developers make good use of the tools that are laid out before them, and sure the available tools differ in each language. But: 1. These languages tend to have more in common than they do different. 2. These concepts aren't magic. They're relatively easily understood, and you can make good use of them long before you can call yourself an expert in the language. 3. A good design doesn't necessarily make use of any specific language feature. e.g. a Go library might be well designed and make use of mutex (a very generic and ubiquitous concept). It's not a "quick hack" just because the author didn't choose to use channels.
- nickthemagicman 8y agoI agree you can "get things done" in any language if you know the concepts. But an expert at a language gets things done in the most optimal way, most rapidly, with minimal tech debt. That's all I'm saying and it may be anecdotal but it's been my experience in the industry.
- squirrelicus 8y agoAn optimal design is one that addresses the most problem complexity while introducing the least incidental complexity. It's objective, but difficult to measure. If you use cron to implement a hello world program, the design is not an optimal one, for example.
- squirrelicus 8y agoI think you may be filling in some blanks here. Do you think that if you came across a developer who's been doing JavaScript for 10 years and didn't know bind, call, and apply, or a 10 year Java developer who didn't know how to set max heap size, that that person is likely to be smart or get stuff done? I've come across them. I've hired them. They're people who habitually blame others and dont move cards.