I'm 41 and a dev (and manager and bunch of other roles when needed, but most my days are spent with software/hardware dev) and sure, it's all true what this article says, but there is no real personal advice there besides, as others said, just 'don't do everything, but do everything'.
So some unasked advice from a 40+ then which I wish I was told when I was 17 or something: a) believe in yourself; learn from others, but if you have strong opinions or think something is wrong then voice it even though others (are supposed to) have more experience b) fast typing and making long hours are irrelevant c) get out there and mingle with non coders a lot.
All of these 3 points (I learned them at different stages, in order of appearance above; c I only started doing 3 years ago) made me never having to need a job as such, always worked where/when I wanted, always made enough money and usually have enough spare time to do whatever while still performing.
Funny, but those of us not living in the Bay Area do mingle with non coders a lot. It's actually hard to find coders to mingle with. When I visited Palo Alto for example it felt weird. On one hand it seemed great at first, hearing discussion on databases or JavaScript on the street from total strangers. On the other hand it felt like a bubble, like an echo chamber. I actually heard this guy saying he liked some girl and wanting to ask her out with the pretext of raising money for his startup. I was like "on what planet am I?"
It's one of the reason why I left Silicon Valley. I love what I do, and I love to meet with other developers, but I was tired of only meeting people similar to me.
Now it feels good to be in a real city with many different people, doing different stuff. It's much more fulfilling than living in a bubble with clones of myself.
I left the valley in 1991, right before the "web 1.0" bubble burst. I moved to Boulder, Colorado. It's wonderful here. There's tech companies--including an active startup scene--but people are far more balanced, even the nerds.
Most large metros will have at least a halfway-decent number of software jobs available. NYC, Chicago, Dallas, Boston, Minneapolis, St. Louis, etc. all have decent markets. It won't be like SV where there are a million startups, but they also won't be 100% corporate, either. Check out LinkedIn or Dice or something to check a specific area.
Eh, Dallas is about 80% corporate, with the majority being non-software companies. It's really depressing since I don't have any interest in that kind of work beyond the money. There is some small to midsize web/mobile work to be had, though.
Of course they won't be. If anyplace else in the country had the volume of jobs that SV had, it would have equivalent salaries. But it'd also have roughly equivalent cost of living. It's almost a certainty that you will make less (cue anecdata), but cost of living will almost certainly bring you out on top.
In my area unless you want to be one of maybe two "IT guys" in an office, there's really only 8-10 employers within a half hour commute. There is no shortage of turnover or people bouncing around between them as positions open up. Sure it's not like SV where you can probably swing a dead cat and hit someone looking to hire a Go ninja rockstar, but there are plenty of coding jobs, especially if you're familiar with Java or C#.
My interactions were mostly with colleagues/employees I selected and hired myself; hardcore geeks. It gave me social-ish interaction without having to talk about scary non-coding things. I have always lived in Europe and outside my group of friends and/or colleagues I didn't really interact much. And my friends were obviously mostly techie.
Edit: it sounds a bit more negative than it was; I was always happy but now that I discovered this whole new thing I am more assured that the happiness will stay as I have a broader base now both emotionally and business wise if that makes sense
Age is an issue with software devlopment. Early forties is not old at all, realistically you will likely be working for another 20 years unless you've already made significant money. In many professions such as law you're only getting started at 40. If in software it's an achievement to reach that milestone than something is wrong.
As one of the few left of my peers that still develops I would say that it is a milestone. There is a lot of burn out and churn along the way. I knew guys that left software dev to become a worm farmer. Most take the elevator up to management which is what I did becoming a CTO but I always position myself at small but growing companies so I could keep myself hands on with technology. I have two friends left that started dev around the same time as me (92). For most it's just not a long term industry and burnout usually takes it's toll.
That being said the web revolution happened in the early 90's and was a huge shift in development. There where a lot of older devs around at that time who where doing desktop and had no desire to make the jump so 40'ish is also kind of a demarcation line of where an epoch changed in development, so the fact that you see few over 40 devs could be a) that the web was small back then and there where only a handful of us doing it and b) The developers that where doing web in the early 90's where all young, therefore it is kind of origin of a new type of developer.
If you're talking about the internet, a decade is a long time and an important distinction. We're not talking about a 32 year old dev. I mean hell I know plenty of early 30s folks.
40 years ago was 1976. We're talking about people who were born not too long after we landed on the moon (or even before). There's just not a lot of people that age who both went into programming and are still doing it, as opposed to management or something non-technical entirely.
So while it's not at all surprising to see an early- or mid-30s developer (I work with many), it is very surprising to see a mid-40s developer (I've only ever worked with two, and one had an almost violent aversion to anything except procedural VB).
Programming is a skilled labor, not a profession, in that you are "supposed" to do it for a couple years and then move on. Like teens used to work at McDonalds and give weird looks to the creepy 30 yr old guy still working fast food.
When its not noteworthy for programmers to have an age distribution similar to the greater population, or for experience to be respected instead of being made fun of, then programming will finally become a profession rather than a semi-skilled labor.
Personally I don't mind being made fun of by the kids... I get a lot of money cleaning up their inexperienced mistakes.
Please. That's borderline insulting to people who have to earn a living through actual, physical, labor.
Every programming job I've taken has started with the "Do you see your future self as a senior developer or a manager?" discussion. It's absolutely a viable career path to stay a developer, or at least it is now.
And there's the tired "lol these 30 year old kids don't know what they're doing I'm getting rich fixing their mistakes!!" tripe.
It may be obvious (i.e. general networking effects), but what dynamic let c) give you work and freedom? Please elaborate.
As a coder who really dread interacting with people (especially non-technical people) in the context of work, I'd like to know how this advice would change my life.
Well I had the same thing; I liked to really stick with techies and went to coding events (as far as there were any here). I thought that was nice and it felt like doing it right. Somewhere after selling a company I went travelling and relaxing for an undetermined period of time. Until I really didn't like that anymore and I wanted to get back on the horse and start full time coding again (I'm not the best with self discipline).
A friend told me to go to a fintech event and because it was 'tech' I thought I would meet a lot of very technical people (so same as always). There were only business people instead; most of them had a (long forgotten) technical background but only few were practicing any tech at that moment. I met a lot of them and exchanged ideas, possibilities and contact info. It was in a friendly way as I didn't go there to get work/jobs/projects; I was there to see what this market was like.
I liked it so much I went to a lot of non-tech startup events and general events and talked to more and more people. After only maybe a month or two people started mailing with questions, projects, business proposals etc. One of them I am working on now full time and others I advice, have shares in or work with in some way as the tech adviser.
I dreaded the interacting part like you and I dreaded flying; I started doing both of them (as they are usually intertwined; I need to get to people obviously) a lot and now comes naturally and I sit talking to everyone; on the airport, in trains, in bars, wherever instead of staring into my phone or book. So when I got over this whole dreading sensation I expanded to a much larger circle of non work related friends as well as work related contacts & combinations of the above.
TL;DR the dynamic that gives me work and freedom is the fact that when knowing a lot of non tech people, acting and/or being 'senior' and being able to drop names of people/companies/projects they also know (hence the 'a lot' part) will put you in a position of adviser and tech-trusty. Which gives you opportunity and freedom as you do not need to prove yourself at all anymore.
Thanks a lot for elaborating. I suspect I need to get over my social challenges to make something like this work. And probably move (or travel more) to places where these gatherings actually happen. I live in a "technological desert" at the moment, which is a challenge in itself.
I can't emphasise enough how important (c) is. Personally, I find programming to be emotionally challenging in that you have to put emotion, and your own thoughts aside when cutting your code. Add in to the mix the social dynamic of the workplace and the emotional workload doubles.
I always had a feeling this was important. I remember reading about NEDs (New Economy Depression syndrome) and identifying with that, but it wasn't until I went and did a diploma in psychology that the rationality behind it all crystalised.
Across all fields that study wellbeing it's fairly conclusive that social support is one of the most powerful mediating factors. In summary the more friends you have the happier and healthier you will be.
How does this relate to "non technical people"? As a friend once said to me once, when I was going through a particularly kafkaesque work episode, "you need to get outside of your head". You need to engage with people on a plane other than the one you work upon every day - to give those parts of your brain a rest and to help you to develop others.
People are hard though. In many ways more difficult than computers but the key thing to remember is that unlike with computers there isn't a right or wrong thing to do at all times. People have empathy, they can be sympathetic, they can meet you half way and they can help you to figure out what you're thinking.
Start off with something small, where you don't have to have too many interactions, but where you can be around people. I don't know why but for some reason communal drumming classes comes to mind. The key is to be around people where they will get to know your face and you theirs.
I guess my current strategy for handling social dynamics (as an introvert) is not doing me any favours. I usually get quite close (in a professional context) to 1-3 co-workers and have most of my interaction at work with them. All others I keep at a distance. Then again, social interactions with people I don't know very well is really draining for me, and I can't spend that kind of energy at work.
I've always done this, though. I have a few friends that are very close, that I can count on for life, even if I don't "nurture" the relationships continuously. But making new friends is really hard.
All I can say is, I used to be like that. Your approach to professional relationships is healthy as far as I can make out ("1-3 co-workers ... All others I keep at a distance"). The only thing I'd suggest you develop upon is the relationships outside of work, keeping things lightweight (superficial, even) if you find people draining. What's important is to just be there. Socialising is like a muscle the more you use it the stronger, more enjoyable, and easier it will be to use it.
Hmmm - not necessarily... The operative term is "social support" so as long as you have access to that you should get the benefits. More relationships provide more access to support and stabilising relationships. Strength of relationships are of course important and an important correlate of social support but not a be all and end all. For instance you could obtain support thru sports club, church, book club etc of course you want to stay away from 'negative' relationships too which is easier for the more superficial ones. Strength coupled with a bad relationship can be quite damaging too
There's a lot of money out there that code hasn't touched yet. Biological sciences in particular are remarkably stuck in the 20th century. Don't talk to them about bioinformatics. Listen to the things they're doing. As though you were 12. And just ask questions.
I'm 36 and really want to develop (c). I have decent social skills but I have no idea how to find non-coders to mingle with. Where does one start? Meetup groups? Cycling groups? Creating art and showing it?
I find sports are the best for meeting people and actually building a relationship. In my experience, floor hockey, slow pitch, hiking and cycling were good. Oddly, running groups were not. Also better results if it is a mix of men and women.
I think bringing a friend is essential. It reduces the awkward times when you don't know anybody. In addition, it doubles the chance of meeting people because your friend meets people too. A wing men are helpful :)
Art is solitary.
When I go to planned meetups for drinks, it is just small talk or ulterior motives (ie. they are looking for work).
So some unasked advice from a 40+ then which I wish I was told when I was 17 or something: a) believe in yourself; learn from others, but if you have strong opinions or think something is wrong then voice it even though others (are supposed to) have more experience b) fast typing and making long hours are irrelevant c) get out there and mingle with non coders a lot.
All of these 3 points (I learned them at different stages, in order of appearance above; c I only started doing 3 years ago) made me never having to need a job as such, always worked where/when I wanted, always made enough money and usually have enough spare time to do whatever while still performing.