July 24th, 2013, 11:26 PM
Define senior PHP developer
1 - In a few lines (or a few paragraphes), how do you describe a "senior PHP developer"?
2 - How relevant is for a senior php develper to be very well knowledgable in Jquery, Jquery UI, Jquery Mobile, CSS, HTML and Mysql?
July 25th, 2013, 02:08 AM
In my experience that varies like crazy. At my previous employer, over 10 years, I went from Software Engineer to Sr. Software Engineer to Staff Software Engineer, and in reality I was performing Architect-level duties. Which was yet another level up in the company's career paths.
Originally Posted by zxcvbnm
But the definition varies from company to company. I surprised one recruiter when I explained that Staff was above Senior.
That said, when a company says it's looking for a Senior Developer, well... it can mean anything. The job I have now was for a Senior developer but now that I have the job I'm realizing they really only needed a mid-level with about half my experience. So half the time I don't think companies know what to actually ask for (or pay for).
So if you're looking for a job, just look at the details of experience they're looking for. If you're offering a job, well... look at how other companies list the jobs and get a feel for it from that.
Companies will often split it further into front-end or back-end positions.
Back-end is usually for internal employees where they're not quite so interested in making things look pretty. Functionality might be more complex, but there's less emphasis on design and presentation.
But again, the devil is in the details. I've learned not to assume a title means anything.
See above. Really depends on what the focus of development will be and whether or not they have a dedicated UX designer.
July 25th, 2013, 02:28 AM
The problem with even trying to detail it in these terms is that it exposes an extremely narrow focus in your perspective VS the perspective of Joe Anybody (whose perspective may be anything). I don't put DBA work in even remotely the same category as web development, for example, because they are two distinct disciplines. That they are often tasked to the same position doesn't mean that database work and PHP have anything to do with one another at the basic level.
What you're calling "Senior PHP Developer" we would call a project or team leader depending on the case -- because that's what it is. If the project is large enough to need a "senior" person running it you should have a database expert and a PHP expert -- but they aren't the same job, whether one person performs both duties or not. That's really an issue of project scale and a function of how much budget you have available to locate deep expertise.
The list of important skills you mentioned falls into different categories:
- Jquery* and PHP fall into a single category -- coding
- CSS and HTML fall into another category -- design
- Databases are their own world best left to DBAs unless your data is genuinely trivial.
In the case of the web design and "coding" and "design" have enormous crossover (this is particularly true of PHP and certain styles/abuses of Rails templating techniques). In business application development this would be seen as such a bad idea that any platform that mandates such a crossover be abandoned -- but its the norm in the web world.
Most folks want to wish the importance of data design away, because real DBAs cost real money. Hiring them on contract where possible can alleviate a lot of this, but that's rarely done in typical web projects. The result is that the web development world either says "everyone is a DBA" but actually just blindly rely on a framework's ORM engine to get things rightish (and either aren't aware or completely ignore that the best an ORM can usually do is provide a 1960's style navigational interface to data -- see comment on triviality of the data model above) or maintain that modern RDBMSs must suck and be hard to use because everything they come up with starts looking so convoluted over time.
Different disciplines, man. When you lump them together you're either describing a one-man show or a project leader who needs to at least have a firm grasp of everything in the list, because experts in those are working beneath/beside him.
July 25th, 2013, 04:53 AM
It can vary from place to place
Some will have an architect who designs the system, a senior developer to implement the design, mid level developers doing the work and juniors learning how to do it.
Then there are organisations who split by discipline, eg Senior Front End Developer - must have expert JS and CSS knowledge (taken from a job offer in my inbox)
I'm the senior developer for a number of reasons
* I'm the only developer (so I'm at the top (but also at the bottom))
* I have the responsibility of designing all parts of the application. Parts can then be delegated to mid/junior developers (we have none) or outsourced
* I am responsible for choosing and implementing a solution which meets both functional and business objectives, is robust, maintainable and could be completed/maintained by another senior developer if I could not continue to work (the colloquial English phrase is "got run over by a bus tomorrow")
* I have the foresight of how the project could evolve and challenge the business decision making progress to allow for unforeseen flexibility.
* I have an understanding of User Interaction / User Experience / User Expectorations / User Interface
* I have server administration skills
* I can debug other applications
* I can develop in all required technologies for the project (PHP, MySQL, HTML, CSS & JS)
I admit that as the only developer I'm at risk of becoming a jack of all trades and master of none. I can see this happening so am implementing changes so that the simpler stuff is managed elsewhere (eg having a GUI to our server, choosing an open source CMS for the bulk of the projects, moving into a more managerial role and outsourcing the grunt work) allowing me to focus on the development of our more cutting-edge projects and the underlying technologies
July 25th, 2013, 05:19 AM
If you want to be a senior developer for an agency/large(r) workforce then you will have to be able to support the other developers, so having a deep knowledge of what they're coding in (jquery/mysql/etc) is essential. You must be in a position to implement and enforce policy and best practice within your team. Ultimately you team will be coming to you for answers - can you answer them? what will they learn from you?
Originally Posted by zxcvbnm
July 25th, 2013, 05:59 AM
how do you learn in your job if you are the only one? I thought if there was more than one IT guy then you could bounce off ideas, learn off each other etc?
July 25th, 2013, 06:25 AM
It's difficult - I have to push myself to start a new idea and then perfect it. Notice how much time I spend in here?
Originally Posted by paulh1983
I think my boss thinks that because I'm a "PHP Developer / Web Developer" that I can do anything computer related....lets look at our CMS of choice, MODx. According to github there are 51 contributors, has 5443 commits since december 2006...then I get asked to build a new CMS in 2 weeks....because MODx "isn't intuitive enough" and clients need to be able to do "x,y,z" which they don't know how to do in MODx.....training training training!!!
July 25th, 2013, 07:20 AM
when I look on monsterboard.nl and I see job openings for a senior php developer, it usually means they've been programming in php for 5+ years... I think it's unfair to focus just on how many years someone has been programming. I had a classmate in college who had only been programming for a couple of years and he could do the most amazing stuff (makes me kind of jealous :P ).
July 25th, 2013, 11:01 AM
I was my former employer's first dedicated UI developer and we were a start-up. So by "dedicated UI developer" I mean I also did hardware installs, server administration, customer support, database design (we didn't have dedicated DBAs yet). But compared to everyone else I was still dedicated to a single focus.
Originally Posted by Northie
That set me on the path to being a Jack of All Trades, Master of Some. And now I wear that as a badge of honor. It translates to being able to talk to customers one minute, collaborating with DBAs the next minute, being able to triage my servers if nobody else is available, etc. And I think it translates well to the myriad responsibilities of an Architect-level developer.
Of course it's also made me a bit resentful of assembly line code monkeys, taking a spec, programming, unit testing, passing on. If I don't have a hand in the design or the bigger picture, now I just get bored.