You are scaling yourself - So you have more time to focus on tasks that matter.
Rather than answering the same questions repeatedly, you can point other teammates to your doc.
It’s also not just a one time thing - Once the docs started gaining traction, you will see your teammates contributing. It takes time to get there, but it will get better over time, and it’s worth it.
Downside
1. Docs can get outdated - There will be times you need to go and refactor the docs.
2. You won’t get promoted because you wrote good docs.
Interesting one. I might approach it by trying to understand it from the PM’s point of view, and see if there is an even better solution than Excel.
These are some of the Qs I’ll ask:
1. How do you use Excel to track bugs? (Trying to understand his/her workflow.)
2. How does Excel solve your problems? (Understand what s/he likes about Excel.)
3. What are some of the things you wish Excel can do better? (Understand pain point)
Part of this is also building trust, so the PM can see your workflow & use cases as well, and hopefully come to a conclusion that while Excel may work, it’s really not the best tool for the job due to manual data synchronization work, and maybe GH issue or JIRA would work better.
I’ve also seen PMs enjoying using Coda as a complement to GH/JIRA to get a better picture to project overview.
First of all, there are those who asked for independence but that is definitely not the majority.
Secondly, if we are looking at history, why would we look at USSR instead of the history of China? There is never a regime change until a civil war broke out, and there is always blood involved.
Could you elaborate on the no control other than against themselves aspect?
I read this in the original paper, “Participants were randomly assigned to follow either the control schedule (eating between 8:00 am and 8:00 pm; 12‐hour daily eating period)”
Other than the N is on the lower side, how’s this way of setting up a control group insufficient?
It doesn't seem to be a strong argument to have non-deterministic tests.
There was the logic that generates the SSL key pair, and there is the faulty logic that consumes it. Based on the description, it seems it's an indication of missing test coverage around the faulty code. If, when the faulty code was written, more time were spent on understanding the assumptions the code has made, then maybe the test wouldn't appear in the first place.
This anecdote, however, does bring up a good point: Don't shrug off intermittently failed tests - Dig in and understand the root cause of it.
+1 to the approach of leading by example. I sometimes phrase it as, "Focus on what you can change, rather than what you cannot."
It is difficult to be in that environment that doesn't have a good engineering culture. It, however, should not stop you from doing what you believe is right.
If you are relatively new to the company, in order to bring influence, it might be worth it to build trust before "rocking the boat." Trust could be built through leading by example, or sometimes just take the time and understand why the process exists in the first place. Once people trust you, it may be easier to sell/propose new ideas to the team.
As an anecdote, I've worked in a startup in the past that allows engineers to push and deploy code to production without any form of code review or a single line of tests written. (Even senior engineers/tech leads do not always have tests to go with their commits.) This created a code base that contains quite a bit of spaghetti code, occasional build breakage, as well as a lack of knowledge sharing on different components (Even if you are on the same team working in a similar area of the code base.)
Rather than changing the process to mandate PR, I started creating a Pull Request (PR) for every single change that I made, made sure I have sufficient test coverage and added my teammates to it. If my teammate happened to leave a comment/feedback, I'll thank them on Slack, and let them know the feedback is useful.
Since then, while there are still changes that went out without any reviews, I've seen more reviews coming my way (2-3 in 3 months versus 3-5 in a week), and I always do my best to leave feedback/comment on the PRs asap. It wasn't perfect, but hopefully, these baby steps laid the foundation to lead to an eventual change.
John Wooden (Ex-UCLA coach) has a well-known quote, "Make each day your masterpiece." Rather than focusing on what I cannot change (Other people + process), I did what I can to make it better (My "masterpiece" given the circumstances), and I hope what I did may have changed how my teammates looked at PR.
What’s the goal of learning/using a new tech? Is it for a task? Or is it for your own learning?
If it’s for a task, I’d say:
1. Really spend some time to understand what you’re trying to solve
2. (If applicable) What pain point are you experiencing with existing solution?
3. Find tech (old or new) that might be a good solution, and understand their limitations/trade offs that you'll be making by choosing this tool.
Then, make a decision.
If it’s for learning, it ultimately is what are you trying to get out of the learning experience, and see if it fits your goal. (It is totally OK to learn a new tech just because it sounds cool - Learning more about something cool is a type of goals as well.)
Rather than answering the same questions repeatedly, you can point other teammates to your doc.
It’s also not just a one time thing - Once the docs started gaining traction, you will see your teammates contributing. It takes time to get there, but it will get better over time, and it’s worth it.
Downside 1. Docs can get outdated - There will be times you need to go and refactor the docs. 2. You won’t get promoted because you wrote good docs.