I'm working at a tech company right now, and it's my first experience of "computer science" in the "real world".
For some reason, it feels really weird to call what we do "computer science". Maybe it's because, on a day to day basis, it doesn't really feel like science.
Of course the job demands reasoning, logic, and problem solving. But, sometimes, it doesn't. Sometimes it's about doing something you already know how to do, in order to just, well, make something.
Okay, hold up, I'm sure I sound pretty weird right now. But hear me out. When we first started the internship, I was in awe every five seconds. I was constantly learning something new, and every hurdle was a problem to solve. When I started my little adventure in fluentd, I had no idea what I was doing--I didn't even know ruby had a class called Logger. But, slowly, I learned things. I looked up the documentation for Logger, I figured out where gems were installed when I installed my fluent plugins incorrectly, I learned about delayed jobs so I could learn how to log them.
But, recently, I had to create a new feature for a small project the interns were working on. But this model wasn't really anything new. The feature was, but the process wasn't; I knew how to approach it, I knew what steps I was going to take, and I knew there'd be a few hurdles along the way (there always are), but I knew if I worked hard enough, I'd be able to solve them. And that feeling drained all the excitement out of the feature.
I'll be the first one to say that bugs are my favorite things to work on. Sure, you don't get quite the same kind of satisfaction you might get from creating an app out of thin air and being able to show that off, but I love the process. I love trying to crack the code, trying to follow a line of logic you didn't write, and learning new things along the way.
And these feelings worry me, to say the very least. I am not a ruby on rails master. And yet, I'm already starting to feel a little bored. In a very weird way, I miss the rush I got from knowing nothing about rails, and throwing myself into it anyway. But I have a feeling that's not how adults live their lives. They find something they like, and they master it.
I think the hard truth I've come to realize is that the title "software developer" means just that--a software developer. They're kind of expected to know how to do everything, and their job is to do it. So that people can look at the news from their phones or check the weather from their ipads.
All this is making me question if I'm really cut out for the world of software development. That being said, tech moves fast, and anyone who works with tech knows that you can never really stop learning in this field. Everything is constantly being upgraded and if you don't keep up, you'll fall farther and farther behind. Maybe this is just the kind of environment I need
Don't get me wrong, I'm not bored of ruby or rails yet, but I am bored of making single-faceted models with basic controller actions. I still have a lot to learn, and when I do projects for the company that aren't part of the interns' side project, I get that same feeling of excitement as I did from my first week on rails.
In a kind of funny way, I guess my greatest fear is knowing it all. But if I ever knew it all... well, then I'd know it all! And that would be insane.
I wonder what "real" software developers would say their passion lies in though. Is it the learning, the problem solving, the feeling of relief when you solve a problem after hours of wracking your brain? Or is it the satisfying feeling of creating, of being able to show people what you've done, and have them use it in their daily lives? For now, I definitely side with the former. But I honestly wish I sided with the latter. Maybe if I grew up a little, I'd change...