In the last job I have gotten a lot of autonomy. I have been the only full-time engineer in a small team. My task was to create a machine learning model ready for production and to design and start work on the product integrating the said model.
I have felt that the team trusts me to do the job and therefore I decided that my time will be used best by applying myself to the actual development. I neglected meetings that seemed unnecessary and reduced one-to-one communication.
I have set up tools to monitor my progress with the model (like tensorboard and sacred[1]), kept meticulous issue-tracking and a well-maintained repo on Gitlab. I also have been writing short semi-regular reports on the progress of the model (current issues, things to try and test, current metrics and suggestions for the development). It turned out, no one has ever reviewed any of the above and the team relied only on my summaries during short, semi-regular meetings. My ways of communicating turned out to be mostly inaccessible to people without engineering background!
As a result I was accused of slacking off and was deemed not worthy of any equity in the newly formed company [2]. I believe that my biggest mistake [3] was lack of proper communication of my progress and complexity I was dealing with. I was also unable to convey why some things take more time than expected during modelling or software development (like data processing, writing unit tests, etc.). Hence, my questions: How to effectively communicate the progress to non-engineer team members? How do I set reasonable expectations when the team expects development time to be closer to a hackathon project than a maintainable and certified product? How do you explain the complexity and gotchas of the work that needs to be done?
[1] https://github.com/IDSIA/sacred
[2] I resigned as a result (still working on the project until the end of the year). I am now transitioning to freelancing.
[3] There were other issues on both sides too of course, but not pertinent to my questions.
* Very few words, and no jargon. Every statement is a meaningful fragment, like a subtitle.
* Colors, but not too many. Think of a pie chart.
* Numbers. Executives love numbers, but be careful. The numbers have to mean something that contains very few words and no jargon.
* Keep it short, because they don't care anyway. They are just concerned that something was wrong, something was done, and finally risk was reduced. All your words and fancy colors are quickly discarded so that a quick pass reassures them emotionally.
That is exactly how I would brief a business partner today unless I have full faith they are actively involved in the health of the product. It isn't that they are stupid, but that they don't care and you cannot make them care.