The difference between 0 years and 3 years of experience
With my third year at IBM coming around the corner I wanted to go over one of the changes I've noticed about how I approach problems.
When I started working at IBM one of my first changes I had was instructed to make was to create a new data feed into our system. One of my coworkers had always written these feeds, and any new requirements, and he quickly helped me get my enviornment set up. I didn't really understand what was happening when he went though the build and deployment process, or how to call an API (they never taught me APIs in school!) but I tried my best at copying what my coworker had done previosuly and tried to reimplement it myself.
The code itself was fairly simple, but being a newbie, I was constantly visiting stack overflow and trying to see what function I could use in Java to make the program do what I wanted. It was more of me trying to implement it somehow rather than me picking the optimal solution from the start.
And that is the largest change I see between myself now and myself 3 years ago.
I am no longer fighting with the code and figuring out how to implement the solution.
For example, if a new feed is requested to be put into place it's not a matter of coding the first solution that works, it's about coding the best solution that is the cleanest and most flexible. If I'm writing something new I don't think about the bare minimal solution, I think about the edge cases,the readability, the reliability, the maintainability.
Implementing a feature into one of our websites front-end's is the same situation. Instead of figuring out why my React component's props are not updating, I'm thinking about how this component can be reused and written in an elegant way that makes it easy to maintain and work with.
Having only 3 years of experience also means that I still do run into my previous mindset. There are still problems where I am fighting with the code for it to do what I want! But, with each passing month the amount of "what is happening" has gone down and the amount of elegant code solutions has gone up.