How to Provide Value and Earn a Higher Salary as a Software Developer

in #programming7 years ago

 

Introduction

Hi everyone! For those of you who don’t know me (which is everyone because I’m new here) I have been programming since I was about 10 years old and have been working as a software developer and manager professionally for the past 15 years at a range of companies from start-ups to large corporations. So when it came time to write some blog posts I figured I should write about what I know, which is...you guessed it...software development!

If you, the reader (and thank you for reading by the way!) are a software developer or are interested in software development, then I hope my insights can be of help with your career. Even if you’re not at all involved in software development I think a lot of these concepts apply somewhat generally across many disciplines so if helps you out too then even better - let me know in the comments!

Providing Value

Anyway, down to business...this first post relates to something I struggled with for a long time when I was younger. I was never the best programmer, or even close to the best, which was always obvious because the internet, so I never really understood why companies hired me and why they seemed to value me and give me promotions and raises. I didn’t understand that as a software developer there are lots of other ways you can provide value to a business outside of programming software. I believe this hindered my ability to get the salary I was worth for a long time since I didn’t understand where my value came from.

There are lots of really, really smart programmers out there. Ones who can write their own programming languages and build complex machine learning algorithms. Unfortunately, as I mentioned, I’m just not one of them. Usually reading their blog posts makes my brain hurt and before I’m halfway through I just start scrolling down the page really fast as if merely getting to the bottom is some sort of achievement! The good thing, though, is that most companies don’t need that, and being able to do that isn’t something that those companies really care about. So the question is, what do those companies need? And what qualities do they value in a software developer?

Making Good Decisions

In my experience when a company hires a developer they’re looking for a lot more than someone who knows how to code. If they were only looking for coding ability they could easily outsource the coding for much less than the salary they are offering. But even though they may not consciously realize it, they’re also looking for someone who is able to make good decisions for the business.

Every time I write code there are tons of little decisions that need to be made. They range from things like how best to model a certain data set to what text should go in the button that was overlooked in the spec. Seriously, I got a spec once that just had question marks on the button! No company I’ve worked for has ever given me a spec that was completely thought-through and didn’t have things missing. Sometimes - more often than you might expect - they had things that flat-out just didn’t make sense. So if I coded exactly to the spec then I’ll almost always end up with a poor product. Sure it’s not my fault, it’s the spec-writer’s fault! But I’ve learned that shifting blame is not going to endear me to any product managers.

Understand Your Business

One of the key things to which I attribute my career success is that I am able to understand the product, understand the customer or end user, understand the business goals behind the project and understand what the spec intended. That enables me to make all of the little detail decisions that are left out of the spec to consistently turn out a great product. Once that happens then I start to get asked to write the specs, or at least be involved in the design process, and suddenly I have become much more valuable to the company than just a regular programmer.

So my advice, for what it’s worth, is that you take the time to really learn about the business that you’re in. Understand the products you’re building and the people who are using them. Use the product yourself. And don’t just try it once, but really use it on a day-to-day basis in the same way the actual users would. If you can do that then you’ll be in a position to be a really valuable asset to your company.

That’s all for now - if you’ve made it this far then thank you again, and I hope this advice will be helpful to you in some way. Please let me know your thoughts in the comments and I will do my best to reply to every one and follow/upvote any helpful advice or questions.
 

Sort:  

hi there, awesome advice :D thx for posting

Thanks, glad you liked it!

Hello, @Yabapmatt, Let me welcome you to Steemit. Hope you gonna have fun with our community. Feel free to follow me @rightuppercorner Have a great time @rightuppercorner

Thanks for the advice and welcome to Steemit! I'm new too. You can follow me at @travelingdiva