10 signs you are a Senior Software Developer

Signs of a Senior Software Developer:

  1. Acquires a large foundation of knowledge and continues to learn.
    (Spends as much as 1 hour a day learning more about code. Which is why the Senior dev gets more done. Example: “That project was going to take two weeks. But while studying a came across this open source library that already does that. I solved this problem in an hour by referencing this project and using only a few lines of code.)
  2. Learns what the industry best practices are for a specific project before starting to code.
    (Humble, willing to learn, understands better developers exist.)
  3. Avoids code debt.
    (Frugal with time and code. Understands that debt piles up. Coding it correctly now will, sometime in the future, make a 2-week job take 1 day. Doing it wrong now will, sometime in the future, make a 1-day job take 2 weeks.)
  4. Follows the keep it super simple (KISS) rule.
    (Simplicity is so much more elegant than complexity.)
  5. Follows the 10/100 rule.
    (Code blocks are short. No classes over 100 lines, no methods over 10 lines. You code will natural turn into well-designed code just by following this one principle. You will likely end up using well-known design patterns. If you recognize those design patterns, that is even another sign that you are a senior.)
  6. Uses interface-based design.
    (IoC containers or not, the code is decoupled and uses interfaces, not concrete references that are hard to test.)
  7. Follows the don’t repeat yourself (DRY) principle and recognizes when they do repeat themselves.
    (Writing code takes time. Why would anyone want to write the same code twice?)
  8. Knows what SOLID stands for AND can show an example in actual code of each principle and why it makes sense.
  9. Writes unit tests to test code.
    (Are you still putting your tests in the Program.cs file of a Console Application? You’re not, right? Oh, you are? Seriously?)
  10. Doesn’t outshine coworkers, but instead, makes his coworkers shine, too.
    (When a quarterback wins the Super Bowl, even if named MVP, the rest of the team wins the Super Bowl too. Similarly, when a project is a huge success, you might be the MVP, but everyone in the project participated and contributed to its success, and everyone improved their skills in the process.)

Are you a Senior Software Developer?

My Thoughts

It baffles me that many developers don’t think that acquiring a foundation of knowledge is necessary. In 2010, I read the entire Pro C# 2010 and the .NET 4 Platform: http://www.amazon.com/2010-NET-Platform-Experts-Voice/dp/1430225491. I read it over time. One or two chapters a week and it took less than a year. I did the first 6 chapters really fast. However, I only did a handful of the coding examples. Still, I feel that it made me very knowledgeable in C#. Since then, I always read the “What is new” when a .NET version is released. I’m loving the new multiple level null check feature.

When I started working with WPF, I also watched every single WPF single video available on the now discontinued WindowsClient.net site as well as all the Videos on the Expression Blend site.

I think the key to being a Senior developer is always making the better decisions. Many developers accomplish a task and move on. Some developers design a solution and build upon it. The accomplished task usually is hard to maintain code and everyone wishes it had been done a different way or that it was part of a bigger solution. The designed solution is something that developers can work with, enhance, and improve easily.

Leave a Reply

How to post code in comments?