Hacker News new | ask | show | jobs
by JohnLBevan 4757 days ago
The definition of a full stack developer is someone who can develop for all of the technologies involved in the stack. What those are depends on the stack (e.g. Postgres SQL + Ruby on Rails + HTML5 + CSS + JS vs. SQL Server + C# + AppFabric + WinForms vs. every other combination of technologies people may be developing on).

Understanding of hardware / environment is a useful skill for any developer - not just a full stack developer - the only difference is the full stack developer needs to know about the intricacies of all areas rather than just the parts which affect their part of the stack (since they're dealing with all parts of the stack).

Understanding of the business is again outside of the definition of a full stack developer, but is a useful skill for any developer to have - if you can understand the problem you aren't so reliant on the spec/analyst to dictate requirements to you meaning you can make assumptions about how your code may change in the future and consider edge cases which are important at a technical level but analysts wouldn't have spotted from a functional level.

With both of the above points these are definitions of good developers - but don't sit in the core definition of full stack developer - the same as a good musician should be good at languages since they'll likely tour; but not speaking French won't affect their piano performance.

1 comments

> Understanding of the business is again outside of the definition of a full stack developer

Like all of these aspects you don't need to be a full blown business analyst, but a full stack developer does need to understand the business to translate business rules into application behavior/logic. Ideally this full stack developer can also understand the problem domain and app code well enough to collaborate with management / business when they try to introduce rules that would contradict other behaviors of the app or the current app architecture. And, doing this for enough time, you should start to internalize the business rules.

AKA: Behavior Driven Development.