This question already has an answer here:
I work in a web development company that makes a range of websites for different clients. I have only worked there for about a year (this is my first programming job) and I'm currently part-time because of Uni. The company is fairly new, only a couple of years old, and very small (about 7 employees). The other developers are fairly inexperienced as well.
Most of my knowledge has been self-taught, and from what I've read, my company seems to be missing a lot of "best-practices" such as:
- We never write tests and have no automated build process.
- Everybody commits straight to master.
- We have no style guide for any of the code.
- Issues or bugs with sites are often sent over email or printed out rather than being logged in bug tracking software.
In the past, I have tried to make gentle suggestions in different ways, such as casually suggesting how we could integrate automated testing into our projects and I also wrote a semi-formal report on which agile approach would suit the team best and how it would benefit us and the clients.
In both cases, my suggestions seemed to be received well and the boss agreed with any points that I made but then the suggestions were forgotten after a few days and nothing ended up changing. In the case of my agile suggestion, we ended up doing a daily stand-up for about 2 weeks before it seemed to be abandoned because it took too long or it was a waste of time (I don't know the exact reason because I never asked).
I often feel demotivated at work because it feels like I am writing bad or messy code because it doesn't get tested or critiqued. Some of the other developers I have spoken too have expressed similar feelings, although some don't seem too troubled by it.
I want to suggest some of these best practices again. What is the best way to go about it and what should I focus on in my reasoning? I have tried to always express how the business could benefit from changes as well as developers, but I think my boss feels any change would just be too difficult.