I’m feeling completely worn out from spending my afternoon sorting out problems with the login controller on one of our projects. It was in a very messy state, containing a partially removed acts_as_authenticated, and the net result was that you couldn’t log in at all (don’t worry, it’s in an early stage of development. No actual users were harmed). After a few hours of clearing out code that was no longer useful and rewriting the rest from scratch, I think I’ve managed to replace it with a much smaller set of code that handles salted password hashes correctly and redirects the logged in user to an appropriate section of the site. More testing will be required.
I’ve learned that I’m happiest when my daily work involves lots of problems and questions to resolve. Not the bad interpersonal “my manager is an asshole” problems, but things like “how do we make it so that the user can create a blog with these features?” I like the aha moments that come when you’ve been staring at something for a while, and suddenly realize you actually understand why the example code is written the way it is, and how to apply it to your project. The downside is that after a full day of this, I feel like taking a very long nap.
Another cool thing I’m discovering at the new job is that I really like working with a team of programmers. I haven’t had a lot of opportunities to code on group projects, but it’s very nice to be able to talk to other people when I’m trying to decide how to approach the next problem. It’s an even nicer resource when my code is producing errors I haven’t seen before.
There were a lot of things about the old job that felt disempowering. We often heard other people describe our group as “just babysitting the data” or “not technical like the programmers”, and the general attitude was that other people were more qualified to decide for us how software functions we used on a daily basis ought to be designed. I really like being in an environment where I feel like I can just go ahead and get things done, because people trust me to figure it out or ask questions if I’m stuck. You might not realize how uncommon that is unless you’ve spent a while being treated the other way.