
Ask HN: What *unsexy tasks improve a project or a team as a Software Engineer? - mortond
*Just to clarify, unsexy means the stuff nobody really wants to do.<p>I&#x27;m currently working on a large project that is maturing and I&#x27;m trying to figure out what I can do on the side to support the team and increase the overall project quality.<p>I&#x27;m aiming to work on my overall knowledge of the tools and systems used by engineers, PMs, scrum master, etc. The idea being that if someone needs help with something I may be able to contribute something useful.<p>So far I&#x27;ve been trying to identify the most impactful tasks, some of which might be:<p>- Gathering statistics about, and contributions made, to the project daily and generating a newsletter after each release. This could be automated and would help with distributing knowledge across the entire team.<p>- Fixing linter warnings in the code base. Warnings can be introduced for many different reasons and some get very little attention.<p>- Documenting why something was added as a dependency during development. For example in our frontend stack there are tons of dependencies that have been added by senior members of the team but the reasoning was never communicated.<p>- Refactoring.<p>- Performance optimisations for web API calls or improving web API designs.<p>- Accessibility improvements.<p>- User experience improvements, maybe things like animations. I like to think of this as making the UI &quot;juicy&quot;<p>- ???<p>I&#x27;d like to know what others feel has had the most impact for their project or team.
======
Chyzwar
Write tests: unit, integration, acceptance. Integrate test in CI/CD.

~~~
mortond
We already have alot of unit and integration tests as high coverage was a
primary metric from the start. I'm not convinced on the value of alot of the
tests though so this could be somewhere to focus on.

I have introduced E2E/UI testing using TestCafe which benefits the
relationship between Devs, Quality Analysts, and Business Analysts. Mainly
because it forces all three parties to work together to define the UI level
testing up front which acts as a contract when signing off completed work.

