56 here as well. Like yourself, I've been doing this for a long, long time. If it weren't for my personal projects that usually incorporate some pretty wild ideas or technologies, I think I would've given it up years ago.
Today, with a head cold, trying to get caught up on the 400 emails I have because I took yesterday off. The idea of selling ice cream at the beach sounds like a kick-ass career move.
36 and personal/side projects are the only thing that keep my sanity. Hopefully one or some become enough to move on, because I can't work for someone ever again.
43 here. You might think you still want to be coding into your 50s, but I am here to warn you that the matter is highly subjective. I'm noticing that each subsequent job search after 40 is a little tougher and rejections are for silly reasons now (because you're old isn't ever one of them). The laws won't protect you, so forget about that.
No matter what you think, you won't be as employable in your 40s and 50s as you were in your 20s--being young in the tech industry means you can be exploited and exploitation is the #1 factor. They know young people will work a ton of extra hours for no extra pay to gain experience, to try and prove themselves, or whatever.
I recently talked to a colleague who is 62 and still coding. He is worried about the next seven years as he is not ready to retire (not financially ready, that is). His department is going through downsizing and he is trying to position himself in another area that isn't likely to drop people. He rightly realizes that finding a new developer job at 62 will be next to impossible. It's all a big chess game after 40 so be prepared.
Unlike the codist, I'm sure I don't want to be doing this work after 50. I have a plan for getting out. This year, because of a family obligation, I took some months off. During that time, I did a trial run of how to 'retire' from software development. There were quite a few surprises for me and it didn't look like I had expected. Finding an alternative career after 20+ years as a developer is do-able: There are roles that require attention to detail and analytical skills, but that don't require coding, for example.
I won't go into detail, but I will say I rejected downshifting to a non-developer role even though I had a couple offers at 80-90% of what I was pulling down as a developer. Instead, I'm headed back to doing development for another 5-7 years, but with more knowledge about how to proceed in later years. I want to retire around age 50 and am working on having the passive income to do so. I may need to work part-time in odd jobs as well, but I predict I won't be a developer in my 50s.
If you're older, you had better understand that the next downturn could very likely take your job and getting another one will be hard. For all the happy talk about how great the job market is and how age doesn't matter, I beg to differ. That "great" can change insanely quickly. There is more competition in our field than ever before and the only thing that creates job security for us is being able to actually write code and get crap done and even that is of thin value because companies don't care: they see us as another commodity. To management, it doesn't hardly matter how good a coder you are, companies are happy to accept fungible, mediocre people as long as the systems sort of work.
The last thing I will leave you with is that you don't know how long you're going to live. If you have any ambition to do anything in life besides work, you need to get going on those plans right now. Dropping dead from a sudden heart attack or stroke does happen to a lot of people.
Some of us, for financial reasons (like emigration, bad luck, divorce, child support, or all the aforementioned) will be coding until we drop dead or get kicked out and can't get work.
Trust me, most of us in this situation are probably acutely and painfully aware of the nightmare scenario, but we've got the tiger by the tail and can't realistically let go. Such is life.
I have a friend in his early 60's that I recommended for a Hadoop job recently, and he was excluded due to age, despite being very qualified for the role. It happens, and I've seen it :(
I'm not sure this is an normal response to these kinds of things, but maybe some context will help: A customer of mine asks for a recommendation on people who could do the job. I gave him a list of names, of which the top recommendation was my older buddy. Customer immediate filters out my buddy due to age but continues through the list eventually contacting and hiring another good choice (also a friend). I didn't tell my older friend that he was being considered, I just knew he was on the market. He doesn't know any of this exchanged happened, and due to his skill/experience level had already found something else in the meantime. No harm was done to anyone in the exchange, but obvious age discrimination was observed.
Gotcha. That's tough, a kind of preliminary discrimination. Maybe the only way to combat it is to only refer that friend to that person in the future. Ugh, but then that's just using your friend as a weapon against the guy, which isn't fair.
Nah, he's doing fine now. I figure this company will just miss out on a bunch of good people because of the attitude. As a whole, they're not known for a good corporate culture or even retaining people long term. The more I think about it the more I wonder if I'm the bad guy now for suggesting my friends work here :)
I'm not in my 50's yet, but in my 40's. What's worked for me is to network. I've been lucky (maybe proactive is the way to think of it) to land in some startups where I didn't have to do grueling interviews. I knew someone and demonstrated past work, current experience (none of them white boarding) and was able land the job.
I can't stress enough that networking, meetups, community are all to your benefit. If you can become an 'authority' (think Dave Thomas of Ruby fame), then the barriers will drop more.
Everything, for me, since 2001 has all been referral via network.
I'm a little out of the current state of the art in programming (retired early). That said, I strongly suspect that little has changed in terms of what a _good_ programmer is worth. I stress "good". Good programmers are rare and I suspect will always be in demand. And age doesn't make you not good.
Just as a for instance (statistically valid sampling of one :), I had a guy working with me, Rick Smith, who is older than I am (I'm 55) and he is one of the most productive programmers I've ever met. Just amazing what he can get done, I really don't understand how he does it, I'm nowhere near that good. But he's as good as I was at my best so I think it is possible to be old and good.
But it is a lot harder than being young and good. I used to be able to pour myself a glass of wine in the evening, sit down, and hammer out a couple of really good commits. These days not so much. Forget the wine, it's rare that I have the juice to do anything useful, those really good coding days are not something I can just switch on like I used to. They come to me when they want and I have to grab 'em and ride them as far as I can because it will be a month or more before I get another one. I'm talking about those really productive coding sessions where you have all the state in your head, you see the code, you see the docs, you see the test cases, you see how it all fits together and you are just typing it in as fast as you can. Don't get those like I used to.
My Dad once told me that you are basically done doing anything significant by the time you are 35 (he was high energy theoretical nuclear physics). I've certainly proved him wrong, I did plenty of work that I'm proud of in my 40's, but 50's? Hmm, not so much. It gets hard.
Sorry to be a downer, I guess. If I were to offer up any hope I'd say stay as fit as you can. Healthy body, healthy mind and all that.
Sorry to be so old, but what's a burner? Pot smoker? If so, I've never found pot and programming to mix, for me. Might work for other people, I still remember being stoned at a terminal hooked to a VAX 780 runing 4.3BSD. It's when I learned what the hjkl keys did in vi (I used arrow keys, shoot me). A wasted hour or two of looking down, hitting the j key, looking up, thinking "did it move? I'm not sure, lemme try again".
"Still, the majority consensus appears to be something more broadly defined; it seems like maybe being a Burner is not about where you’ve been, or what you’ve attended, but what you do, and how you live."
Huh, well reading the link, if you think I'm a burner, that's a compliment in my book. Thanks!
I credit my youth in Wisconsin with giving me a desire to help other people. You pretty much have to have that attitude in the winter, everyone is helping push each other out of the snowbanks. It was just sort of what you did, I didn't think about it until I moved to California and found that it was less common out here. Much more common in the Santa Cruz mountains, which is part of why I live there.
I have run into ageism and it did hurt the company a lot: We were developing a game in j2me for mobile phones and had to minimize the assembly's size and maximize performance (for a few animations and for the AI's turns) - we had one guy interview for the job who was almost 60, which made him 20 years older than anybody else. Instead of hiring the guy who spent a good deal of his life hand-optimizing code we hired a 20-something guy with good, but in this case, completely useless credentials. The first few months I had to reject everything he wrote, walk him through the disassembly and explain to him how and why things had to be done differently.
PS: I could refer the experienced guy to a friendly company where he was writing assembler for embedded systems until he retired.
Oh boy. You hit it on the nerve there. The biggest issue I have working with young engineers (not just software, everything) is that they seem to go out of their way to add complexity. Truly frustrating.
Same. I'm a few days shy of 56, and keeping things simple is my mantra as well. I'd commented to someone yesterday that when the process is more complex than the task you're trying to accomplish, you've got a problem.
The thing is though, there's that little voice of doubt in the back of my head that says, "What if the process isn't that complicated, and you just don't understand it?"
I'm 56, still doing software and systems engineering every day, still love it. My daily routine is a lot like the author's. I've thought off and on over the years about doing something else, but the simple fact is I'm addicted to that rush I get when we solve a problem and see it work for the first time.
46 here, and for me, luckily I guess, I ended contracting from the age of 24 and have been doing that on and off for 22 years. I've been able to move technologies and really enjoy being right at the coal face. I have run projects and teams, but the pure pleasure I get from coding has never left me.
I would say my one 'regret' is that I really did not discover hackathons and even meetups until about 3 years ago. Huge amounts of fun that has really integrated me into the local developer community.
These days I contract as and when I need to financially, and then take time off to sprint at ideas as and when family life/finances allow me to. I do feel I came late to the idea of start-up culture but I never ever feel it is too late to learn.
An older coders club is an excellent idea, I'm in. Looking at the discussion for this and some other HN threads there's definitely interest, but this a horribly served segment, I think. Most material (blogs, videos, etc.) are done by and target the younger coders.
Sign me up, I have a bunch of friends who would join too. All late 50's
Likewise I have been the Manager/CTO/Founder route quite a few times. I find I like the coding problems driving my dreams more then the "how do I deal with/fire so and so" problems.
Coding since 1985 and still loving it. I consult now so I mostly work out of my own office. The key to my happiness has been working for small/tiny companies where software was super important. I got to wear a lot of hats that way.
Sounds like he still enjoyed programming but was kicking himself about all the money he missed out on by leaving the Bay area and quitting Apple in 94.
Mid 30s and this reflects the worry I have about my future. I kind of want to head down the non-programming technical management/leadership path, but I'm just not seeing a way to take that step right now. Same issue as always, people are (supposedly) desperate for managers and leaders with real tech/dev background, but they want you to have technical management experience already.
It's not that I don't like programming in general, it's just that so many of the things that many of us get paid well to do are so damn boring.
Still love coding (and still going to be doing it at 56, no choice), but coding at work lost appeal for me -- rat-racing in Agile teams, with every keystroke accounted for in JIra, and no place for a smallest independent idea to try.
No wonder there is less and less experienced people on those teams, and the tech landshaft adapts accordingly -- people just don't know anymore how to employ experienced developers. Big old companies are not built that way anymore (am employed by one, multi-national, tried several geos, all the same), and young companies... you know it all, young folks are just smarter.
Sorry to sound pessimistic (I am not really, for many reasons, one of them being, I cannnot afford to retire).
Side projects, yes. Becoming wilder and wilder with every year, rarely reaching the end. Just for staying sane as someone here mentioned.
When I was young, I wanted to stay away from the old large companies. When I crossed the 35 year threshold, they became the only one's I wanted to work for: every passing year made that desire stronger. Almost 40 now and finally working for one, I couldn't be happier - I could be making more, but not happier.
I've spent most of my career (20+ years) working on or with startups. I loved that environment when it came to building my own startups; I loved diving in and working an insane amount of time to prove my ideas out; I loved networking in the evenings with investors and other startups; and I especially loved getting others excited about the product.
The truth is though is that wore me down. I ended up earning myself a chronic illness which severely slowed me down from the startup pace. I also have a family and as my kids grew, so did the time demands. I thought that my partners would understand, given I've put my life into everything I worked on, but that never materialized.
In the end, startup after startup, I've found that there's little room for sickness and especially a family. Sure, when you're young it's ok, but as you get older, or as your family ages, there is this idea of your family just has to understand that you have to do this to make all their dreams come true: founders say that family and health comes first, then try to persuade you that those really come second.
I really do understand where they are coming from. It's all a high pressure game with very little likelihood of succeeding. First to market matters more than not. Notice how many founders are either single or have marriage issues. Survival comes first for them.
I had to ask myself if that's really what I wanted. It turns out, all I really want to do is be good at what I'm working on, support my family, and have coworkers that I can enjoy being around because they value the same things. I found that in larger corporations that weren't about survival anymore. That's what informed my search most of all: the values of the peers I would be working with.
That's one thing I learned from the last tech boom -- if you want something long term and stable, look for it while everyone else is busy chasing IPO's and pitching start-ups.
I'm 30 going on 31, and am currently doing that. I recently came from a start-up gig that worked me until I burned out, then laid off my whole team shortly after launch. I'm at a medium sized company that still does cool things, but doesn't force ridiculous deadlines on you and actually seems to care about the well-being of their employees. Most of the engineers have been there for 2-10 years; I've heard this should be a metric by which you determine your next position, but I hadn't realized just _how_ important that is until I got chewed up and spit out by a 'cool' startup.
Yeah, I'd say the majority of people I deal with have been there for 5+ years. The company promotes from within, so a lot of the vets are in some form of management or research by now. That was one clue that this was the company I wanted to work for. The other was just how real and truly comfortable everyone was working there.
Yes, I'm 35 and really feeling that pull these days. Currently working at a startup (it's 5 years old, so that moniker is debatable) and everyone around me is 25, being exploited 7 ways from Sunday because they don't care and are certain it's all gonna work out for them. And a lot of them were born into money anyway.
Crazy work hours, do more with less, etc etc. If something needs to happen, fuck you, drop everything and do it. Of course this is said in a sunny, positive, optimistic way but the reality is the same. I'm the only person on my "team" that should realistically have at least 3 people on it. Soul crushing. I just wanna work 9-5 or 9-6 or whatever and leave it at the office.
That's another thing I can resonate with. I love programming but programming at work can be another kettle of fish. Dealing with other peoples code can be very frustrating. I have fringe opinions on software and programming (that may well be wrong ;)) and it can be frustrating when what you think is so obviously the best way of doing something just seems weird and obfuscated to others.
That objects are a better abstraction than modules+records, that class hierarchies are better than abstract data types, that multiple dispatch is better than pattern matching, and that a lambda can easily be modelled as an object with one useful method called "apply" without anything being lost.
The current FP trend has had a lot of benefits, namely in teaching people about immutability (I write immutable objects 95% of the time). But I am convinced that procedures and data belong together, and that it's an easier way to organise code.
Those don't really seem that far off from common OO wisdom which still seems prevalent in the industry, except for the lambda thing. Mostly that seems like you are thinking for yourself and have real reasons for what you think, and it happens to be closer to most OO folks, than most FP folks.
On the Lambda thing, you are right that it makes no functional difference. I do think it makes a small readability and maintainability difference. Most languages I use don't allow, or at least it is poor practice, to make classes in line. With C++ passing a lambda to and std function is much nicer and easier to read than creating a functor (a separate class with operator() instead of apply() as you described), because it lets you keep the code being passed in the function that cares.
Just to be clear I'm not advocating everyone write their own anonymous function-object every time they want to map over something, just that "x -> x * x" can be short hand for such a function-object with nothing lost.
Industry OO doesn't seem much like OO at all. C# constantly adding new and innovative syntax to make getters and setters as simply as possible (much simpler than writing an immutable class with a proper constructor) suggests to me my views are a bit fringe as well.
At age 59 I have come to the opposite view. I assume you are referring in passing to Erlang & Haskell. They are probably OK, never actually used either. I Prefer the real deal, which to me is Prolog. But that's just me.
I was very into "ML-style" up until recently. Even had a short contract using F#. I'll happily code in that style if need be - there actually isn't a static OO language that does what I want but I know it could exist.
Is prolog considered functional? I should revisit it at some point.
I just turned 54 and started learning to code at 53. Okay, learning to code again because I haven't done anything since 1985 and FORTRAN77.
It's interesting because my employer (a multinational telco HQ'd in Canada) is keen to give me real work coding as soon as I want it. So with that, and my real purpose (building my next application myself) I'm really engaged and having a lot of fun.
I want to be a programmer or at least be building important stuff at 56. I just don't want my sustenance to depend on it.
There is crazy ageism in this industry. And I don't want to fighting pointless battles, while you could be spending time in peace doing a lot of other work.
Frankly, I can't agree with the author here, at least not professionally.
I want to be running an engineering org or company by 40. I enjoy coding and architecting, but I get much more enjoyment out of helping people get to where they want to go in their careers. I also enjoy the idea of directly helping businesses make more money/reach bigger markets and collecting much bigger paychecks (supposedly) and or bonuses as a result.
I do enjoy coding, though, so I would like to keep doing that during whatever spare time I can find. Though between living life on weekends and career efforts after hours during the weekdays, this will likely be difficult to do (as it already is).
"but I get much more enjoyment out of helping people get to where they want to go in their careers. I also enjoy the idea of directly helping businesses make more money/reach bigger markets"
Yeah, you don't sound like someone who will be happiest if you stick to coding. A lot of us code precisely because we don't feel comfortable or confident with the skills you mention.
I'm the same age as the author and have been coding since 1986. I still enjoy the immersive (flow) aspect of coding, but I'm no longer compelled to code in my off hours. In fact, about 25 years ago I realized that coding alone couldn't keep me enraptured indefinitely. So I diversified into R&D: AI & data mining, HPC, image processing, and recently deep learning.
I hope to remain in harness for another decade, probably in some sort of AI role, which seems plausible since the demand in that space for skill + experience far outstrips supply, and I'm willing to move.
I like programming a lot, and am pretty good at it.
What I dislike is the fact that it feels very tough to break into demanding programming jobs without Ivy League credentials. I certainly have the experience, and I've done some badass stuff, but, yeah.
Any advice is welcome. I am 35 and trying to work to avoid being dead-ended as a replaceable dev. Really interested in PL implementations and empowering devs to do more.
R&D jobs really want a Ph.D - it doesn't so much matter if it's Ivy League (though that helps), it matters that you completed your dissertation.
The reason is that they want to see evidence that you can take an unstructured problem where you don't have the faintest clue where to start, and make enough forward progress on it, on your own, that some useful contribution to human knowledge will come out the other end. This is a very different skillset from most software engineering jobs - when you're developing new knowledge, Google is useless, StackOverflow is useless, your peers are mostly useless, and you need to know how to ask the right questions and find the answers to them. A Ph.D is an institutionally-sanctioned way of demonstrating this skillset. There are other ways to demonstrate it - work in an industry research project that's successful and perceived as cutting-edge, founding a technology-based startup, published independent research that's cited by others - but they all involve you taking on the risk of conducting your first major research project on your own, without institutional guidance.
More of the R&D side of things, I feel. Perhaps I'm off my rocker? I've seen some cool compiler jobs by fintech firms where they want your SAT score and college GPA (lol).
More annoyingly, it's tough because you're expected to answer whiteboard algorithm questions that closely mimic CS course exam questions but have very little to do with real world programming.
So that stuff you've been doing all day every day for the past 15 years is useless, you have to study for these interviews on your own time. Companies will even send you little study guides with references and strategies for practicing.
Essentially and as far as Google/Facebook/etc are concerned, your experience is worthless and any fresh grad can plug into your role like a cog. Or at least that's what's implied by their selection criteria.
For what it's worth, I currently work at one of the aforementioned software companies and my college experience is half a music degree. I didn't do any intense studying for the interview either, just spent a couple evenings doing project Euler problems in my favorite language to brush up as my job at the time was using different languages and didn't involve a lot of programming. I'm on the SRE/PE side of the world though, where I think interviews tend to line up with practical experience a little better.
>just spend a couple evenings doing project Euler problems
Don't try to pass it off as though your unbridled talent didn't land you those roles. A near-infinite amount of people cannot do what you did due to lack of pure talent. Don't use survivorship bias.
The most "demanding" dev jobs I am aware of are in the big four (or five) tech companies and as far as I know Ivy League credentials are not a priority for them when looking at a CV.
I studied business at a for-profit (not prestigious) college and was a technical recruiter (not prestigious) right before moving into development as a career. My current dev job is quite challenging, I am working with cool tech, and I learn every day.
My route to this gig was:
- learn Ruby well enough to sound like I knew a lot about hard things (go deep on one thing, instead of having a shallower portfolio of simpler things)
- hustling to get that first coding gig, no matter how crappy it was
- grinding through several jobs in a few years, learning each time how to pick a better fit, even if I had to move a few thousand miles/km to get a better gig (did that twice)
- building up enough expertise in core web development skills (testing, MVC apps, DOM manipulation, etc.) and "under the web app" skills (writing libraries, learning to MITM myself, etc.)
- researching what kind of job I wanted, selling that to interviewers, and eventually getting one (my current employer) to believe me enough to give me a job offer, and then working my butt off to learn what I need to learn how to succeed at this level while carving out enough time to climb to the next level
tl;dr - work hard, learn marketable skill, go where jobs are, be hungry, do what you gotta do
Happy to chat more if you like. My email is in my profile.
116 comments
[ 3.7 ms ] story [ 123 ms ] threadToday, with a head cold, trying to get caught up on the 400 emails I have because I took yesterday off. The idea of selling ice cream at the beach sounds like a kick-ass career move.
No matter what you think, you won't be as employable in your 40s and 50s as you were in your 20s--being young in the tech industry means you can be exploited and exploitation is the #1 factor. They know young people will work a ton of extra hours for no extra pay to gain experience, to try and prove themselves, or whatever.
I recently talked to a colleague who is 62 and still coding. He is worried about the next seven years as he is not ready to retire (not financially ready, that is). His department is going through downsizing and he is trying to position himself in another area that isn't likely to drop people. He rightly realizes that finding a new developer job at 62 will be next to impossible. It's all a big chess game after 40 so be prepared.
Unlike the codist, I'm sure I don't want to be doing this work after 50. I have a plan for getting out. This year, because of a family obligation, I took some months off. During that time, I did a trial run of how to 'retire' from software development. There were quite a few surprises for me and it didn't look like I had expected. Finding an alternative career after 20+ years as a developer is do-able: There are roles that require attention to detail and analytical skills, but that don't require coding, for example.
I won't go into detail, but I will say I rejected downshifting to a non-developer role even though I had a couple offers at 80-90% of what I was pulling down as a developer. Instead, I'm headed back to doing development for another 5-7 years, but with more knowledge about how to proceed in later years. I want to retire around age 50 and am working on having the passive income to do so. I may need to work part-time in odd jobs as well, but I predict I won't be a developer in my 50s.
If you're older, you had better understand that the next downturn could very likely take your job and getting another one will be hard. For all the happy talk about how great the job market is and how age doesn't matter, I beg to differ. That "great" can change insanely quickly. There is more competition in our field than ever before and the only thing that creates job security for us is being able to actually write code and get crap done and even that is of thin value because companies don't care: they see us as another commodity. To management, it doesn't hardly matter how good a coder you are, companies are happy to accept fungible, mediocre people as long as the systems sort of work.
The last thing I will leave you with is that you don't know how long you're going to live. If you have any ambition to do anything in life besides work, you need to get going on those plans right now. Dropping dead from a sudden heart attack or stroke does happen to a lot of people.
Trust me, most of us in this situation are probably acutely and painfully aware of the nightmare scenario, but we've got the tiger by the tail and can't realistically let go. Such is life.
What have you observations been regarding your age when interviewing? Have you run into ageism?
1. http://classic.esquire.com/what-ive-learned-roseanne/
2. http://archive.esquire.com/image/spread/20010301/100/3
I can't stress enough that networking, meetups, community are all to your benefit. If you can become an 'authority' (think Dave Thomas of Ruby fame), then the barriers will drop more.
Everything, for me, since 2001 has all been referral via network.
Just as a for instance (statistically valid sampling of one :), I had a guy working with me, Rick Smith, who is older than I am (I'm 55) and he is one of the most productive programmers I've ever met. Just amazing what he can get done, I really don't understand how he does it, I'm nowhere near that good. But he's as good as I was at my best so I think it is possible to be old and good.
But it is a lot harder than being young and good. I used to be able to pour myself a glass of wine in the evening, sit down, and hammer out a couple of really good commits. These days not so much. Forget the wine, it's rare that I have the juice to do anything useful, those really good coding days are not something I can just switch on like I used to. They come to me when they want and I have to grab 'em and ride them as far as I can because it will be a month or more before I get another one. I'm talking about those really productive coding sessions where you have all the state in your head, you see the code, you see the docs, you see the test cases, you see how it all fits together and you are just typing it in as fast as you can. Don't get those like I used to.
My Dad once told me that you are basically done doing anything significant by the time you are 35 (he was high energy theoretical nuclear physics). I've certainly proved him wrong, I did plenty of work that I'm proud of in my 40's, but 50's? Hmm, not so much. It gets hard.
Sorry to be a downer, I guess. If I were to offer up any hope I'd say stay as fit as you can. Healthy body, healthy mind and all that.
And I stay busy, just with other stuff like this:
http://www.mercurynews.com/2017/03/17/mountain-vigilantes-ta...
Yeah, don't get me started on how my county (doesn't) maintain[s] roads. It's depressing and it's not just here.
But I'll ask my doctor if TRT is right for me. I actually will though I sound like a crappy TV ad.
Not my best work :)
Or burnt out? Maybe, I dunno.
So what's a burner?
http://journal.burningman.org/2008/06/opinion/serious-stuff/...
"Still, the majority consensus appears to be something more broadly defined; it seems like maybe being a Burner is not about where you’ve been, or what you’ve attended, but what you do, and how you live."
I credit my youth in Wisconsin with giving me a desire to help other people. You pretty much have to have that attitude in the winter, everyone is helping push each other out of the snowbanks. It was just sort of what you did, I didn't think about it until I moved to California and found that it was less common out here. Much more common in the Santa Cruz mountains, which is part of why I live there.
PS: I could refer the experienced guy to a friendly company where he was writing assembler for embedded systems until he retired.
Oh boy. You hit it on the nerve there. The biggest issue I have working with young engineers (not just software, everything) is that they seem to go out of their way to add complexity. Truly frustrating.
The thing is though, there's that little voice of doubt in the back of my head that says, "What if the process isn't that complicated, and you just don't understand it?"
I would say my one 'regret' is that I really did not discover hackathons and even meetups until about 3 years ago. Huge amounts of fun that has really integrated me into the local developer community.
These days I contract as and when I need to financially, and then take time off to sprint at ideas as and when family life/finances allow me to. I do feel I came late to the idea of start-up culture but I never ever feel it is too late to learn.
I am version 4.8.
I already used that once but I think it's worth a repeat ;)
---
On another note, this age subject has come up a few times:
Old Geek: https://news.ycombinator.com/item?id=12503458
Programmers: Before you turn 40, get a plan B (2009) https://news.ycombinator.com/item?id=9361580
Silicon Valley’s Dark Secret: It’s All About Age (2010) https://news.ycombinator.com/item?id=9710936
I also wish I could copy paste this comment I already wrote: https://news.ycombinator.com/item?id=9362508
Those of us born around 1960 came of age during the earliest days of personal computing. I guess a lot of us got hooked and are still at it!
Likewise I have been the Manager/CTO/Founder route quite a few times. I find I like the coding problems driving my dreams more then the "how do I deal with/fire so and so" problems.
[1] https://oldgeekjobs.com/
[2] https://news.ycombinator.com/item?id=12506232
Sounds like he still enjoyed programming but was kicking himself about all the money he missed out on by leaving the Bay area and quitting Apple in 94.
It's not that I don't like programming in general, it's just that so many of the things that many of us get paid well to do are so damn boring.
No wonder there is less and less experienced people on those teams, and the tech landshaft adapts accordingly -- people just don't know anymore how to employ experienced developers. Big old companies are not built that way anymore (am employed by one, multi-national, tried several geos, all the same), and young companies... you know it all, young folks are just smarter.
Sorry to sound pessimistic (I am not really, for many reasons, one of them being, I cannnot afford to retire).
Side projects, yes. Becoming wilder and wilder with every year, rarely reaching the end. Just for staying sane as someone here mentioned.
The truth is though is that wore me down. I ended up earning myself a chronic illness which severely slowed me down from the startup pace. I also have a family and as my kids grew, so did the time demands. I thought that my partners would understand, given I've put my life into everything I worked on, but that never materialized.
In the end, startup after startup, I've found that there's little room for sickness and especially a family. Sure, when you're young it's ok, but as you get older, or as your family ages, there is this idea of your family just has to understand that you have to do this to make all their dreams come true: founders say that family and health comes first, then try to persuade you that those really come second.
I really do understand where they are coming from. It's all a high pressure game with very little likelihood of succeeding. First to market matters more than not. Notice how many founders are either single or have marriage issues. Survival comes first for them.
I had to ask myself if that's really what I wanted. It turns out, all I really want to do is be good at what I'm working on, support my family, and have coworkers that I can enjoy being around because they value the same things. I found that in larger corporations that weren't about survival anymore. That's what informed my search most of all: the values of the peers I would be working with.
Crazy work hours, do more with less, etc etc. If something needs to happen, fuck you, drop everything and do it. Of course this is said in a sunny, positive, optimistic way but the reality is the same. I'm the only person on my "team" that should realistically have at least 3 people on it. Soul crushing. I just wanna work 9-5 or 9-6 or whatever and leave it at the office.
The current FP trend has had a lot of benefits, namely in teaching people about immutability (I write immutable objects 95% of the time). But I am convinced that procedures and data belong together, and that it's an easier way to organise code.
On the Lambda thing, you are right that it makes no functional difference. I do think it makes a small readability and maintainability difference. Most languages I use don't allow, or at least it is poor practice, to make classes in line. With C++ passing a lambda to and std function is much nicer and easier to read than creating a functor (a separate class with operator() instead of apply() as you described), because it lets you keep the code being passed in the function that cares.
Industry OO doesn't seem much like OO at all. C# constantly adding new and innovative syntax to make getters and setters as simply as possible (much simpler than writing an immutable class with a proper constructor) suggests to me my views are a bit fringe as well.
Is prolog considered functional? I should revisit it at some point.
It's interesting because my employer (a multinational telco HQ'd in Canada) is keen to give me real work coding as soon as I want it. So with that, and my real purpose (building my next application myself) I'm really engaged and having a lot of fun.
There is crazy ageism in this industry. And I don't want to fighting pointless battles, while you could be spending time in peace doing a lot of other work.
I want to be running an engineering org or company by 40. I enjoy coding and architecting, but I get much more enjoyment out of helping people get to where they want to go in their careers. I also enjoy the idea of directly helping businesses make more money/reach bigger markets and collecting much bigger paychecks (supposedly) and or bonuses as a result.
I do enjoy coding, though, so I would like to keep doing that during whatever spare time I can find. Though between living life on weekends and career efforts after hours during the weekdays, this will likely be difficult to do (as it already is).
Yeah, you don't sound like someone who will be happiest if you stick to coding. A lot of us code precisely because we don't feel comfortable or confident with the skills you mention.
I hope to remain in harness for another decade, probably in some sort of AI role, which seems plausible since the demand in that space for skill + experience far outstrips supply, and I'm willing to move.
What I dislike is the fact that it feels very tough to break into demanding programming jobs without Ivy League credentials. I certainly have the experience, and I've done some badass stuff, but, yeah.
Any advice is welcome. I am 35 and trying to work to avoid being dead-ended as a replaceable dev. Really interested in PL implementations and empowering devs to do more.
The reason is that they want to see evidence that you can take an unstructured problem where you don't have the faintest clue where to start, and make enough forward progress on it, on your own, that some useful contribution to human knowledge will come out the other end. This is a very different skillset from most software engineering jobs - when you're developing new knowledge, Google is useless, StackOverflow is useless, your peers are mostly useless, and you need to know how to ask the right questions and find the answers to them. A Ph.D is an institutionally-sanctioned way of demonstrating this skillset. There are other ways to demonstrate it - work in an industry research project that's successful and perceived as cutting-edge, founding a technology-based startup, published independent research that's cited by others - but they all involve you taking on the risk of conducting your first major research project on your own, without institutional guidance.
So that stuff you've been doing all day every day for the past 15 years is useless, you have to study for these interviews on your own time. Companies will even send you little study guides with references and strategies for practicing.
Essentially and as far as Google/Facebook/etc are concerned, your experience is worthless and any fresh grad can plug into your role like a cog. Or at least that's what's implied by their selection criteria.
>just spend a couple evenings doing project Euler problems
Don't try to pass it off as though your unbridled talent didn't land you those roles. A near-infinite amount of people cannot do what you did due to lack of pure talent. Don't use survivorship bias.
My route to this gig was:
- learn Ruby well enough to sound like I knew a lot about hard things (go deep on one thing, instead of having a shallower portfolio of simpler things)
- hustling to get that first coding gig, no matter how crappy it was
- grinding through several jobs in a few years, learning each time how to pick a better fit, even if I had to move a few thousand miles/km to get a better gig (did that twice)
- building up enough expertise in core web development skills (testing, MVC apps, DOM manipulation, etc.) and "under the web app" skills (writing libraries, learning to MITM myself, etc.)
- researching what kind of job I wanted, selling that to interviewers, and eventually getting one (my current employer) to believe me enough to give me a job offer, and then working my butt off to learn what I need to learn how to succeed at this level while carving out enough time to climb to the next level
tl;dr - work hard, learn marketable skill, go where jobs are, be hungry, do what you gotta do
Happy to chat more if you like. My email is in my profile.