This is probably be one of those rant posts, so beware. I was listening to one of the podcasts I try to regularly listen, and heard a good description of a web developer. I like to call myself many names, and one of them is my linkedin title Junior Shark Trainer, one of them is web developer, which could be more precise (or broad) title than ruby on rails programmer.
If you do web development, or desktop application development (do those people still exist, hello? :)), you are required to know a couple more things than just wielding your programming language like a light saber, and slashing your enemies with it. Here is an example, in the past 4 months, excluding the text editors I work with, and explored, on the tasks involving web development I used:
- bash (to write server creation and management scripts and various other little things)
- sed (google it, it will blow your mind)
- ruby (duh!)
- html (plus erb, haml, handlebars)
- css (sass, scss)
- sql (yes it still exists, even if you are working with rails)
- regular expressions https://xkcd.com/208/
- centos linux distribution
And probably a lot of other things that I can’t even remember but went into web development process. OK, if your job title is Systems Programmer II then you are probably only expected to know how to fire up your editor, and crunch out code. I’m happy I never had to work at a company where someone else had to set up my development environment for me each time I got a new computer. I made a reference to being able to craft your own light saber in a post called Importance of installing your own development machine from more than two years ago, and I still hold that reference true. If you consider yourself a developer, you should be able to set up the thing you are going to develop. I’m not talking about knowing everything about anything. As you don’t have to know how to set up reverse proxy and make your infrastructure able to scale vertically and horizontally, on the click of a button. But if you, let’s say, want to bootstrap your startup, all of those things can be of use, before you can delegate them to employees.
Not my job syndrome also comes to mind, and I’ve had it before. Nowadays I look at it differently. It’s not my job to design and improve existing UX interfaces, but I’ve gotten interested in doing it at the moment. Or writing copy, marketing, trying to increase conversion, or basic design, none of it was my job a year ago. If I think about it, even web development was not my job seven years ago. I was a back-end database (oracle) programmer, the SQL skills are really useful even to this day.
So, embrace every learning opportunity, learn something from it, and do try everything. Even the ugly marketing/business/sales side of things, which is the hell on earth for an average developer, but if you are a freelancer, I won’t break this to you gently. YOU ARE ALREADY RUNNING A BUSINESS, a business of one that is, but still a business.
I might change my title to Thought Leader in training, whatever that might be. I just hope I’ll never get to be Programmer Level III anywhere. Who would say, it’s not that big of a rant after all.