Today marks day 2 as a fullstack software engineer at Mount Sinai NYC. I've joined a pretty early stage project that aims to become the Slack-Uber-WhatsApp-like communication platform for healthcare. We have a startup feel but with the benefits of an enterprise backing us - pretty sweet.
I won't be speaking much of the project itself but I will share how I feel as a "fullstack" software engineer and what I see myself learning and doing. And just also where I am clearly lacking in skill and experience.
To build a system that caters to millions and billions of people requires a large breadth of knowledge. Thus why we work in teams; everyone can complement one another's lacking spots. Take for example Mount Sinai's first MVP: a chatbot underneath the hood.
To build a chatbot and integrate it into Mount Sinai's ecosystem, you need to understand all the moving parts: i.e., authentication of users from patients to whatever staff, how and who the chatbot connects to within our ecosystem, and also internationalizing our product for our multilingual user-base. Breaking down each of these further will too spin up numerous other questions.
So in short, it's not knowing about the actual technology itself, but understanding how it all comes together.
Though there's still two things to touch upon: job marketability and fun.
We as developers want to have fun. It only makes our lives more enjoyable when we get to work with new toys, and honestly, be cool among our peers. Using a particular tech and sharing about it is like buying new shoes and hoping our eagle-eyed friends will notice. You're hoping someone notices and compliments you. Otherwise it doesn't really matter. Fortunately I like Go. (But OCaml!! and Reason!!).
Then there's marketability. The current job market favors generalists, especially among startups and even the Big N tech companies. But do I think I'm personally valued higher now that my title is "fullstack?" It's a double-edged sword. I feel higher expectations. Expectations that I know certain patterns and best pratices at both ends of the technical spectrum.
Instead of using the term "spectrum," it may be more apt to illustrate our skills as a hexagon, or whatever n-polygon, akin to the charts in racing and fighting games: Speed, Power, Recovery, Skills, Magic.