I entered the software engineering world as a full-stack engineer, a generalist expected to be able to work on a variety tasks from the low-level to high-level and anywhere in between.
Now, as I continue my software journey I find myself wondering if I continue to fit that mold. There are benefits to specializing in the software world, experts in Android, React and countless other technical subjects are able to reach a greater depth and often rise to higher levels as experts in their field.
On the other hand, while it may be more difficult to gain expertise in the general field of full-stack engineering, most companies are looking for full-stack/general software engineers--gobs of them.
In my case, I prefer backend engineering, but wonder if it's too early to specialize. Since particularly for less-experienced engineers, most companies want people that can pick up whatever task you might give them.
When it comes to interviewing, many engineers are divided on the subject. Some see full-stack engineering as an invitation to ask any question, some specific, some broad. Others believe that asking highly specialized front-end questions, like how to style something in CSS, is unfair for a full-stack engineer. Just this week I screened a candidate who was concerned about what kinds of questions might be asked for a full-stack engineer. General front-end questions or more specific?
What about you? What interview questions do you find appropriate for a full-stack engineer? If you moved from full-stack engineering to something more specialized, how did it go?