Re:Ask HN: How do you define a junior developer?
by whamlastxmas on Thursday September 22, 2016 @03:06PM
(#12559332)
This is beautiful. I'm about to have a job interview where they "test" for seniority to determine pay. These are all great points for arguing why I deserve the high end even if I didn't 100% ace whatever obscure questions they have on their technical test.
Re:Ask HN: How do you define a junior developer?
by rocket69 on Thursday September 22, 2016 @12:17PM
(#12557902)
I don't see looking for quick and easy wins is not a negative, nor is in opposition to understanding trade-offs.
Re:Ask HN: How do you define a junior developer?
by dccoolgai on Thursday September 22, 2016 @12:40PM
(#12558074)
Notice I didn't say "Negative -> Positive". It says "Junior -> Senior". Thinking about it further, I don't think it's possible to properly get to the second state (tradeoff-understanding) without going through the first (win-seeking) at some point in your career... in fact, when I'm hiring Junior devs I select for win-seeking behavior. "Tradeoff-understanding" is more of a philosophical disposition that one (IMHO the best engineers) arrives at later. "Win-seeking" is kind of related to the "I'm always right" point: A junior will say "Of course this is the best possible thing to do and there are no drawbacks" where a senior will say "Wait a sec - this might be worth doing, but let's understand what we're changing or giving up".
So, in a sense yeah - the Senior is still "looking for a win", so-to-speak but in a deeper zen-state where they realize "There are no wins: only tradeoffs".
Re:Ask HN: How do you define a junior developer?
by Tloewald on Thursday September 22, 2016 @12:43PM
(#12558115)
I think the "looks for wins" attribute is just a desireable trait period (like "tries to write good code"), but the ability to weigh trade offs comes with experience and changes how one looks for wins.
In the end, you're making a smart vs. wise distinction, and the two are neither independent nor opposed.
Perhaps fixes the problem in front of them vs. thinks about the problem in context (with the context getting bigger and hairier with more experience).
Re:Ask HN: How do you define a junior developer?
by rocket69 on Thursday September 22, 2016 @03:31PM
(#12559578)
No.
Re:Ask HN: How do you define a junior developer?
by falcolas on Thursday September 22, 2016 @12:39PM
(#12558070)
I think the point is that the "easy" way is not always the right way. For example, it's easy to memoize results returned from a database for 5 minutes in response to a request for performance improvements. It's right to understand the business requirements (including performance), deployment strategy, cost of being wrong, cost of being right, and so forth.
Re:Ask HN: How do you define a junior developer?
by jkchu on Thursday September 22, 2016 @07:38PM
(#12561246)
I think an important note is that for all of those "Senior" traits, the extreme of each can be negative as well. It is always important for a developer to find a balance between engineering excellence and providing business value.
Requires Supervision <-- +-> Provides Supervision
Creates Systems that are Resistant to Change <-- +-> Resolves Technical Debt
Looks for "easy wins" <-- +-> Seeks to understand tradeoffs
Capitulates easily to PMs/etc. (usually to the detriment of the business) <-- +-> Demands cogent plans from business concerns
Is always right <-- +-> Fosters discussion and examination of practices (especially their own) by the whole team
Easily dazzled by new things (libraries, etc.) <-- +-> Carefully weighs benefits and drawbacks of potential tools and practices
Easily frightened by new things (libraries, etc.) <-- +-> Carefully weighs benefits and drawbacks of potential tools and practices