In my first job out of college and haven't really had any reason to start looking elsewhere until now. Our development cycle looks like this: 3 - 4 months of planning, designing, and developing 2 - 3 weeks of bugfixing and writing any automated tests not written during development 2 - 3 months of manual feature, regression, and cross team testing. Is it normal as a developer to spend almost half my time writing automated tests and performing manual tests? I have almost no interest in the work at all and my performance during these periods gets worse and worse as it goes on because I lose motivation to do the work. Just wondering if this is something I need to just suck up and get used to or this is a flawed system. YOE: 1 TC: 135k
Have you guys heard something called Agile?
Have you guys heard of something called boomer high management?
Feel you bro
Yes and no based on the size and skill of your current team. My company is large enough that the practice varies by team. Sometimes it is an informed choice to do what you explained regardless of team capacity and skill.
It is a massive part of dev work. Sometimes SDETs are employed do those in parallel to the work SDEs do, partially because of the morale loss you described, but sometimes not and SDEs need to take care of all development work
“2 - 3 weeks of bugfixing.” I find this unfathomable. How was so much buggy code written? Poor developer quality, or extremely brittle legacy code that must be managed? Either way, you need to get to the bottom of that and figure out a solution. What you’re working with now is causing a huge cost.
OP says it's also automated testing etc. so it would be the initial QA phase of the work
Not really the point of the post but we have a very large, customizable platform that is extremely difficult to support, so introducing new features often has unintended side effects that need to be fixed. We also spend about half this time writing automated tests.
Writing tests yes, unless you are pre 2014 microsoft. Manual testing no, you need qa testers. Otherwise your company is paying devs to do qa which also pisses them off.
Yeah might as well make em do operations and sysadmin stuff too. IT work as well it's all computer work
From the situation you describe it sounds like you are the victim of bad processes and management. True we write a lot of tests but these should be unit, then integration, with some functional tests. There shouldn’t be months of bug fixing if the appropriate due diligence in keeping code coverage high is adhered to. It sounds like you’re describing a...”let’s build this feature as fast as possible and as unorganized as possible with limited planning and then we will do all the important best practice stuff once it’s out the door!” Type of environment. Those are worst imo. They just result in unmaintainable spaghetti code, low engineering morale, and pissed off customers complaining about bugs.
Tests are important, they help make sure the code works the way it should do. If you don't have a team designed to making and setting up tests for projects , someone has to do it and who better then the person who made it in the first place. It's just how it is. Maybe your company had resources for a test team but probably not, easier to accept and get use to it then be upset about it.
I dunno personally I would be looking hard if half my responsibility was testing (as someone not interested in QA work)