What makes you a senior developer within an organization?
Is it based on your experience and your abilities as a developer, or does it also based on your management skills in that you would have a team of developers under you?
I worked at a place where the senior web developer scoffed at me when i pointed out he wasn’t sanitizing his data before running it in a SQL query. I said could drop our Database this way. He laughed at me and said that only happens in ASP… sooooo he wasn’t hired so much for his programming expertise.
Of the few senior developers i worked under, most had that position because of their development skills first and management skills second. My very first job had no senior developer, just a project manager who would lead the team.
I’ve worked for mostly small companies, so i’m sure it varies from company to company based on size and dynamics.
It can be as simple as you have more programming expertise to those who are your junior, but equally it could be that you have other abilities that your juniors don’t - managerial for example.
Here where I am currently working, I am the senior developer - this is because of multiple reasons which have been covered.
In my experience, it was the ******** skills.
The person that hires them has no idea about what’s needed, and hires an X-cook in a senior developer position, with the senior developer salary.
Again, I only work in small companies, under 50 people.
Senior developers are basically “go to guys”. They generally have more experience with the companies system than anyone else there, they can “make it work” to stop loss quickly if someone screws up, and they have a really good idea what upper management ultimately wants if anyone gets lost during a project.
They’re kind of like a fire sprinkler system, they seem useless because all they do is sit around most of the time and they’re a little expensive to maintain, but in the event of an emergency there’s no substitute.
Seriously though, to be a senior dev you need to convince your manager that you are a senior developer. There are several ways to do this, depending on where you work.
If you work in a company where the managers are non-technical, develop your bluffing skills and become good at making reports and looking great. Make your boss’ life easier and you will be rewarded. Also be great, but this is secondary. (I’m currently on this path, but it is a bit lonely)
If you work for a technical company, develop your technical skills, be great, be nice to everyone, show off a bit and gain the respect of your peers. (This is the best solution)
Start your own company, then you’re the senior developer by default (also the managing director, accountant, washer-upper and tea boy). This is tough.
Get in on a startup. Convince non-technical investors that you’re the one for the job by having a great track record and, if you’re lucky, ride the company up and up. (My good friend is doing this, though his company may not survive. It’s a risk.)
Other ways I can think of:
Look the part, dress well, talk well.
Blog, become famous and doors will open.
Talk to strangers in the park, on the train, etc, etc. You never know. Seriously, I’ve got loads of work by just being chatty.
Our current senior developer is leaving but the guy is an uber geek, he seems to know everything about everything, I mean the guys talks in bytes!
I’ve been developing for a number of years now in a mixture of technologies but I don’t even compare to what he knows in general about technology! It seems my boss is keen to replace him for someone just like him (a human computer).
I think I’ve come to realise I’m never going to progress to that level here (or in general?) unless I lock myself away somewhere for a year and study every computer manual under the sun or get a brain transplant!