Are you searching for an IT job or do you want to want to label your skill level in this area? Are you junior, senior or something in between?
Answer to these questions might appear to be generally solved and obvious, but actually is much more complicated. We will try to focus on this problem in more detail and show you the difference between mentioned positions and what role does experience play when identifying your authority.
If you ask two experienced developers how would they describe a senior position, you will probably get two different biased answers. Definition of this term depends on the context. You are asking - how can I, a junior developer, objectively determine that I have become senior? We can never draw the line with absolute confidence.
Labels of junior and senior are difficult to define because they both can represent one developer at the same time. Depending on the context, if a developer is considered senior in relation to .NET platform, he or she can simultaneously be considered junior relating to HTML5 and other new technologies.
In general, junior developer is a person with less than 2-3 years of experience working on any platform. Juniors get less complicated tasks at the beginning thanks to which they should later be able to solve even more difficult tasks. They still require senior help to some extent. We also don't consider them suitable for interaction with customers. A senior is needed for collecting project requirements.
The mentioned senior is at the opposite pole. He or she usually is a qualified expert within chosen technologies and is responsible for mentoring younger team members. There is no good answer when asking after how many years can we consider developer to be senior. While some say that senior has experience of minimum 5-7 years, others say that developer becomes senior after 10-15 years. So the opinions vary. It also depends on one's skills and interest in learning new things during the entire period of working with the chosen platform. It could be said that majority of developers label themselves as middle, meaning something in between junior and senior. One of the main characteristics of a senior developer is bringing improvement within a project (mainly in parts that were lacking attention) when getting assigned to it. A good senior can identify problematic parts and get work done where it is needed.
You can get the idea from linked triangles graph by Brandon Hays. It simply explains the relation between labeling developer and required/provided help:
If you settle for this graph, you only get partial information. Another, more complex point of view is represented in the following Venn diagram, also by Brandon Hays. This one describes the senior position very idealistically and seniors do not always possess all the qualities:
In freevision's team we employ seniors and we like to give space for learning and growth of bright initiative juniors. Under our management and guidance they are able to develop new software, mobile and web applications or tailored CRM systems with indistinguishable quality from seniors. Regardless of whether the developer is a senior or a junior, we consider ourselves to be capable developers willing to help each other.