|I have been pondering on this for a while and need to get some feedbacks from fellow developers.|
Here is the scenario:
I am a developer documenting what I work on (apis, tools, etc) to. However, my colleagues don't. This have been driving me nuts but I cannot change them (I tried).
I also like to improve existing tools (build system/ code base). However, my colleagues don't.
Here is what every developer faces every day:
- No automated build (e.g.: Continuous Integration Server)
- Released archived as emails instead of FTP/Nexus like software.
- Developer builds production releases on their dev machines.
- Undocumented APIs/build system
- No automated test
- No clear roadmap
- No code review
- New developers are hired without going through any technical interviews nor have background
or experience required (programming language, software dev lifecycle, mindset).
The business was not doing well until recently which explains why all those things creeped up (although IMHO, automated build and unit test should be done anyway).
Now, the business is doing well, I managed to develop an automated build system after a year or so battling with management and reworking tools to make it happen.
New hires are coming in but I feel those processes aren't really used/sought by other developers. Some management folks seems to care about the issue but don't see the need as much as I do; a strong, well structured yet flexible software dev process is a very valuable asset for any company and should be respected fully.
No other developers (about 20) raised any concerns about the current software dev process, only me.
a) Am I too impatient since things are slowly changing ?
b) Am I too process oriented ? This is a 5+ year old startup.
c) Am I the problem ?
d) Is this software shop not a good place to work for and improve one's skills set ?
e) Should I just suck it up ? That's the startup world.
I really appreciate your feedbacks.