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.
This is a great comment. And it's really hard to build that trust if people have zero understanding of what your work actually entails and how much work is required to do something.
It's actually easier when you come in a consulting role. You are perceived as somebody who has come in temporarily to do something the team cannot do.
When are working in a team, you are not seen as an outsider. People will try to understand what you are doing by fitting it into what they are doing. A lot of mistrust can arise from this.
Or maybe they should.
If a person can’t defend their decisions and explain their actions, how can they be trusted?
> If a person can’t defend their decisions and explain their actions, how can they be trusted?
I'm not suggesting that the technical person should be somehow exempt from accountability and so on.
However often the problem arises from non-technical people wanting to play the role of an expert on a specialised subject. Then they blame their lack of understanding or frustrations on the communication skills of the expert that has decades of relevant expertise on the subject. As opposed to their own lack of qualifications to be a participant in such a discussion.
When I go see my mechanic or doctor I expect them to do a good job. I have conversations with them and I can hold them accountable about the quality and outcome of their work.
However I don't expect to be sitting in a room around a round table of doctors discussing medical stuff and to understand everything they say or expect them to explain it to me in a way that I understand or expect to be treated like a peer in that group.
Coworkers are peers and trust each other. But they also communicate. Maybe this is too high of a standard but a coworker must be able to explain what they’re doing to me in a way I understand.
- 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.
Oh man, in my experience non-technical teams have been the polar opposite. It's sometimes difficult to reign in what sounds like "simple features" but are actually large technical lifts. They sometimes expect it to be "just a new button", but have difficulty grasping the work behind that.
In my experience it's just as likely to be more work as less work.
I suppose if the team truly gave you autonomy and didn't over-expect it might not be too bad... but it's stress inducing in my experience.
This isn't necessarily true. A lot of times all they see is the end result (e.g. a UI) and have zero understanding of the work it took to get there. What they may see is a unique snowflake who demands more time and space to do stuff. People can really start resenting you and feel like you are holding stuff back.
Yeah, this is the lack of understanding that I was referring to with the magic analogy. It can sometimes work in your favor and sometimes it doesn't.
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.