
Photo credit: Pixabay
I read an article earlier today called “The self-hating web developer” that I found on Hacker News, and it bothered me. It resonated with me as something that I have professionally internalized over my career, but it bothered me because the author, Joseph, encountered personal financial difficulties for both himself and his family due to his struggle with inadequacy as a web developer.
For that reason, and insomnia, I felt compelled to write this as reference for anybody else who may be struggling with the same thing.
Credentials and the right to weigh in on the matter
I’ve been programming since 1998, professionally since 2000, so as of this writing, I’ve had about 15 years of professional programming experience. I have a bachelor’s and a master’s degree, programmed professionally (not dabbled) in 9 different languages, worked heavily with the big 4 relation databases and a couple of NoSQL databases. I manage infrastructure and work extensively on the DevOps side of things. I built single page apps before jQuery or Prototype existed, when nobody knew what JSON was. I’ve taught a programming class, speak regularly about programming, architecture, databases and fraud prevention.
And all of that is important because the reason for every single drop of it is…PHP.
Yes. That PHP. The terrible language. The language that everybody loves to hate on. The language that the author of that post earned a living with, provided for his family with, and felt inadequate for.
I went through the exact same thing, reading about how bad it was, despite miraculously delivering projects for clients, and it got old. Really, really old.
Real programming?
Systems programmers telling web developers that their job is easy, or that it somehow doesn’t count, is akin to an aerospace engineer telling a civil engineer that their job isn’t “real engineering.”
Programming is a broad field.
There are many different problems to be solved, and many different ways of solving those problems. Every language has tradeoffs that somehow tweaks its viability for that case. Every discipline has different factors involved.
If I’m doing data analysis with R, the problems that I’m solving will be very different compared to if I’m a cloud sysadmin, which will also be different compared to that of an enterprise sysadmin. I’m going to use different tools. I’m going to have different constraints. I’m going to have different people paying me to deliver a result that meets their needs.
Some areas are very broad, where you need to account for a number of different intermingling factors. Others are very deep, where X years of experience with a language becomes a true measure of your ability to wield it properly.
Web development is broad, especially contract web development. You’re not only pulling together server side and database code, but you’re also handling the HTML and CSS for the design. The JavaScript for the interactivity.
You’re working back and forth with clients to translate their visions and goals into a deliverable in an amount of time that lets you stay in business by earning a profit with randomized budgets. This isn’t exclusive to web development, it’s just an illustration of what happens when people focus on one part of what you do, while ignoring everything else.
Knowing how much you don’t know
Every language has a purpose
Hold your head up
Stay updated on the go with our mobile app.
Get latest insights with smoother, more personalized experience through TIA mobile app.





