Wednesday, August 1, 2012

What's The Edge of a Senior Developer?

I've been working as a Web Developer for more than 5 years by now, I consider myself a senior developer. Back when I was just starting professionally, I've prided myself as being a go-getter, energetic, and very passionate about what I do. I'm always excited to try everything cool and new in programming. I remember when I look at some of my older workmates, I see that they seem to be just "doing their job" and have lost their passion.

I remember one uncle telling me that being a consultant does have its limits to where it can get you - at some point you have to move somewhere else, like management, in order to continue growing. That's if you want to climb the corporate route; not my cup of tea if you ask me, and, if given a choice, I would choose a smaller competitive company where I could focus more on actual work than process. I often look in introspect and ask myself that as I gain experience, how do I differentiate myself from younger, "edgier" developers? I was one at some point and I felt that I can do any challenge given to me.

So what's my edge if you ask me? Experience is an obvious one. What I pride myself is I can learn and understand anything. I don't see myself just as a "PHP Developer" or "Web Developer", I see myself as an experienced software engineer. I specialize in some fields but really, throw me anything that needs to be done and I will learn to get it done.

See the bigger picture. Some developers give up or get discouraged when they fail to learn or see something as too complicated; some get discouraged when they see grunt work or spaghetti code to work on. Well in the real world, programming isn't always cool and exciting; you have to understand that there really is grunt work and you can't always re-invent the wheel. Off course there are always better ways to do things, but it is not always the right thing to do. Optimize for the right situation. Most times, it is better to keep the old working code because you don't have time and resources to re-write and re-test everything. Just understand how the system is built and you'll see there's always a reason why it's built that way (it's not all stupidity!).

You get it done, and you see the whole system working, it's not a perfectly built system, it's not using the newest coolest stuff, but it's working and it's ready to ship, and that's what matters to the end user/ client/ customer. Isn't it beautiful that you took part in it?

No comments:

Post a Comment