5 ms·
While I agree that in principle you can learn to code at any age, I think this article misses the entire point of every "learn to code" article. Whether it's ki
by buserror 8y ago
While I agree that in principle you can learn to code at any age, I think this article misses the entire point of every "learn to code" article. Whether it's kids, women, oldies etc etc.
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.
- some_account 8y agoYou are right to a degree about 'sellable tech' but I would hate programming if I had only learned Java and stuck to it because it's popular. 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.
- buserror 8y agoOh nothing stops you from having toy stuff around! I have a lot of stuff like that, but you don't spend 6 months on it, you spend an afternoon here and there on it.. 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.
- petra 8y ago>> you will end up being average at it, at best. 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.
- robertAngst 8y agoBecause then every time you ask for help, people tell you "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.
- samsonradu 8y agoWell, there's nothing wrong besides your job security, which will erode over time due to competition (low-barrier to being average) and also because your tasks could/will be automated. 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.
- signal11 8y agoVery good point. Eventually the routine stuff gets automated. For instance [1] is an attempt previously covered on HN to generate code from an interface mockup/screenshot. Obviously this'll take years of work to perfect, but because UI wiring code is pretty routine for simple forms, I can totally see this working eventually. [1] https://github.com/tonybeltramelli/pix2code https://github.com/tonybeltramelli/pix2code
- soneca 8y agoThat seems more likely when you are bad, not average. 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.
- andyjohnson0 8y ago> Coding is a calling. 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.
- Clubber 8y ago>Elevating what is essentially an economic activity to the level of a "calling" seems strange to 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.
- mikestew 8y agoWhen people like us started doing it, there was zero economic incentive, at least for me. 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.
- Clubber 8y ago>your sixteen year old self to write shitty JS code 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.
- choonway 8y agoI went into a programming gig knowing next to nothing about PL/SQL, but was able to resolve one of their longstanding mystery bugs due to my experience in debugging in general. It came about having to defend my work that was written in C.
- sonnyblarney 8y ago"Coding is a calling." 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 :)
- deleted 8y ago[deleted]
- deleted 8y ago[deleted]
- FLUX-YOU 8y ago>who /probably/ would have been better trying to follow a calling of their own... 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.
- saltycraig 8y ago"Writers write." -- Stephen King
- justin66 8y ago> 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. 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."
- ElixirIsCool 8y ago>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. 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.
- enraged_camel 8y agoLearning languages for which there are lots of jobs might sound attractive, but let me offer a different perspective: it is difficult to shine and become renowned in well-established ecosystems because so many people have so much headstart. Sure you might be able to get a job, but you will also be much easier to replace. 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.
- ElixirIsCool 8y agoThank you for your reply. It's very insightful.
- superplussed 8y agoI've known people who have tried to get into coding, where it was clear that coding wasn't a "calling". And they struggled horribly and suffered alot of anguish trying to figure out why it was so hard for them. 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.
- 121watts 8y agoWhat's wrong with being average?
- justinhj 8y agoI’m selective about what I learn by only one measure... is it fun for me? Usually it turns out to be not only fun, but also intellectually stimulating and brings new ideas in front of me. However over time I’d say nothing I learned on the side was of no value to my day job and to my overall development as a programmer.
- mikestew 8y agoCoding is a calling. 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).
- ASalazarMX 8y agoNo. Everything can be a calling. 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.
- buserror 8y agoOh, I really like your reply, thanks for that. 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 ;-)