Are PHP devs still full-stack?

When push comes to shove programmers can typically do the job of a dedicated front-end developer but not vice versa. In many cases having a dedicated front-end developer is more a convenience rather than a necessity. Especially if you have someone like me who knows everything and I would say hands down I’m a better front-developer from a technical (none design) aspect than anyone I’ve ever worked with who claimed to “specialize” in front-end development. The only thing that made them slightly more valuable from a front-end aspect was design skills. However, most programmers (including myself) while not able to execute anything that will end up in Creative Arts are smart enough to build/theme sites to be adequate enough from a UX and design standpoint. Web sites and applications typically follow the same UX patterns that be used again and again. It is very different from print in that respect and more “programmatic” in nature.

Except in reality this only works for the server side programmers. At least where I am from a server side developer commands a much higher salary than a front end developer. So what is the incentive to specialize in the front end?

Additionally as far as I’ve seen most senior or lead programmers do not specialize. To me this shows that specialization creates a ceiling in your career path. Especially when moving between companies. Many companies do not have separate server and front end roles. So if you specialize you are just limiting your future career options.

1 Like

They might not need their specialty at that point in their career. But, are you sure they aren’t a lot better in one area than in another and that is maybe what got them to their leadership role? Managers are rarely specialists.

Specialization also doesn’t mean being completely ignorant of the other technologies in the stack. If you look at the layers of a web application stack, you could and should have specialists at every layer. Does it always happen? Nope. I said that earlier, some companies can’t afford it. But, when it does happen, should everyone be knowledgeable about everything? Should the devops person know JS, HTML and CSS so well, she can produce a stunning web page? Should she even have to know what those things are to get the devops job done? Probably not. Should the front-end guys or gals know about how to put a MongoDB shard up properly? Probably not. Should they know what MongoDB is and how it basically works? Maybe, but it isn’t necessary. Should a backend dev understand what it means to work with a proper shard key? Certainly. And should a back-end dev understand how the front-end dev uses the “resources” they offer through an API. Absolutely.

So looking at all that, it comes down to the processes you are involved in. The more processes you are involved in, the more you need to know, but not in a specialized manner. You simply can’t.

As a specialist, your specialty touches certain other areas from a process standpoint and you must know those other areas well (enough), in order to do your job right. The areas your process doesn’t touch directly must not be known as intensively, if at all. If you will, your knowledge is like a bell curve. The more pointy and thin the curve is, the more a specialist you are. Whether or not that spike is worth more to your company or anyone else or not, is the next question. If it is, then you can earn more money and will.

In circles where a PHP stack is used, the bell curve seems to be more rounded, simply because PHP is used more in small to medium enterprises. In other words, PHP devs are often working in more than one of the processes in the stack. But, I’d bet my last shirt a company like Facebook is full of specialists. :wink:

Scott

I said this above, and I’ll add, and the more the industry you work in is wanting that specialty badly, then you can earn more. :smile:

I did a poll in a PHP dev G+ community about this. So far, it looks like the majority of the devs see themselves as jacks of all trades. So specialization in this branch isn’t the norm.

Scott

I believe than anything would appear chaotic unless one has a lot of experience with it. I have experience in client-side, server-side, databases, legacy, frameworks, performance and a whole lot of other areas, including interpersonal and management skills. None of them seem chaotic to me.

To be fair, any area has its quirks, but we start ignoring them once we know how to deal with them.

1 Like

I thought it was just me, sliding from the fast-paced and ever-moving cutting edge of technological change! I work — for the most part — in complete isolation, so I have little choice but to do everything. I take the satisfaction of my clients as an indication (and perhaps vindication) of what I do.

I also find that front-end is changing a lot and after all I haven’t really liked front-end anyway. I have tried many times to keep up to date and to love a bit more, but I just can’t do it.

On the other hand, with PHP was different. I loved that language on the first sight (a love story I guess). Always trying to find better solutions, organizing things with proper architecture.

I don’t have to write front-end but I do web. As things are moving towards RestApis, lesser PHP (or other back-end) should be coupled with front-end. There are a lot who do both front-end and back-end, but I don’t know if anyone can keep up with both.

PS: Being lazy is a good thing on developing, always the shortest answer :smile:

Well I actually work on the full stack, but I don´t consider myself a “full stack” developer.
Node.js and isomorphic code allows me to work on both sides, backend and frontend using the same programming language, but it´s really hard to keep up with all.
Now we are working with mysql + node.js + react.js + html5 + css3.

It would seem, most devs consider themselves fullstack devs (or one could deduct, they have to be).

Here is the current result of the poll I mentioned above:

Scott

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.