Hacker News new | ask | show | jobs
Ask HN: Must a Senior Developer be proficient in design, UX and Photoshop too?
20 points by dassiorleando 3383 days ago
Had an interview for a Senior Developer position, they ask me if I have Photoshop in my Computer, also told me that I must be proficiency in CMS(Joomla, Wordpress, Drupal, ...) !!! That it is the definition of a Senior Developer, and the basic is to have these skills after think to do others things else.

They also ask me how I'm going to manage a team with these skills if I don't know them well.

15 comments

It sounds like you applied for a senior developer position in some kind of interactive/digital/marketing agency... Skills you mentioned are required in that context. It would be different if it was a game dev company or embedded software shop or fintech software house, but all of them use "senior developer" as a name of a position.
Yes, interactive/digital/marketing agency. And they don't even have a design team or others things like that. Is it an abuse of languages right?
Most small and medium digital agencies I know of use the word "developer" in that way, as someone who sets up and manages CMS for clients, usually also doing customizations using stock plug-ins and sometimes writing plug-ins themselves. Handling all from configuration files, code to looks, UI and even marketing and photo editing when needed. And I can even tell you of some other companies that use title developer for people who only configure Microsoft Sharepoint for their clients, even more in my country people who sell newly build apartments are also called developers. It is just a word, it is not a real problem here.

The problem here in my opinion are your missed expectations and how are you reacting to this situation. I could just tell you "yes, those people don't know what a developer is" but that will not help you grow.

Looking at the whole thing from my perspective you seem to be very disappointed that this company did not meet your expectations and perhaps that you did not meet theirs. It's just a job interview. It's OK. Sorry if they were unpleasant, but it was their choice and arguing what a true "developer" really is will not change the outcome. I understand that you are upset, but what good will come from arguing about agency, that "doesn't even have..." ? There is not really a right and wrong in this situation, just you and that company did not fit together, do not think about it as your failure or as them abusing some kind of universal rule. It may hurt you, because you care, but really it's just a minor annoyance. A mismatch.

In a smaller service business, like a design agency, it isn't uncommon for each manager to be more skilled than their direct reports.

Example... I am a DesignWizard. I have a lot of business leads, more than I can manage myself. I hire minions who can do some of what I can do, but I am still responsible for the quality of the work. The agency continues to grow, and I now have more business than me plus minions can handle. SuperMinion can do all of the design work I can do, so promote him/her to MinionManager. As DesignWizard, I am still on the hook for the quality and delivery of all design work, but I'm trusting MinionManager to actually complete the work. MinionManager is pretty good design work, including CMS stuff (Joomla, Wordpress, Drupal, etc.). If MinionManager didn't know all of those things, I'd often get sucked back into the technical work, reducing the amount of time I can spend selling and growing the business.

They confuse the meaning of "developer". For them its someone who can develop marketing and digital goods - using Photoshop.
I'm proficient with most of the tools in designer's toolbox, but when design is not my responsibility within team, I've found a neat and clean division of labour between frontend and design - designer's output to fronted implementor is not done if said implementor needs to run any of the tools of the designer.

Before you jump to conclusion of how responsibility-avoidant I may be in frontend role, let me note that as frontend guy I make it explicitly my job to fully explain limitations as well as opportunities of the medium and give full specifications of the output needed. This way very few iterations are needed to maximize both creativity and efficiency of the output.

For a senior web developer for specific content management systems knowing how to develop sites from scratch for a content management system requires deep knowledge of the programming language of the CMS, the CMS module and plugin system and many more skills. It is now expected that you know more than just the programming language of a content management system in order to be a lead or senior level developer in the web development world.

These may require the capability on how to design themes for the CMS(Drupal, Joomla, ExpressionEngine) from scratch or using existing themes or templates, normally in Adobe Photoshop (splicing, layering, exporting and chopping everything up for HTML), creating custom modules for the content management system(deep knowledge of the content management system module build system, how to interact with external APIs (SOAP, XML-RPC, JSON, etc.), and normally a bit of system administration skills to move, upgrade and secure a site and servers from the development environment, to the testing environment and then to the production environment.

You would normally also have a very good idea (maybe not expert) of how content delivery networks work, how to scale a high traffic website to more then one database and web server, the proper changes that are needed to work behind load balancers, firewalls, etc.

Though with all of these required skills you should also be paid very handsomely since these are not easily obtained in a short amount of time.

I'm a Senior Web Developer and I have these skills. I do work in Advertising, but these skills would help anywhere. I've worked embedded with communications companies (in a B2C environment) and used these skills, so I wouldn't put this on Advertising only. Even with silos in an organization it saves time to be able to export your own missing assets from a comp or to be able to add a class to an element spit out by a CMS rather than having someone else do it for you. If you can't do that, I wouldn't call you a senior web developer. When I was Junior, I remember seeing job postings asking for these skills and DBA/ Cisco certification/ Desktop support and often those jobs weren't saddled with the term "senior". I think this post could be seen a bit as a sign o' the times...
Maybe they don't really know what a "software developer" does. Just move on.
>> They also ask me how I'm going to manage a team with these skills if I don't know them well.

That's the thing that gave me pause. Is that really a question that should be asked? If you're a manager you don't need to know your teams skills well do you? You just need to be a good manager, which is a skill, isn't it? So it seems like if someone is asking that question, maybe that's not a good sign. (I very well could be wrong on this, but my experience says I'm right)

You should have a base awareness of the tools that your team is using. It's the same for product managers, which is why some of the best product managers come from engineering backgrounds.

Do you have to be as good as your team members at their skills? No, of course not.

Going to be hard to justify hours, timelines and other managerial duties to the people that you report too as a manager if you don't know if your team is working efficiently.

Just my two cents.

The major problem here is that looks like there are not really a developer team behind, but just the Senior Developer. No designer and no others person who make good stuffs on photoshop or others grapic design tools.
"How long is this photoshop task going to take you?"

"A least a week"

Manager that knows little about photoshop: "OK"

Manager that is proficient in photoshop: "Really? Looked like a 2 day job to me"

Asshole manager that knows shit: asks one of your colleagues leaving out some details so he'll get a lower estimate, then tries to commit you to that timeline.
"Do you know how to develop software?"

No.

"Then how are you going to manage me? Exactly."

The job of a manager is to direct individuals to produce artifacts and integrate them into a coherent product. The artifacts workers produce are either about the work (assembly line, inspection), or they are the work (the sql, classes, functions, objects, scripts, images, and markup that constitute the body of a working distributed application). The software body, of course, works within the context of the runtime, which is usually a distributed, heterogenous process graph connected by well known if equally diverse protocols. And this doesn't touch the tools that you need to know (in all their variety), the technical/human processes that help move things along, the extra runtimes you need to produce real software (e.g. qa, staging), or procedures for deploying, troubleshooting, and improving running software.

This is a very large amount of knowledge, on top of the core data/algorithms classical CS education, and it grows even larger when you consider the full breadth of alternatives when it comes time to structure, build, and operate a real-world application.

Requiring Photoshop skill of a Sr. Dev is an organizational code smell. Properly, that role has much bigger fish to fry.

Depends on what you are developing. Right.
Depends on the country but often engineers are more expensive than designers.

It is not cost efficient to have engineers doing design, unless it's for prototyping.

https://en.wikipedia.org/wiki/Programmer_art

Development is changing. You have to be proficient in alot of tools, design tools and CMS's included. If you learn these things. It will just make you better. A good way to filter out the bad developer btw is too see who bitches about learning new things.
This may be true at Startup 2.0 but there are plenty of companies who still value people with deep development knowledge. While I've met people who are are skilled developers and designers and they can be incredibly productive and useful in many contexts, it's not possible to have the same depth of knowledge when your focus is split.

I agree that developers should always be eager to learn new things, but I think it's also reasonable for a developer to want to stick to development and not design.

I guess. I also get a ton of pushback from our design team because some tasks would be "too much work" that I show them can be done as a batch job in Photoshop in seconds. And specify the requirements that certain things be delivered in certain aspect ratios.

Our "creatives" tend to not know this stuff. Also they don't know other basic stuff about color spaces and typography.

You have to know a certain amount of these things in the webspace so that you can properly head off problems and explain requirements, especially as a senior developer.

More often than not, their "talent" (because they see it as a creative job) is more respected than your magic (because they don't have the faintest concept of what you do). If you're not in a technologhy company and it comes down to your needs or the designers, if you don't know their job too, you're going to lose.

I know all of this design shit, but I'm also a fullstack dev all the way down to the metal. It is possible. I just happened to grow up hacking on a C64, got into designing websites early and then worked in print production and dabbled in video for a while before getting back to software development.

I'm not arguing that's it's not useful to know design if you're working with designers. My comment was just that I think it's reasonable for some developers to want to stick to development. I also think there are plenty of roles available where the lack of desire to learn design isn't a stumbling block.

I do think it is possible to be good at design and development, I didn't say it was impossible. But if you want to keep growing in both, you have to invest time in both. Inevitably this means less time spent on each of the two things individually.

Design is the same way now, too. I've been doing UX professionally for years now and the competency level of front end development skills or view layer level stuff on Swift in the average designer has skyrocketed since just a couple years ago.
You probably applied to a design agency.

They generally want people with a broad set of skills as opposed to deep.

Developers at software companies usually have deeper knowledge, knowing how to scale stuff, and building larger projects in a maintainable way.

I think this would depend on the position. If it was some sort of design agency then it would not be that much of a stretch.
A senior developer shouldn't be managing designers, sounds more like a lead or management role.
No. Designers must be proficient in design and photoshop. If you're a dev working on UI you should have an eye for good and bad design/UX though. No engineer at a company I've worked for has had those dual responsibilities.
I agree with you too ramenmeal, Thanks. I was very confused, then I submitted it here for more clarifications.
I wouldn't say "must", but Photoshop is absolutely the best thing on the market for image editing.

What's your workflow for creating, say, sprites, if you're not using Photoshop?

> What's your workflow for creating, say, sprites, if you're not using Photoshop?

"Hey [designer name], can you export a sprite-sheet for [app name]?

Why would a developer be creating sprites? A designer would do that, normally.
Exactly.