The “average” developer field of interest
I recently got a comment that included this:
…this "Making code faster" series is pretty useless for the average developer working on the usual application.
And I couldn’t disagree more.
Now, to be fair, the kind of challenges that we have to deal with while building high performance database engine are quite different than the kind of challenges that a typical enterprise developer has to deal with. That isn’t quite true, we have the studio, which behaves very much like an application, but you’ll rarely see me talking about the JavaScript aspects of building the RavenDB Studio. I’ll just say that from my perspective, this post summarize my feelings about modern JavaScript dev.
But back to the topic, the average developer is a mythical beast., who apparently have very little time to look around from coding yet another login page that have to be delivered now. I have had several such discussions about this in the past. And I think that this post summarize the opposing view, pretty much saying that is offesnive to expect someone to have the time to improve themselves.
My thinking is that if you value your career, you need to contiously put it in effort to actually improve and extend themselves, period. And that isn't to say that this is easy.
Here is the deal, if you are only interested in what you can bring you immediate value (the hottest JS libraries, or some design pattern that you need to use tomorrow), you are doing yourself a disservice. In order to be good, you need to continuously invest in learning new stuff. And you need to do it in such as way that you aren’t continuously learning the same stuff over and over again (no, learning WebForms, MVC 1, MVC 2 … MVC 5, MVC Core doesn’t count).
Quite a bit of this isn’t really going to be useful in the near future, but expanding your knowledge base is going to be useful in the long term. You are going to run into things and go “Ah! I know that already”, or be able to provide much better solutions then the stuff that have already been tried.
Yes, that actually take both work and effort. You need to make time to do so, and when you have family and kids that isn’t easy. But it is worth it.
And just because I know people are going to read it as such, that does not mean that you've got to abandon the kids to raise themselves while you are hacking away at your latest interest. For most people, putting in two to four hours a week is possible. Feel free to cut down the time you are browsing Facebook, for example.
Comments
Couldn't agree more with that modern JS Dev post. As much as I enjoy doing some creative stuff in UI terms besides business logic so much I hate this mess that is present in the JS world these days.
Amen
+1, +10, etc. Could not agree more!
Good point. Many folks seem to be not aware that it is our responsibility to continuously learn. Even if we sometimes have to "hack stuff together" under pressure, learning allows us to do better next time.
Agreed. You have to take interest beyond your immediate scope of work.
This series is great and actually coincided nicely with something I was working on. We don't do anything terribly fancy and most days are 'average' but I learned a tremendous amount. Thanks!
Yep, some basics just to be able to spot bullshit, especially now when it's so easy to make software 'scalable' by wasting more money on the cloud infrastructure
On the same note as @Dalibor, once your work turns into a passion is when that interest and effort are applied. Unfortunately, it's not uncommon for people to lose that passion and usually... that turns into a maintenance nightmare for us.
Great post!
As a typical enterprise grunt I don't want to read about stuff about "usual" applications (except when it's about some cool feature). Your posts on the other hand I find very interesting. Reading about stuff that I don't get to work with (aside from pet projects) is what keeps programming interesting and exciting for me.
I agree to an extent, but I think a lot of us "average" developers focus on what will help in our current job or what will help us land a "better" job. Some of my favorite Ayende articles were in the days before RavenDB when he would talk about Domain Driven Design (we never did get a Macto sample project!) or review some projects and point out everything wrong with them and how it could be done better. I learned a lot more from those, because a lot of it was at least somewhat applicable. One of the best things I ever saw was that one video on Tekpub before they got bought by Pluralsight where Rob Conery has Ayende fix an issue (although the fact he chose RavenDB, while understandable, made it a little harder to apply to real-world scenarios in my experience).
For a lot of us, learning things beyond the latest version of MVC or latest Javascript framework might not be bad, but has little or no application to what we currently do so it's harder to justify, when learning advanced topics for things you currently use or could realistically use end up better choices not necessarily because they are better than learning the other things, but because they are more directly applicable
Not that his current posts are bad, but I do find myself less frequently visiting because the subject matter doesn't interest me.
Hats off on the facebook suggestion. It's obscene the amount of developers that claim to have no time to learn new stuff and yet they manage to spend several hours a week on social networks or online role playing games. Shame on them.
Could not agree more. Very nicely said that you should not learn some fancy new web framework, but maybe do something completely different, like if you're a .NET Developer writing code in C#, to try to learn a different language, for a different programming paradigm, like building a mobile application using swift. Or a scripting language, like python. Or for the language/platform you are developing, do something completely different, like doing stuff at a much lower level. Keep the "Making the code faster" posts coming! They are eye-opening!
Comment preview