One thing I want to mention is that there needs to be a high level of trust for it to work well.
If they don't trust you enough it will be hell. For example they will not understand why it took you so long to do X and Y. They may think you are being lazy, they may think you are exploiting their lack of technical knowledge.
Then they get uncomfortable and try to find out the "truth" for themselves with the help of their cousins and google. They will google "how long does it take to make a front-end?" and wonder why it's taking you so long when Random Jimmy on the internet says 5 days max to "make a front-end".
You'll be treated like a distrusted dodgy mechanic.
They may also annoy you with things to the effect of "My nephew said we must use MongoDB" and so on.
They need to trust you and get out of your way. Get out of your way means that they don't try to play some "I love Apps! I'm kinda technical" role with you. They also need to accept to live with your judgement calls and technical decisions while you work together.
- more autonomy on how to solve problems
- less accountability
- no opportunities to work at large scale
- your work is treated like it's magic
- you'll sometimes need to communicate technical concepts in a simplified way to peers and management
- no opportunities to learn from peers and more senior engineers
- no way to get specific feedback for your technical work
It's basically for people who want to get into a technical role but can't land a very demanding position yet so they take the opportunity to practice and develop their skills in a very forgiving environment. Or it's for people who have skills but for whom technical/career development isn't a priority and they want to be left alone, have more control over their day-to-day activities and collect a regular paycheck.
That job did not work out at all. I was not perceived as a wizard and my work was not appreciated at all. Nobody understood why requirement X was sufficient for a business analyst but not sufficient for me. When I did something smart with technology, people only saw the front end (usually a dashboard) and had zero recognition of of the work required to display that "simple" thing. Calculating a moving average or doing some very advanced thing was seen as equivalent.
As far as everybody was concerned, a "technical person" was somebody who did Excel Macros and VBA. That was their perception of me and my value. More than anything, I think people perceived me as a "special snowflake" who needed so much more (e.g. time) than other people to get work done.