As a developer, I never know whether to label myself as “front-end” or “back-end”. I love talking to clients and creating user experiences, but I also enjoy developing interfaces, databases, and what not. I always feel like I have to choose between the two, and I hate being pigeon-holed in one role.
I usually get pigeon-holed in the front-end role. I think it’s reasonable because I have a lot more experience working in user interface development, and I have a visual arts background. With people who don’t necessarily know this about me, I feel like I get typecast in the “front-end” role because I am a woman. It is a stereotype that women are more artistic than men, and that men can think more “logically” or mathematically. In the work place, front-end teams tend to be dominated more by women, whereas back-end teams are male-dominated. Both of these teams seem to assert their lack of expertise in each other’s work, and there is never a middle-ground for developers who do work in both.
What I like about being an app developer is that I can go back and forth from designer to programmer, and that I can do so without any awkward formalities. One day I’m working in Illustrator, the next in Xcode. Being able to learn from the “just designers” and “just programmers” is such a valuable experience in being an app developer. You get to appreciate both roles, and understand the different work flows.
Back-end development is often regarded as the more intensive and “intelligent” position. Even within that field, people who work in quality assurance don’t get the same respect as people who write the code. This type of thinking is incredibly prevalent among students who are seeking internships, co-op positions, or full time positions.
Simplistic statements like, “Ohh I don’t want to work in QA because they don’t do anything important and I want to write code” bother me. Truth be told, I had this mentality too when I started university. Working at ThoughtWorks, I am learning a lot about test-driven development, and it is making me appreciate QA a lot more.
I love programming – being able to solve problems logically and cunningly. Who doesn’t love that feel of getting code to compile and pass ALL of the unit tests?! Every now and then, I think it would be helpful for designers to think as programmers and programmers to think as designers. Both parties should take the initiative to understand each other’s role. In theory, it would force you to understand a software problem from a broader perspective and prioritize what work would need to be done. From a interpersonal perspective, it would get people to appreciate one another and value each other’s work. There’s definitely some degree of arrogance coming form both sides!
At school, I always hear the students in math, engineering, and science asserting how much “better off” and “how difficult” their program is compared to students in the humanities or social sciences. Don’t you know an undergraduate degree doesn’t entitle you to much anymore? For instance, being able to code doesn’t automatically entitle you to a good career (many undergraduate students in CS or engineering programs will contest this). Like any other job, you have to have the right attitude.
On the flip-side, I’ve often heard people in the liberal arts say that technology and science students cannot think creatively or are incapable of social interaction. There seems to be a lot of people who are too shy to assert their interests or opinions, but it definitely doesn’t hold true to everyone (myself included).
“Aw yeah, look how I can rock this sweater vest – bitches be trippin'”
These stereotypes don’t always hold true for everyone and it sucks that we have to criticize others to make ourselves feel better about our education. To a lesser extent, I see a similar divide between front-end and back-end developers. When you’re working as a team to solve a problem, that type of distinction shouldn’t matter. If it does matter, then good luck getting anything done.
As for my dilemma about being torn between design and code, I can’t decide on which role I like more than the other. To be honest, I don’t want to decide. I like being able to relate to and work with designers and programmers. I want to be like that kid in high school who jumped social groups every other day. Fo realz. One of the many things I have realized this term is: I don’t want to work in a position that forces me to choose one or another. Like any sane person, I like to have options.