It might be for some, but for many I suspect it is a job. An interesting job, but a job nevertheless. Elevating what is essentially an economic activity to the level of a "calling" seems strange to me.
I've been developing software professionally for over 25 years. I think I'm reasonably good at it, although I'm no rockstar dev. I enjoy working with software and it scratches an intellectual itch, but I wouldn't say it makes me happy and I certainly don't see it as something I'm "called" to. I don't see this as an obstacle and I hope there continues to be plenty of room for people like me.
I'm not quite the OPs age, but I'm in his orbit. When people like us started doing it, there was zero economic incentive, at least for me. It was something we just loved doing, like drawing or writing music, or writing stories. We just got lucky that it ended up being lucrative. That's what he means by being a calling.
In fact, in college, I seriously considered not doing coding as a profession because I liked it so much as a hobby. I believed if I had to do it for a job, I would fall out of love with it. Fortunately I ignored those concerns and have been coding professionally since the late 90s.
Folks have been making an upper-middle class living writing code since at least the late 70s (when my Mom started). There has always been an economic incentive. Now maybe no one was paying your sixteen year old self to write shitty JS code for that game idea you had, but if one had a BS in CS there were plenty of companies willing to pay you generously for your time.
Lol. JS didn't exist when I was 16, but way to miss the point! Ask your mom how many people knew anything about the computers in the 70s and 80s. It was a very small group of mainly ostracized kids. They certainly weren't doing it to get rich.
Which is why I used it as an example. No need to get personal.
Ask your mom how many people knew anything about the computers in the 70s and 80s.
Don't have to ask, I was there. And the number is irrelevant. Point is, you said there was "zero economic incentive". I'm saying there was plenty of incentive. Perhaps that wasn't your incentive, but that doesn't mean it didn't exist. Because it existed for others, and given that it was their primary incentive, they didn't always enjoy their jobs very much.
Eh, if you don't want backlash, maybe you shouldn't throw out things like this: "your sixteen year old self to write shitty JS code"
>you said there was "zero economic incentive"
I said, "there was zero economic incentive, at least for me." If you're going to be pedantic, at least read what I wrote.
You're just bound and determined to take offense, eh? Let me rephrase: "no need to make it personally about you, Clubber".
If you're going to be pedantic, at least read what I wrote.
I read just fine: "When people like us started doing it, there was zero economic incentive..."
>I read just fine: "When people like us started doing it, there was zero economic incentive..."
Lol. "You didn't build that..."
What's wrong with being average and making a living ? assuming of course there's place for average people in this field ? someone need to write those simple but boring CRUD.
This stands in many other industries of course, but the point is that not pushing for being better is not a viable long-term strategy if you need to earn a living from it.
But there is also the problem that average is relative. I consider myself average, when comparing to the best developer in my company. But I am sure he considers himself average when comparing himself to other outstanding famous developers.
Also, you'll be the first to be obsoleted, automated, replaced by a nice framework made by someone who had an itch to scratch at the other end of the world; you know, a weird guy with a calling ;-)
I do realize I'm lucky to do a job I still love, but my originally point is that perhaps we shoudn't 'force' people into a path they won't enjoy ; worse, you might make quite a few unhappy ones if some realize they aren't made for it after a while.
The "coding is easy, come and play" slogans we see around are false advertising.
I don't think anybody is being "forced" into coding.
"You should really have someone better than you doing this."
Try asking the internet a database or encryption question. Many times people wont even nudge you into a google search, they just shut the question down.
To program means learning advanced IMO. I have a hard time considering these 'software engineers' who have been doing Android Testing for 6 years 'programmers'.
On the flip side, you get some random 20 some year old kid with no formal training that builds the next gen blockchain.
You can do lots of stuff as an average programmer, but they cannot do anything alone.
No more than anything else could be.
I've found that after time, it's better to look at it from a much more pragmatic view. When I feel 'it's a calling' I get caught up in perfection and bike shedding. When I treat it like work and focus on outcomes ... stuff gets done :)
If you don't know your calling, finding it can be an expensive process. You can spend years and years and years trying it and frankly, there's bills to pay, even if trying new callings costs $0. Housing and healthcare in the US is outpacing the lowest paying jobs.
So yes, people hack their way into tech because then you can use the savings to do something else. In fact, I tried two callings and they both turned out to be expensive mistakes until I found out I happened to be useful to someone at programming. I still treat it as a career that I'm going to maximize my pay with. No one's sold me on having crazy passions in this industry because things change so rapidly. The required learning rate is also vastly oversold. Even front end development is settling into component frameworks.
Plus, if one guy with a neckbeard comes along and tells you "this ain't your calling, kid", should you really believe him? Maybe he's right, but maybe the next 10 people you meet could have the opposite opinion. In my experience, few people are actually brazen enough to tell a co-worker something like this, so you're not likely to get a good sample size anyway.
And my answer was always: learning to code is fucking hard. For everyone. Staring at code for hours not sure why it's not working is something we've all faced, but those who find coding a "calling", who find the process of coding so magical and alluring that it's almost an addiction, they see the roadblocks as part of the fun. Because at the end of every obstacle that is overcome is a little endorphine hit, and is another leveling up of our problem solving ability, of our general skillset.
Without that sense of calling it would be easy to give up, to chalk it up to "not being for me". But in the end, the draw wasn't great enough to compensate for the pain.
I would venture to guess that where you land on some largely imaginary "calling" scale affects your performance as a coder less than where you fall on the very real intelligence bell curve.
I roll my eyes sometimes when I hear about guys transitioning to software from the hard sciences because of the hype or money or whatever, but there is no denying that some of them have been extremely good at the job, quite a bit better than "average at best."
No, a job as a Christian pastor (being the first to come to mind) is a "calling". Shitty pay, every single person in a pew is your "boss", little-to-no retirement plan and 24/7 pager duty with no pager bonus. But, hey, you're not in it for the money. A job with flexible hours, employer matching, and a six figure salary is a "damned cushy job", not a calling. It might be for some, but it is not a given.
That said, the same thing went on in the 80s: "hey, programming pays pretty well, and there's not enough programmers! Get in now!" What we ended up with were quite a few folks that weren't particularly well-suited for the role who continued to do it because, well, you gonna walk away from that paycheck? Those I knew didn't particularly like their job. Those are the ones who only know COBOL after twenty years. I imagine it's only gotten worse as word gets around about what top engineers at Google are making (which none of the rest of us ever stand a chance of making).
Many of us didn't learn coding because it was lucrative, we learned at a young age because the intimate relationship between mind and machine drew us further in. You played a game and wondered how it was programmed, how could a bit of light in the screen could know when other bit of light touched it? It was a challenging and rewarding hobby that luckily turned lucrative. Even if it cost me money, I would still code things as a hobby.
If coding didn't exist, I'm sure I would be doing electronics. Curiously, once I dreamed electronics also didn't exist, so I had to become a watchmaker.
I remember clearly one day when I was about 10 yo, I was walking to school, and there was that question poping in my head about what I really wanted to do, and there was only one reply in my head -> programming computers. It felt so totally cool to be able to do that. Note than nobody in my near, middle or far social circle was involved, but I was an avid reader that I've read about it, and I thought it was fascinating. That was 'calling' to me. Hasn't changed.
Funnily enough I also 'graduated' myself to electronics the last 10 years, and I've tinkered with cameras, and watches... One thing I'm seriously looking into is to get my first 'project' pinball as well. Bring it on ;-)
For me, I actually feel passionate about tech choices because some tech is just awesome and fun. Most of the enterprise shit is not fun at all, but very sellable.
But as a junior Dev, I would start with sellable of course.
Sometime it's worth 'gambling' too -- for example in 2012 I went all 3d-printer-y, learned everything firmware, hardware, design tools etc -- my justification was a bit 'thin' as in "perhaps it's the new 'micro computer' generation and I'd better be on it" -- 9 months later I decided it wasn't, and dropped it mostly.
Then 2 years later I landed a HUGE paying job completely related to that tech, completely out of the blue, and that more than repaid the time I spent on it.
As someone with limited health and daily brain power I struggle with this. I have played with a number of programming languages and have made a bit of money with programming but I'd like to have deeper knowledge of a language and it's ecosystem. I have been struggling to decide which technology I should focus the most to be both more employable and work on my projects. Many of the projects I want to do involve websockets.
Should I focus on something like react/node/socketcluster or react/phoenix? Focusing on only Javascript might seem like the right answer on the surface but the documentation for node is quite poor and fragmented for things that are not the standard express + mongo stack. Node looks harder to learn when compared to phoenix and elixir looks like the best tool for the job. On the other hand there are a lot more jobs for node and almost none for elixir.
I'm currently thinking to focus on javascript for frontend and elixir for the back so I'm both able to find JS related jobs and work on my websocket projects while having an easier time with documentation and working with an exciting and pleasant language.
In contrast, new and exciting ecosystems (like Elixir) give you the opportunity to become a big fish in a small pond. There is the risk that the language/framework will never become popular (and maybe even fizzle out) but at least you will enjoy your time with it.
Coding is a calling. You can learn anything if you have the calling for it. If you learn because you 'should' (ie, it's encouraged by others and or/money) you will end up being average at it, at best.
Coding is not for everyone, it's a pipe dream. It's not because all modern tech is based on it that you should learn it -- same way as Lewis Hamilton doesn't need to be a car mechanic to be a good driver.
I've started programming at 12yo, got my first paid gig at 16, and I haven't stopped being a 'programmer' (as they used to be called) since, and I'm now 49yo. I can't imagine NOT doing any 'coding'. In that time I saw countless average/bad programmers (and there are more and more of them) who /probably/ would have been better trying to follow a calling of their own...
As far as having a successful career as a programmer, I think there is one major trap I've seen many, many programmers fall into. And that is 'mind sclerosis' -- ie refusal to evolve with the time/tools. People who are actually quite/very good at one set of tools sometime refuse to evolve and down these favorite toys in favor of what is perceived (often, they are) as inferior replacements. Problem is, 5 years down the line, they are no longer employable. I've seen that too many times to count.
The NEXT trap is to realize that your time is limited. You can't learn everything and you have to be very, VERY selective on the set of tech you want to invest your time in. Don't bangwagon on stuff -- ask yourself whether it's likely to be a selleable skill -- if not, don't waste time on it.