How Can We Achieve Age Diversity in Silicon Valley? - <AUTHOR> https://medium.com/backchannel/how-can-we-achieve-age-diversity-in-silicon-valley-11a847cb37b7 <comment><USER2> I'm in my 50s, and I used to say that I never saw age discrimination. Then a couple of weeks ago, I interviewed for an Internet company, and my age and experience was commented on by the majority of the interviewers. Which is fine, since most of the comments were positive (e.g., we need people with more experience because we have so many new graduates), but it was still a bit strange.

Then the technical interview came, and one of the interviewers was instantly hostile as soon as he saw me. It was weird. Weird to the point where the other tech interviewer started playing good cop, saying things like "he just covered that" and "no, that's true". Whiteboard coding is strange enough, but doing it with zero feedback and a hostile interviewer who keeps trying to push you in bad directions (inheritance over composition, singletons, etc.) is, well, interesting. The application came back with the inevitable "good skills but bad culture fit" euphemism.

As with all discrimination, the unnerving part is just not knowing. Was it really age discrimination? Or maybe I just looked like this guy's hated father or ex-boyfriend or something. Or maybe he's just a bad interviewer with low skills, and really didn't understand the stuff I was telling him (I usually sneak in a couple of technical questions for the interviewer and he blew those questions); that's hard to judge when there's no follow-up questions. Or maybe at the end of the day it was just money and the company didn't want to admit it. Who knows? I'll never know, and I suspect the company won't either.

<comment><USER3> Am I the only one who finds it crazy that at age 50+, ostensibly after working in the industry for at least a couple of decades, a candidate would be subjected to inane technical interviews and useless whiteboarding exercises?

I understand that folks have to do what they need to do to stay employed, so opting out isn't possible for everyone, but this is pure insanity.

<comment><USER4> Unfortunately, I've interviewed people with 20 years of experience who were only marginally more skilled than someone with two or three years. The "1 year of experience ten times" effect is unfortunately a real one.

For those of you who are early in your career, be sure to keep trying new things out every so often. It's really easy to get trapped because it sneaks up on you; you shouldn't be trying something new every week, because you need some depth, but if you've gone a year with nothing new tried, you may be in some trouble.

And be sure your "something new" is a new _type_ of thing, not just a new thing. Learning Python, then PHP, then Ruby, then Perl, is really just learning one thing, maybe 1.5 things. You ought to be learning a dynamic language, then a static one, then maybe SQL, then learning about reliable cloud programming, then perhaps a full functional language, then perhaps go write a GUI with a conventional GUI toolkit, then learn some dynamic front-end Web programming, write a compiler, write a network app starting from sockets, use SSL for something serious, etc. etc. IMHO, the truth is that the programming world doesn't move that fast, but part of the illusion that it does is that it is quite a big _bigger_ than meets the eye at first. It looks like it is moving quickly because there are things that look _new to you_ all the darned time. But under the hood, progress is actually pretty slow.

<comment><USER3> > Unfortunately, I've interviewed people with 20 years of experience who were > only marginally more skilled than someone with two or three years. The "1 > year of experience ten times" effect is unfortunately a real one.

If you are not capable of identifying these people without spending hours of staff time and engaging in whiteboarding exercises, something is very wrong in my opinion. The person you're describing will not be able to pass a thoughtful 15 minute phone screen, and that's if a phone screen even happens because this type of candidate probably doesn't make it past a resume review if the person reviewing the resume is qualified.

<comment><USER5> How exactly do you think a resume review will reveal how in depth they went on projects and coding? Or even a 15 minute phone screen that has no coding involved? It's pretty easy to list interesting sounding projects you worked on and not mention that you had only minor involvement in them. I'd love to know what questions will actually reveal this.

<comment><USER3> A _good_ resume from an experienced candidate will describe the work the candidate actually performed. A resume that is ambiguous as to the candidate's contributions is usually worth tossing.

In the case of a phone screen, I honestly find it hard to believe that folks have so much difficulty believing that it's possible to get a good sense of a candidate's skill and knowledge without sitting over his or her shoulder and watching him or her code. A phone screen is a conversation. In most cases, a candidate who is faking it will have a very hard time describing in technical detail his or her work, and answering technical questions about his or her work.

Start with candidates who have good resumes. Ideally get code samples and/or a portfolio. Prepare for your phone screen so you can ask good questions. It really is that simple.

<comment><USER6> A resume can say _anything_. Some of it may even be true. So how are you telling the difference between a _good_ resume and a _faked good_ resume? It's just like spam filtering, both the candidates and companies are in an arms race to try to improve/bypass hiring filters.

<comment><USER3> This level of paranoia is kind of amusing.

If you take the time to review a resume thoroughly and ask thoughtful technical questions about a candidate's past work in the phone screen, the phone screen is almost always going to be a painful and embarrassing experience for a lying candidate. And such a candidate will virtually never make it past a reference check.

The problem is that most companies are lazy. Hiring managers don't read resumes closely and wing it (i.e. jump on phone screens without preparing). Reference checks? What are those?

<comment><USER5> It's hilarious that you think this is paranoia. I almost wish I could live in your rose-tinted world, where no one lied ever, references were a good way to judge coding ability, and apparently all new grads magically have relevant references.

People can memorize the key features of OOP, but still not be able to use it. So do you not hire new grads? Do you never hire someone with an extensive background in C, because you dare not quiz anyone and you don't want to risk hiring someone who can't really ever get a handle on OOP? Are you going to pay the total cost of all these people, who probably won't last 3 months?

What's even sillier is that I bet most people, given the option, would prefer to try solving some small problems for a short period of time if they knew it could help their chances of getting the job. Why wouldn't you if you knew you were competent?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> You can look at this from a slightly different angle:

 _"...It is often said that "Youth is wasted on the young". Based on my little spare time study, in this context, it seems truer than ever.

The youth have all the energy and time to spend, no obligations and no financial worries. But they have very little life experience and exposure to these hidden problems. So what they end up solving are the kind of problems primarily young people have. This certainly makes for some very amazing products, but I can't help feeling a little disillusioned. The amount of time and energy that goes into fun, but ultimately useless ideas, rather than fixing some of these hidden problems is mind-numbing.

On the other hand, the older generations are exposed (aware or unaware) to a lot of these hidden problems. They have experience on how to solve them because they understand them. Yet by that time, most of them have to provide for a family, pay of their mortgage, tuition fees, healthcare, yearly vacations and the 3 cars. They also often lack the imagination on how to solve things in a new technological paradigm.

So I now realized that there is a potential goldmine of problems we simply don't know of, because the people who are exposed to them aren't connected with the people who have the opportunity and creativity and energy to solve them. Which begs the question:

Are the old and young generations wildly underutilizing each other as resources? ..."_

[http://000fff.org/the-problem-with-problems](http://000fff.org/the-problem- with-problems)

<comment><USER8> To piggy-back of off this. The hidden problems aren't just extensions of old- age experience vs young-age experience (i.e. social-network vs hospice placement). It's often domain expertise vs none. There are so many older folks out there who have had decades of experience in one domain that none of us have even heard of, or are only, maybe, vaguely aware of. They are aware of that domain's problems, know most of the key players, etc.

My father is a Director-level exec at a Fortune 100 company, and I've talked to him, ad nauseam, about the problems he wishes the enterprise line-of- business crapware his company keeps purchasing would actually solve. I keep trying to convince him to strike out and do something, and have even offered to go in on something with him, but he's just too comfortable. He has more than enough money, and he's decided to retire early if he doesn't get the next promotion he's gunning for.

He was recently honored by the trade association of the domain he's an executive in (I guess there's no harm in saying it's logistics). I'm sure the contacts he has would send a startup hurtling into the stratosphere within a few years. How many people are like him out there, who are going to waste all their domain expertise on retirement or the next promotion?

I feel like someone needs to write a manifesto to the older and successful among us about how they owe it to themselves and the younger generation to disrupt the industries they've been leading for so long. These fat-cat, lazy ass, companies just get to skate by on pure inertia.

<comment><USER9> >These fat-cat, lazy ass, companies just get to skate by on pure inertia.

How long before young and sexy startup becomes lazy fat cat nowadays? Maybe ten years? So, now the older crowd needs to constantly re-do everything because the younger guys got lazy? I'm not sure what the solution you're advocating here is. Eventually, everyone becomes a fat cat it seems, at least to the eyes of the new guy. I suspect the $bad_vendor or $bad_project isn't that bad and the time/work commitment to constantly re-do it is non-trivial. Especially if by the time you finish this big rewrite its already obsolete or unlikeable in some way -- not HTML5 or not whatever is hot right now.

I think part of maturing is knowing how to recognize the grind and when to actually disrupt it in some way. Is $boring_logistics app really the problem that needs to be solved at $big_co? Arguably, the execs have better things to do and that judgement is what we're paying them for. When it becomes a problem they should know and address it, but to a young guy spoiled by ultra-shiny ipad apps, well, that logistics interface looks "old and boring" but its actually doing the job well.

> but he's just too comfortable.

Perhaps this is besides the point, but maybe there's a shelf-life on human 'can do' attitudes? Ten years ago I'd do anything that piqued my interest, obsess over it, and now its a lot more difficult to get excited and motivated especially if you have been in the grind long enough. At a certain point you realize this is all folly. Another product, another roll out, another set of unhappy/happy customers, another sales projection, another competitor to worry about, another thing that will obsolete in a week, etc. From a psychological perspective, we don't often talk about what it means to have a lifetime of work under your belt. How does it affect us? Is it reasonable to spend ages 22-65 working in the same industry/focus?

Imagine if we put monkeys in a cube and forced them to do the same-ish things for decades. We would probably be arrested for animal abuse. But its okay to do to people apparently. Maybe have some sympathy for the codgers, they're as much victims of this weird world we call work as anyone.

<comment><USER10> This is an interesting question: is there a shelf life on "can do" attitudes? I think just in allowing that this fact might be true changes my perspective -- hinting that we might be in a kind of startup-frenzy groupthink even in this discussion.

</comment></comment></comment></comment><comment><USER11> As an upper 40ish something who has been coding since I was 10, this one made my day. So very very true.... but it's amazing how many 20 somethings are to narrow in their thinking or too lacking in medium to long term vision on projects and just hack together a bunch of web found code to make a non extendable solution.

Then there are those who I call the 'google' generation, they just google the problem and proclaim the number one result as the solution without really understanding what and especially why the problem really is occurring.

Every generation has it's exceptions, but also each has their share of averages. Great article, nice way to start Monday morning.

<comment><USER12> I also developed before web framework proliferation and stackoverflow.

I see most of these things as speed boosts. If you take the rose colored glasses off, in the old days - we simply worked slower on easier (though more interesting) problems. We didn't have to deal with so much damn integration and the mountain of spaghetti we've built!

The non extendable solution gets the job done as well. No need to worry about 'technical debt' when the vast majority of your projects never see scale. Moving faster is better.

When I see a developer wasting too much time on the above - not googling the solution, spending too much time overengineering, and not using the libraries available (not hacking together components)... well, I guess I'm disappointed.

In the old days, I did think more in your terms. I changed to fit the needs of the time.

<comment><USER13> Technical debt is not an issue, just, of scaling code (presumably you mean to large numbers of connections or database sizes or something). It's really an issue of maintenance. The more technical debt you have on a project, the longer any round of maintenance will take. Even simple tools that are just slapped together quickly might be easier to rewrite than modify, but rewriting them each time results in a different sort of technical debt. Implementation X has features used by user A, implantation Y has features used by user B, so now both tools have to be maintained or you try for Implementation Z that tries to pull it all back together (but probably fails, because you're still not properly budgeting time and engineers).

Overengineering is still a problem, but underengineering is the one I run into more often.

<comment><USER11> Oh i agree with both of these responses. It's not that google is a bad thing, personally i laugh at how we used to have a wall of books to run to. It's more of the 'take the first google hit' that i was referring to. Not understanding how routing in the firewall works, just throwing code that seems like it might be what is occurring.

<comment><USER13> Yeah, that's definitely a problem. I kind of miss the wall of books, though. Though I came in at the tail end of that era (more while I was still in school than after). I get a better understanding for things when I have a physical resource to go to. It helps that I (apparently) have an above average memory, but it works mostly by associating the physical act with the information I learned (I remember notes by recalling literally writing them on the page, for instance). So books seem to be more effective for conveying information to me in a retainable way, and I imagine that I'm not unique. That many of my colleagues with "terrible" memories are really just suffering from using the wrong resources to learn subjects, something about the computer screen as information source seems to stick less for people.

My pet theory: The lack of other senses involved. A book has smell, texture, and then the physical act of turning pages. A lecturer versus a video, the lecture hall at least has a smell and feel to it, and there's more variation, less polish, on a live lecture compared to a video that's been thoroughly edited.

</comment></comment></comment></comment></comment><comment><USER14> I know a woman in her mid-60s who has been programming since the late 1960s. She's much more than an "experienced dev": she is a sage, a teacher, and a grand-master of the art of computer programming: a true engineer in the very core of her being. Yet she can't find steady employment. She believes that is because of age discrimination, and I cannot help but to agree with her.

<comment><USER15> Is she a badass engineer or is she a sage? I don't mean it to be offensive but I've worked with oldtymers that wanted to coach more than actually do. They have tremendous knowledge and experience but if they're advisors or extra managers, they aren't building; some companies need and can afford that and value it, a lot of startup type places see that as an extra cost.

Our industry has these polar ethos that are pretty deep: one group sees old product that has stood the test of time as an indicator of quality. Like "UNIX has been around over 40 years, it clearly did some things right." The other, and it's insanely popular right now, thinks that anything that is too old clearly has some damage and its no longer good technology, like the neovim crowd, "vim doesn't even use the newest C standards features.." Some times you have to believe that you're doing something different and everybody did it wrong before and that's while you'll succeed this time, that's how you take the risk and ignore the downsides. being old can be a detriment to that belief.

<comment><USER16> To evaluate whether _age_ can be used as a descriminator for those attitudes and behaviors, I suggest you substitute "woman" or "black" and see how that reads.

There are young people who will only use the tools they are comfortable with. Ageism is the mistaken belief that this is somehow associated with your most recent birthday, akin to astrology.

<comment><USER15> I'm not endorsing or accepting discrimination, I simply offered up a meek rationalization as I see it.

Honestly, if you find and older person that _wants_ to work at a startup, there is a good chance that they could be doing a few things right to have that energy and drive. You want to know how they live and what they do.

</comment></comment></comment></comment><comment><USER17> No one seems to talk about the elephant in the room: salary. Isn't a more experienced person going to cost more? Are you going to feel comfortable offering them a low salary (relative to their experience), because that's all you got to offer?

And the other way around, even if you would love to have an experienced developer, what do you do if for the same salary you can get an average developer (who will get the job done, because you already have experienced enough people to help), and another profile (sales for exemple)?

This is especially true at small companies, where there just isn't that much latitude to adjust the salary.

<comment><USER18> Perhaps, but it's not like you have to pay 2x or 3x more to hire a programmer in their 50's. More like 20% or 30% more. For 200% to 300% more experience. That's a deal, in my book.

<comment><USER19> It depends. It's possible to find a younger programmer who is less confident in their skills or vastly underestimates his net worth. This tends to normalize with age and experience, so an older programmer with the same skillset is likely going to be more expensive simply because they know how much they can ask for.

Similar to the effect of women being paid less because they are less likely to ask for raises.

</comment></comment></comment><comment><USER20> 60+, programming for 44 years, triumphed over adversity more times than I can recall, wimpy looking nerd discounted by almost everyone I ever met. Hardly ever got the girl, got to be on the team, got the part, or got the job.

I'm a programmer because I can code, and at the end of the day, that's all that really matters.

You can hate on another person because they're too old or too ugly or too nerdy or too black or too female or too gay or too anything else, but the real beauty of our field is that success is binary and relatively easy to measure:

      1. Can you build it?
      2. Does what you build matter to someone else?

I've always considered rejection for any reason a self solving problem: if you're too stupid to accept me (whether you're in Silicon Valley or not), then I would have never wanted to work with you anyway. I'll find someone else who understands the value I produce and can provide the environment in which I can thrive.

Life is unfair, especially in Silicon Valley. It's not about the unfairness, it's about our response to the unfairness.

There has never been a better time and a better way to succeed than building software today. It doesn't matter who you are, where you're at, what you're like, what you have, or who you're with. 95% of the battle is what you can do. So go do it.

<comment><USER21> _95% of the battle is what you can do._

If you're in a minority group that suffers discrimination then that discrimination skews the balance away from being 95% what you can do to more like 50% what you can do and 50% what colour/gender/sexuality/age/etc you are. And a big chunk of the 50% that's discrimination is the fact that people outside of your minority grossly underestimate how much of an issue discrimination is.

If you see something that's unfair it's not especially reasonable to just ignore it with a "Life is unfair" line.

<comment><USER22> I think what he is trying to say that it is possible to publish an app or service online and gain momentum completely by marketing it on the web. In such case, I do not see how your color/gender/sexuality/age/etc would matter. You could hide yourself behind a domain and nobody would ever care who runs or maintains the thing.

<comment><USER23> It would be nice to have a job with which you can pay rent and buy food, and pay for that web hosting.

</comment></comment></comment></comment><comment><USER24> Funnily enough, working 80 hour weeks for stock isn't really much of a winner if you have a mortgage to pay and or mouths to feed. The ping pong table doesn't make up for it either.

</comment><comment><USER25> A few comments here saying that salary is the elephant in the room, which is a valid point, but I think the biggest elephant is the insecurity which lurks in the heart of every entrepreneur.

Co-founder/C_O types in their early 20s are often intimidated by people 35 and older, especially when those people have a long record of working in tech and all the war stories to prove it. The thought of hiring such a person, even when they are superbly qualified for the job and amenable to the compensation package, makes young entrepreneurs a bit uncomfortable.

I think there are two specific fears that drive this feeling of discomfort. First is the fear that older employees might see right through the fact that they have no idea what they're doing and call them out on it.

Second is the fear that older people will destroy the culture through their relative lack of enthusiasm and exuberance. In young founders' minds, it's better to hire someone who's been drinking legally for all of 18 months and who can be counted on to nod earnestly when you talk about "our mission" at the all-hands.

<comment><USER26> In sports (I'll use Hockey as my example here), teams that are going through a rebuilding phase to stock up on young talent will often bring in a few veterans, players who are past their prime physical ability but are deep on wisdom and experience. Their presence there is to stabilize the new players. They (often) provide a calming presence ("Down by 2 and 3 minutes left? Bah, been here plenty of times. Don't panic.") and provide leadership.

However, you won't see them wearing the Captain's "C". That's the job of your young star that the team is coalescing around. Instead, he's there to be the mentor, the teacher, and build the new for their role and help them avoid mistakes. Lemieux mentored Crosby. Sergei Federov mentored and played alongside a rising Alex Ovechkin. The older guys were well established. They'd been young, excelled, failed, and seen it all. They had valuable lessons to impart and weren't as prone to panic or mood-swings.

Startups have some good resources in organizations like YC to get that level of mentor-ship, but perhaps it would be worthwhile during that incubation phase to impart on those new companies not to dismiss your older workforce. Making your new founders understand that they're not to be feared, but consulted as a source of wisdom could steer them around potential mistakes, and provide that steadfastness when the cluster craps itself at 2AM.

Of course you want everyone to believe in your vision, even if there's some skepticism, you need people behind you to succeed. It's perfectly reasonable to evaluate on that.

But if I were in charge of an incubator, I'd be instructing that founder that, when she or he is building that young crack team, grab a few veterans as well. They're in this for the long run.

The Cup awaits.

</comment></comment><comment><USER27> This is my biggest fear as I enter my 30s in a number of months. I've been programming professionally since I was 20 and for fun since 10 - I can't imagine having to do something else, it's what I was born to do. I'm still relatively young but I just got married and the long hours and complete commitment I used to wear as a badge of honor no longer seems appealing.

Am I going to be able to do this for the rest of my career? I honestly doubt it, but I have no idea what I would do instead. My father was a draftsman for years and made good money but the market for draftsmen completely dropped out and he spent the last fifteen years of his career unlocking doors at a school. I have such a strong desire to stay relevant but I can't spend nearly as much time studying as I used to even a year or two ago. Sigh.

<comment><USER28> You'll be fine.

I'm a few years ahead of you. I had the same fears. I was newly married and didn't feel like I was ahead of the game. I'm now 33 and have a house and two kids. It's a trip but I'm still a programmer somehow.

Companies come and go. They go on huge hiring sprees and then either go under or layoff people in a few years. Few, if any, will invest in you long-term or care about the stability of your family. So don't count on having a career path the resembles anything like what your parents or grandparents enjoyed.

"Retirement," doesn't seem like something on the menu for people in our generation or the ones to come.

So plan for it yourself. Education is your best, first defense. Study the right things (Maths should be the top of the list IMO). Next plan to save everything you can and spread it out into investments in a good balance of stocks and bonds. If you decide to have kids start an education fund right away and look into any grants or assistance you can get from your local government to kick-start it; if they do better than you in life then chances are your retirement will be fairly comfortable.

You can still stay sharp. You just have to change the yardstick. My young friends always talk about the latest languages or frameworks but it always comes back to data structures and transformations. I've just learned to be more picky about how I spend my time because once we started having kids I've had far less of it to waste.

<comment><USER29> I think this is solid advice. I continue learning by picking problems/inconveniences I encounter while working during the day, and then doing whatever research is required to make those things less inconvenient. In the process of researching the problem space, I'm often introduced to new programming concepts and tools that I would have otherwise never known about. Overall, I find it easier to learn new things if I have a real problem I'm trying to solve.

</comment></comment></comment><comment><USER30> While most of us are pointing fingers at the fast-changing nature of and innovation-craziness in the tech industry, I think the core reason may be quite the opposite.

It seems plausible that the tech industry, innovation-wise, is actually in a rut where companies are forced to cut costs and survive by hiring young people whom they have to pay less. The changes happening in the industry today are of a fickle and shallow kind, not fundamental and lasting. And in an evolution- like process the older amongst us, who are the only ones with enough experience to really innovate, are being driven out of the ecosystem and forced to disrupt an industry going stale.

<comment><USER31>
      > companies are forced to cut costs and survive by hiring young people whom they have to pay less

.. and yet still starts up in Silicon Valley, among the highest salaries and real-estate prices in the world.

<comment><USER32> What's your point?

<comment><USER33> The salary for any given employee is not a limiting factor. I think this is true. Even when you have a _very_ limited budget, many places will prefer to be under head count with a higher performing team. If you can get that guy who is going to let you avoid running down rabbit holes all day, every day, they are worth the extra bucks.

I think the problem is that these people are hard to find -- whether young or old.

<comment><USER34> "I think the problem is that these people are hard to find -- whether young or old."

Find as employees, and its harder to find them as they get old. I've already found myself, my family and I have a high standard of living without having to put up with open offices, long commutes, cult like office culture, more than 80 hours a week, or less than six month runway till we're all unemployed. Maybe I could be convinced to consult? The odds of this being the situation at 42 are a bit higher than at 22 and the odds rise over time.

Life is different now, WRT culture fit, for example, a quarter century ago employers didn't care about my religion or lack thereof, or my reading matter or hobbies, but now its all about everyone trying to fake that they're the same 22 year old kid, which is really weird. I think I'm a pretty good actor and if I got accepted into a cult like environment, it would be really weird for everyone when I stopped acting, so I'm not sure hiring people based on acting skills is necessarily producing culture fit to begin with.

Strangely, I'm told that the best work teams have great interview actors and/or really are groupthinkers of the highest (lowest?) caliber, yet observation and experience show the most productive teams I've seen have been fairly diverse. Maybe they're trying to select for the best liars in interviews. (Yeah boss, just like you said, groupthink is awesome!)

</comment></comment></comment></comment></comment><comment><USER35> It seems like ageism in tech is subject to a different dynamics compared to sexual or racial diversity.

With age comes more work experience and most SV companies (even the unicorns) usually don't need it. Most of them is driven by pretty trivial tech anyways. As soon as you start looking into technically challenging fields, you see more and more older people: Sebastian Thrun is in his late 40s, Guido van Rossum is almost 60. People like Doug Lea, Lars Bak, Martin Odersky, Fabrice Bellard, Matthew Dilon, Simon Peyton-Jones etc are all well beyond their 20s.

It makes perfect business sense. It's an overkill (and a recipe for disaster) to hire someone of that stature to build you a website. There's also nothing special about tech in this regard: if 90% of all legal work in the world could've been done by a paralegal, law firms would all be full of cheerful 20 somethings.

<comment><USER36> Exactly my thoughts. You don't see a lot of twenty-something hipster types writing memory allocators, device drivers, kernels and critical middleware. Yet, the industry nowadays is dominated by people who believe that cobbling together a single-page application using the latest, shiniest framework is at the edge of tech excellence.

<comment><USER37> In my experience, a significant portion of the hobbyist operating systems community is highschool or college students, actually.

</comment></comment></comment><comment><USER38> What I've noticed in tech is that the further you are from the [being polite] demographic core -- the better you need to be.

In the context of this discussion, there's room for you as an older employee, but the way it seems to work is you need to be really really good at your jobs. Because when you make the inevitable human mistakes, the number of years you've been at it is _always_ brought up.

<comment><USER39> I have to wonder how much of that is discrimination and how much of that is salary mechanics.

More experienced people demand higher salaries. When I apply for a new job, I expect a higher salary than my old job, and I'll use my experience to justify it.

Typically, older people have more experience and thus ask for a salary to match. When you're asking for a high salary, companies generally want to know that you're good enough to justify that salary. Companies aren't going to put that kind of pressure on a fresh-out-of-college 22-year-old because such a person is going to be working for peanuts.

<comment><USER40> > Companies aren't going to put that kind of pressure on a fresh-out-of- > college 22-year-old because such a person is going to be working for > peanuts.

22-year-olds don't work for peanuts in SV. They make double the median _family_ income in the US _before_ stock.

<comment><USER23> We're speaking relatively. In the context of the conversation, it makes absolutely no difference what someone working in a McDonalds in rural Wisconsin makes. We're talking about the cost of engineers. And compared to people who do have experience, they're working for cheap.

<comment><USER40> It's somewhat irrelevant how much money you're being paid between $100k and $300k.

I know from experience there's not enough free time to spend that much money anyways so unless I'm getting a part-time job or I'm trying to retire early or something it's not a priority.

After $100k I'm going to start looking at other priorities like equity, how interesting the work is, food and ping pong tables and so on. It wouldn't make any sense to further pad my 401k or whatever at the expense of my day-to-day happiness.

<comment><USER23> Depends on where you live. In the Bay Area, the difference between $100k and even just $150k is quite a bit in terms of housing.

</comment></comment></comment></comment></comment></comment><comment><USER41> I cannot help but think that companies dislike older people because they don't put up with that much bullshit.

You can underpay a young (naive) person, make them work 12+ hours a day, if they get disgruntled pacify them with a nerf gun fight or catered lunch. Older people might not go for gimmicks and ask for appropriate working hours and reasonable vacation time etc. That puts off the corporate types.

<comment><USER42> And the yelling/bullying. What is it with managers at startups and yelling? I got enough of that growing up. I have zero patience for it from my boss.

<comment><USER43> Yep, that I draw a paycheck from your company does not mean that I am paid to put up with your shit. I don't care that your wife is cheating on you, or your kid set your dog on fire, or your mom is dying of lupus. If you can't keep that shit at home where it belongs, then you need to stop trying to manage people because you can't even manage yourself.

</comment></comment></comment><comment><USER44> I recently went through a job search and began writing off companies that were all 20-somethings who obviously didn't have a lot of interviewing skill. I would say bias against older interviewees is 100% politics. Many of these interviewers were not experienced. They knew they wanted to be top dog in their respective department,s and thought that it was in their best interest to keep experienced people out. It's not until they go through a few cycles of pain and disappointment do developers start to want to work with experienced people. It's not out of respect. It's because they now understand that they are only hurting themselves and want someone to relieve their workload. Mid- tier and experienced interviewers loved me. Early career people tried very hard to throw their best curve-balls, but I had already spent a week working problems. In the end, one company in particular, Facebook, simply just said that I answered correctly but answered too 'slowly.' I knew they had cracked when I heard that word.

<comment><USER45> 'Slowly' is another thing going on in the industry, not just facebook. They want 'speed' with 'correctness'. I don't know where this leads to.

<comment><USER44> It leads to interview arms race. People will try to find ways around any sort of objective measure devised. Soon we'll have sexiness! "Your code works. You were fast and correct but just not sexy enough. Thanks for stopping in."

</comment></comment></comment><comment><USER46> Let's go the the very core of this: smart old people are massively more productive than fresher minds. They know the fundamentals and they know the tricks, they also know themselves and their needs. They can tell youngsters that you are wasting your time and they are right. Point is: youngsters need to waste their time in order to learn life, the trade and -in this environment- in order to get something really new out of their own evolving needs in an evolving world. A corollary is that domain-specific applied problems are probably better suited to older people but unpredictable ways are easier to come from fresher minds.

</comment><comment><USER47> I am going to get a lot of flak for this. This is my personal experience.

For older people, who have experience building stuff,e.g-software developers who have done some development in their life- they are worth their weight in gold. BUT most older people I work or have worked with, they are not all developers. People like sysadmins,IT people, sharepoint admins, automation managers,DBAs,Managers some system architects etc- I have seen some common traits- 1) They have no enthusiasm for work. Work is not even secondary for them. Its the last thing

2) They either think they are doing hard work or act like they work hard. Exaggerate all issues or whatever work they did even if its just an installation

3) No passion for technology 4) Do not want to learn anything new 5) Don't care about above, because its time for their retirement and so they don't care what others think

Given this, if I were building a team, I would lean towards the younger crowd. Unless the older person has experience building stuff.

<comment><USER48> >I am going to get a lot of flak for this. This is my personal experience.

Yes, you are going to get a lot of flak. I'll start. Yes, it's your personal experience. Personal experience is where prejudice usually comes from. If you get beat up by 3 people in green tee shirts, you're going to cross the street to avoid people in green tee shirts. That's the way our brains are wired. It's natural. It's instinct.

It's also natural to pee on the sidewalk when we feel the urge. But we suppress that instinct because society functions better when we do. Similarly, society functions better when we suppress our natural prejudices while interviewing. We use our intellect to remind ourselves that there are people who don't fit the mold of our personal experience, and force ourselves to interview one person the same as anybody else.

And you keep doing it even after interviewing several people who _do_ fit the pattern you've seen previously.

</comment></comment><comment><USER49> My very favorite interview question ever, from when I was 41, posed by a fresh UCLA grad: "do you think a gentleman of your age can interact with programmers today?"

</comment><comment><USER50> I have been brought in, as an independent contractor, at the tail end of enough projects to "salvage" them to have a somewhat cynical point of view on this.

In all of the worst cases the projects probably had no one over 25 working on them.

I'd figure eventually enough money will have been lost on such failed projects for tech companies to change their minds on this.

<comment><USER51> As long as the industry keeps growing quickly, we'll keep seeing teams that consist entirely of inexperienced youth.

I think the only thing that distinguishes now from previous periods in the software industry is that there is less of a engineering-driven culture in the companies - product and sales more frequently take a leading role, and the technology used is cheap and accessible enough that bad developers can still make a go of it, get the business through launch and into profitability(albeit with catastrophic bugs, no security, no backups, etc.).

</comment></comment><comment><USER33> There seems to be some assumptions that companies prefer to hire younger people. I have yet to see that, myself (getting close to 50). When I was interviewing people, I was _looking_ for older people with good transferable skills. We just couldn't find anyone. However, I think that there are some caveats.

When people are young, you tend to cut them some slack. You don't really know how they are going to turn out in a few years. You hire someone with the hope that they will improve quickly over the short term. When people are older, you have a track record to look at. Sometimes it is very obvious that they have had a hard time of it in their career.

The end result is not that people prefer younger people to older people, it's that they prefer unknown quantities to known, poorly performing quantities. If there is someone with an exceptionally good track record over a long period of time and who can do a good interview -- my experience is that they will be snapped up quickly.

I don't really buy the idea that length of employment is a serious issue either. Attrition in IT is huge and I never assume that _anyone_ is going to last more than 2 or 3 years.

</comment><comment><USER52> I think some, perhaps most of this effect is related to the growth of the industry. Far fewer 25 year olds started a career in coding in 1990 than 2015. Fewer 25 year old coders in 1990, fewer 50 year olds in 2015.

That dynamic has existed for a while. When Gates' & Wozniak's generation started coding it was an unusual pursuit. Age gaps became part of the demographics. Like everything else, being common translates into being normal.

Other than that, I think there is a little more attrition in coding. Experience is important, but current knowledge is too. SV startups are riskier, so more appealing more to younger people. They use new technology, so less of a comparative advantage for old skills.

I'm not saying discrimination doesn't exist, I'm just saying that demographics play a big role explaining the average age. Some of the discrimination that does exist likely comes from simple human pattern matching. That's not what a coder looks like. All the coders I know are 25-40.

If I'm right, time will fix this.

<comment><USER53> A relatively well known 60+ dev would agree with you: [http://blog.cleancoder.com/uncle- bob/2014/06/20/MyLawn.html](http://blog.cleancoder.com/uncle- bob/2014/06/20/MyLawn.html)

<comment><USER54> This is an underrated comment. The data is right there; even if you disagree with the author's conclusions, it's pretty hard to argue he's incorrect about the correlation between knowledge and age. Here's to hoping I'll be one of those older programmers in 15 years.

</comment></comment></comment><comment><USER55> YMMV, I am 58 and I am a UI designer. In my 30's I thought I would be unemployable by 40-years-old due to exceptional "kids" in their 20's who were either as good as me but less expensive or who were better, more current, and available for the same price. This paranoia has kept me employable.

My experience is that your rate has to match the quality of your work not your experience or names of the NASDAQ 100 companies you worked for. If you are simply equal to the competition then you drop your rate. If you're better you match the rate.

</comment><comment><USER56> It's too late and too hard to change SV/YC cultre. The Zuckerberg-wannabes have a mantra that after 30 you get slow and incompetent.

The only realistic path is by making new startups like the WhatsApp guys did and then the Zuckerbergs need to eat their words and shed some of their hard earned billions or get stomped by some old programmers.

</comment><comment><USER57> One of my friends commented on this like this:

My friend: "You know, majority of actresses in porn are young so it make sense that it same for Silicon Valley start ups".

Me: "Start ups are not porn"

My friend: "Yes they are"

Me: ... thinking... "Yes..."

</comment><comment><USER58> I must admit that I feel myself to be in the monority of middle-aged people who are aging kinda/sorta gracefully. That's not to brag, rather to point out that I know a LOT of middle-aged people who don't seem full of vitality and vigor, usually because of self-indulgent habits with food and drink.

I do wish that more of us were able to control our various appetites: the evidence that we might have a hard time doing so tends to accumultate with age.

<comment><USER59> This is really important, must people overlook how eating healthy and doing exercise helps. And it even makes you look 15 years younger!

<comment><USER60> Yes. 39 here and I feel better now than I did in my 20s, and I can run a mile faster now too so I at least have _some_ objective evidence I'm not totally fooling myself. :)

I'm far from svelte today but I've really improved my life by taking better care of my health.

To everybody in their 20s: the health-related stuff you can get away with in your 20s (poor diet, no exercise) might be working for you now but it's not going to fly forever!

</comment></comment></comment><comment><USER61> There are many interesting comments, but they neglect the intersections of discrimination.

To put that simply:

a) it's hard for a >30 yo white male

b) it's hard for a >30 yo white female

c) it's hard for a >30 yo black female

a, b and c are correct -- but it's several times harder for c that for b than for a.

</comment><comment><USER62> This issue is intimately bound up with the workaholic culture issue. Older people often have families and lives and aren't interested in 80 hour work weeks, and they've also kind of wised up to the fact that someone demanding an 80 hour work week with the promise of (unspecified) riches is just using you. SV's 80 hour work week culture is about exploiting naive young people and burning them out.

If we can do something about that, then some companies might realize that someone who's been coding for 35 years actually might know more than someone who's been coding for 5.

</comment><comment><USER63> It's all fine until you accidentally hire people whose age doesn't correlate with their experience and maturity. 2 years of getting by as a fine-tongued know-it-all impostor with mediocre technical skills is fixable with some effort, 25 years are not.

That said, there are some extremely valuable older devs out there. It's a pity that most employers cannot afford paying them an appropriate salary.

<comment><USER64> I think this is a key insight; experience demands compensation. The question I have is; when is the experience really necessary? I took a job once, I was recommended by a former colleague to the dev maanger of a fast growing company. I was one of the best developers this person had ever known (I found out later this is how I was sold). I even flubbed a couple of the technical interview questions, but was still hired at my required salary.

My work at this company consisted of maintaining an application written in framework X (where X had long since fallen out of favor). The idea was to rewrite, but due to business requirements this never happened. Had they done the rewrite, my salary and experience would have been justified, but doing maintenance on an old app? They could've gotten a green or junior dev to do that for half the price.

<comment><USER65> What lazyjones was alluding to is that time != experience. A 25 year dev veteran who has just done the same code over and over has very little experience.

I've seen this while interviewing people. Person has 5 years experience on their resume, but it turns out they really have about 3 mos. experience. They got the job, learned it in about 3 mos. and just repeated it over over and with minor tweaks. Part of the blame is the company for no growth path and part is on the employee.

To the original point. Where I work now only 2 of the 7 devs are under 30, and they will both be 30 soon. Having this level of experience lets us build things very quickly. It also lets the business side trust the dev team to usually make the right decisions on the fly.

<comment><USER66> As they[who?] say:

Sometimes "20 years of experience" turns out to be just "one year of experience, 20 times over".

</comment></comment></comment></comment><comment><USER67> Let companies avoid older programmers at their peril. The companies that do hire them will do much better by avoiding reinventing wheels, repeating the mistakes of the past, and losing valuable tribal knowledge due to high turnover rates. I firmly believe that nothing "needs to be done" about lack of diversity in work places because the penalty for avoiding candidates based on gender or ethnicity will levied slowly over time.

Interviews should be conducted online without any indication what race or gender the applicant is. Their work and expertise should speak for itself. I also think trying to find people who "fit the culture" is a terrible way to hire. On the surface it seems to make sense because interpersonal communication is half the battle, but it's usually code for "hire people like us" so even though you may try to hire more diverse people on a visual basis, you'll end up hiring less diverse people on a personality basis which can be just as bad.

</comment><comment><USER68> Employers should ask themselves what their implicit, and/or private reasons are for preferring younger candidates over older ones, and then compare those same justifications transposed unto other well represented vs. underrepresented groups _mutatis mutandis_. If the reasoning is unacceptable in the latter case, why not the former?

<comment><USER69> I can think of at least 2.

1) A young company, light on technical background, has build a castle on webscale sand. A few of the smarter young folks have become experts in this system, and get a lot of clout by solving "difficult" problems. Suddenly an old guy comes along and says "lets just use MySQL and CREATE INDEX". Basically, he's been there, done that, and realized that J2EE + MySQL will get the job done with a minimum of fuss, or that the "simplification" that comes from denormalizing carries a huge maintenance penalty.

This old guy threatens the young "experts" \- if the system is rebuilt according to industry standards, suddenly they are just another dev.

2) The old guy hasn't kept up with the times, and is stuck in ancient (and outdated) ways of doing things - manual management of memory, FooBarFactoryFactory, etc.

You can't transpose these justifications onto non-Asian minorities, women, etc. A non-Asian minority or female 25 year old is fundamentally equivalent to a white/Asian 25 year old male. Nodejs is equally "close to the metal" regardless of your demographics.

Tech in 1996 was radically different - a CD ROM filled with a small subset of wikipedia was actually a _huge technical challenge_. As a result the old guy _really is different_.

On a personal note, at my current company I'm both the oldest techie and also the only techie who isn't a member of the majority ethnic group (sliced in US terms, at least). My age is a significant factor - I'm sometimes out of touch (I know fuckall about angular.js) and sometimes I'm the voice of experience (we should have a metrics server and use it for all the things). My ethnic diversity is completely irrelevant.

<comment><USER70> > The old guy hasn't kept up with the times, and is stuck in ancient (and > outdated) ways of doing things - manual management of memory

Garbage collectors have been around since the 60s with LISP.

I find it amusing to see that the first language I was taught in an academic setting in 1996, Caml Light (ancestor of OCaml), is still very relevant today!

<comment><USER71> Pretty much everything that is "new and hot" was done in 60s and 70s with Lisp and Smalltalk, only smarter and better. Hell, even a day or two ago we had an article pointing out that React is basically rediscovered WinAPI. The old guard that seems to be behind the current trends may in fact be _ahead_ , because they've seen how things went in the previous iteration.

As the saying goes, every field learns from its history - except software development.

<comment><USER69> This is true only for a very narrow set of "new and hot". Lisp and Smalltalk did not "do" the modern, statically typed, inference and category theory heavy languages that are rapidly growing. Dependent types were not "done" in Lisp/Smalltalk.

There are also a lot of "new and hot" things which are not programming language features at all - e.g., the lambda architecture, the rise of bayesian inference, and other such things. Even relational databases - so old that it's easy to forget they were "new and hot" (with good reason).

<comment><USER70> > statically typed, inference and category theory heavy languages that are > rapidly growing.

All of this is quite old too. As I said, I learned ML as an undergraduate in 96, 20 years ago. Back then, many "hackers" laughed about such languages.

Actually, that's why I think a more foundational CS curriculum is a good thing, as opposed to those that are heavily based on technologies.

</comment></comment></comment></comment></comment></comment><comment><USER72> Zuckerberg saying "Young people are just smarter" seems like an instance of [https://antidem.wordpress.com/2015/03/31/glantons- law/](https://antidem.wordpress.com/2015/03/31/glantons-law/) Age discrimination exists because most of us have direct experience with family members who diminish as they age, especially when these family members didn't keep up a habit of doing intellectual intense things they did when they were younger and instead spend increasing amounts of time watching sports and doing crosswords. It's possible to be a badass programmer in your 80s, Knuth will be one soon, but it's very rare. We thus shouldn't expect to have an equal distribution of old people and young people, regardless of whether that's desirable or not.

</comment><comment><USER73> There's certainly ageism in Silicon Valley, but if we magically got rid of it tomorrow it's not like startups would suddenly be flooded by applicants my age and older. Most older people select themselves out of Silicon Valley because most older people have lives outside of work, and they're not going to put up with the inefficient and pointless lets-all-work-twelve-hours-a-day bullshit you so often get from entrepreneurs and coworkers in their mid-twenties.

If we really wanted to achieve age diversity in Silicon Valley, we'd not just have to get rid of ageism, we'd have to change the work culture to something a wee bit more rational - and that's just not going to happen as long as all the major institutions glorify overwork to the point of burnout.

</comment><comment><USER74> 1\. From the article: Age discrimination is one of the last places left where employers can discriminate. This sounds to me like we need to reform some discrimination laws at the federal level.

2\. I think that we need to go to a single-payer health insurance system and get employers out of the business of providing health insurance. If this were done, more employers would consider people over 50. The ACA helps in some ways, but is an incomplete solution as the employer still has to offer and pay up for health insurance, and older engineers are going to cost more in premiums.

<comment><USER75> > I think that we need to go to a single-payer health insurance system and get > employers out of the business of providing health insurance. If this were > done, more employers would consider people over 50.

I've always wondered if small businesses would be more interested in hiring women in their 20's and early 30's if single-payer was a thing. The difference in health insurance costs is non-trivial because of possible maternity costs.

</comment></comment><comment><USER76> I have noticed in other industries they at least try to come up with stupid rationalizations why there is age discrimination and gender pay gap. The reasons stated being older people raise the price of benefits and are closer to leaving workforce. Females may leave the workforce to have children.

But in the tech industry we give reasons like old people are slow/stupid and chicks just don't understand computers like males... seriously I have actually heard that come out of people's mouths.

Its completely disgusting.

</comment><comment><USER77> I've noticed young people are very biased when interviewing older candidates. It's kind of sad. On the other hand, older interviewers are used to hiring college grads.

</comment><comment><USER78> Relevant article from a few years ago: [http://medriscoll.com/post/9117396231/the-guild-of- silicon-v...](http://medriscoll.com/post/9117396231/the-guild-of-silicon- valley)

That blog was also the reason that someone started this Twitter account: [https://twitter.com/neckbeardhacker](https://twitter.com/neckbeardhacker)

</comment><comment><USER79> I am a member of the early 40s club. I've had what you call an interesting career. I have delivered technology solutions wherever I have worked and they have on the whole been pretty successful. One of my dreams is to work in Silicon Valley and I have no doubt that I could be successful. However, it's not a goal I am pursuing for various reasons, one of those reasons is the perceived age bias that exists there.

</comment><comment><USER19> I run a design/development agency in Europe. I'm the only male (of <10 employees).

We had an applicant for a development job who said he was 50+ and had been self-employed several times. In the end we decided not to hire him.

The age was a factor, but not in the way you'd think. The primary reason was that he proved himself to be a very bad fit for the team and the kind of clients we work with. He attempted to dominate every conversation to prove his seniority (or assert his potential if it was on a subject he had no prior experience with).

I'd like to think his age wasn't a factor at all and most of his behaviour can instead be attributed to his prior experience being self-employed, but I'm not sure whether this is true or not.

I don't think age is a valid argument any more than race or gender but I'd like to think that these are just unfortunate proxies for the actual reasons companies don't want to hire candidates. I've turned down a lot of "foreigners" because their language skills were insufficient for the requirements of the job. I've turned down "men" because of their macho-like behaviour towards the women on the team and I've turned down "old people" because they treated younger team members less respectfully.

None of these traits are representative of all potential candidates in each group, but they tend to be common enough that you tend to become more sensitive to them, especially when hiring people from that group. This leads to unfair bias, but short of anonymizing CVs (which can be extremely difficult) I don't see any fool-proof way of avoiding that.

There's a very thin line between due dilligence and unfair bias.

<comment><USER16> Discrimination is so popular because it works so well. As mentioned, there are cultural values that you can quite often predict just from {being a woman/black/old}.

A primary mechanism to combat this is, to get folks to evaluate each person as a person. To do this, an effort has to be made to recognize and cancel out any preconceived notions may have been formed from incidental cues like age.

I'm glad to see anecdotally that candidates were turned down for real reasons, at least so far. I'd advice being very diligent at continuing to require real criterion in hiring decisions. For instance, anonymizing CVs is not at all hard - why consider it a last resort? E.g. put a piece of tape over the name when reading a pile of them.

<comment><USER66> This is actually a big problem with deep machine learning based algorithms: they're guaranteed to be discriminatory but there is no obvious mechanism for making them obey laws that prohibit discrimination (which often means they get away with it based on a technicality).

In a perfect world this wouldn't be a problem because you'd just fix the root issues (i.e. eliminate poverty and crime in ethnic groups, fill leading roles in tech with women, etc etc). In the real world, things are not that straightforward (especially in the US where a lot more data can be collected and used to feed the algorithms than elsewhere).

</comment></comment></comment><comment><USER80> I was looking over resumes 2 years ago. We saw a guy in his 50s. My boss's immediate reaction was "he's 50?! wtf? so old!"

Ageism is real folks.

</comment><comment><USER81> > In comparison, the average age in more traditional tech industries like data > processing or web publishing was almost 10 years higher than Silicon > Valley/Internet firms.

Maybe this could be explained by younger folks, not bound to a family's worth of obligations, moving to California in droves from places all over the world?

So maybe we should normalize the data based on the age distribution in silicon valley.

</comment><comment><USER82> I'm not a fan of "protected category" hiring rules in any case. If good old people are underpaid, then let your company profit by hiring them. I suppose a tempting compromise is to not allow companies to solicit disclosure of age etc (so people can leave the year off their degree, show only most recent experience, etc), but honestly I think it might be better if those companies that really will only hire young would advertise the fact and save everyone some time.

Starting from only a very small _real_ disadvantage in ability, any externally distinctive group can quickly seem a 'market for lemons' \- for example, maybe the oldsters you've seen so far across the interview table are unrepresentatively bad, because the good ones are working and not interviewing. So don't think because you've seen 4 weak candidates of 50+ years old that it's not worth looking at the next.

</comment><comment><USER83> Age diversity will be "achieved" when young developers start valuing themselves properly, i.e., never. That whole nonsense of "culture fit" is really just a euphemism for won't fit into a culture of exploitation and extraction. You would also get a "not a good culture fit" if you had young devs who respected their time and drew limits. That's the thing about the abusive environment in the tech sector, you are only valuable if you are willing to do the modern equivalent of back breaking work to the point of exhaustion. Sure, it pays off for some ... usually the founders ... but for the vast majority it will not pay off and they will simply be left with having spent their young years hunched over laptops day in and day out in order to make others rich. It's the modern equivalent of the gold rush and young devs are the mules and hard laborers.

</comment><comment><USER84> What's most interesting to me is, after reading the comments on this article, very few people are coming back with "but why do we need age diversity? What if old people just aren't interested in working in tech?"

Swap out gender for age, and you'd see a whole different weight on the spectrum of replies.

<comment><USER82> In my company, it seems we are (slightly) biased toward female programmer/researcher candidates (that is, a female will get hired more eagerly, all else equal).

</comment></comment><comment><USER24> I wonder if the technical interview process can feed into this too. Particularly the questions straight out of the final year of a computer science degree. It'll be decades since senior engineers left university and they reasonably wont have held on to the knowledge that they haven't used.

</comment><comment><USER85> I'm in an industry where most of the analysts are 40+ and many are in their 50s and 60s because the clients only want experienced developers / business analysts. It's a niche market that a new-hire would have a tough time getting into. It works both ways sometimes.

</comment><comment><USER86> I would like to take this as an opportunity to ask:

Why is diversity important? e.g. in age, gender, race, ?profession? ... etc. Isn't the business built on the advantage of particular "group"? And that skill becomes be-all, end-all (e.g. important) to the success of the company?

<comment><USER87> When all your constituents are the same size and aligned in the same direction, your aggregate material becomes very strong, and hard, but it also becomes brittle. Diamond is 100% carbon, all bonded via identical sp3 hybrid orbitals. It is very hard (10 on Mohs scale), but it also has perfect cleavage in 4 directions. You can cut a diamond in half with a light tap in just the right spot. Diamond cannot be effectively carved, it can only be cut into faceted gems.

If you incorporate materials of different sizes and orient them in different directions, your aggregate material becomes very resilient. Nephrite has many interlocking fibers of tremolite and actinolite, like the hairs in felt. Nephrite jade can be carved with exceptional detail. A nephrite bell or war club is reasonable, whereas trying for the same with diamond would be insane.

When your workforce lacks diversity, you are counting on its resulting strength to accomplish some goal before an unexpected shock shatters the organization.

Or perhaps you can look to the banana. Most bananas in cultivation are clones from the same stock. Nowadays, the variety is the "Cavendish". But the banana on store shelves used to be the "Gros Michel". Panama disease wiped them all out, because they were all the same plant. No diversity means less resistance to external hardships.

Cheetahs are so similar in genetics that regardless of numbers, they are just one disease away from extinction.

So while similarity does produce better focus on positive goals, diversity is what insulates you from negative shocks. So the natural conclusion that you an I may reach is that companies which lack diversity are looking to grow as quickly as possible and seek a fast exit before their first crisis hits, whereas those that hire more broadly are in it for the long haul, being more able to weather unexpected adversity.

</comment></comment><comment><USER88> Does anyone know of any statistics that show people in the tech industry by age? In other words, I wonder if the sheer number of older people "in tech" is just dwarfed by young people who have been in it all along (As opposed to a career change by a mid-career older person). Also, since the tech industry has grown so exponentially, the number people in the industry in and of itself has expanded to greatly include younger people (versus existing, older people who choose to switch into the field).

This is to say that I wonder if people older than 40 or older than 50 are truly underrepresented in tech because of age discrimination or is it because there is, quite literally, not that many of them in tech to begin with?

</comment><comment><USER89> It seems like the biggest issue here is the compensation structure of startups. People who have been working for a long time are those least likely to take a huge pay cut for upside even if they're the people who are often well-suited for that risk.

</comment><comment><USER90> I don't think this is possible in the short term. There is probably age discrimination, sure, but to a large degree the problem is that programming is a very young field. It has been growing at a rapid exponential pace for decades, which means that the vast majority of people in the field have been in it for less than a decade.

The only way to increase the stock of older programmers in the short term is to convince people who are fairly far along in their careers to jump ship to a new field, and start off from scratch. Daunting, and likely a step back careerwise.

In the long term, the problem will likely solve itself. Assuming that you actually consider it a problem.

</comment><comment><USER91> It would be very interesting to see when the millennials, people born particularly in the 90's get to their 40s.

One of the reasons for the lack of diversity is that people born before 1975 haven't really experienced the internet revolution like those of us born in the 80s and 90s have.

Sure there are exceptions, those exceptions are people who were directly working on technology. An alarming trend in our industry (at least in my part of the world) is that a lot of people stop directly working on technology by the time they are 30-35 and start going towards the managerial end of thing.

<comment><USER92> > One of the reason for the lack of diversity is that people born before 1975 > haven't really experienced the internet revolution like those of us born in > the 80s and 90s have.

What does that even mean? We _lived_ through the Internet revolution. And even we can't claim to have invented it, because that was the generation before us (Tim Berners-Lee, Vint Cerf, Bob Kahn, etc).

It's exactly because of this kind of mindset that it's becoming increasingly hard for 40-somethings to find decent employment in development, and (along with corporate culture) a strong factor in the trend toward becoming managers once we hit mid-30s.

You're going to find the next 20 years enlightening, that's for sure.

<comment><USER60> > What does that even mean? We lived through the Internet revolution.

I was born after 1975 (barely - the Internet revolution happened when I was in high school and college) so I'm not just sticking up from myself here when I say that a lot of people born before 1975 really do "get it."

Almost anybody who spent ten minutes using BBSs in the 1980s knew that some kind of connected _thing_ was going to be the future. It was nearly inevitable. Maybe it would have been a bunch of closed CompuServes and Prodigies, maybe it would have been a BBS in everybody's home, maybe it would have been something global and semi-mostly-kinda open like the Internet. Whatever the form, that generation knew that connectedness was the next logical step. You can see it in sci-fi of the era (Neuromancer, etc) ...they weren't sure what _form_ or _forms_ it was going to take, but everybody knew (hoped) we were going to be connecting to other people using our computers.

So a lot of people from that generation were right at home once the Internet became an everyday thing. And a lot of them weren't, obviously, but a lot of them were totally primed for it.

</comment></comment></comment><comment><USER93> Discussions of workplace diversity try to answer the question "Should Alice or Bob get the job?" That doesn't sound like the right question to me, because one of them is still left without a job. Instead of 30%/70% unemployment, you've achieved 50%/50%. That's nice, but...

I think we should try to create a baseline of happiness that no one can ever fall beneath. Universal basic income might be a good step in that direction, though I don't expect it to solve all the problems.

<comment><USER94> > Giving good jobs to everyone

Whether they're qualified or not, right? Because there are not enough jobs for everyone, and most people are not qualified for most jobs.

<comment><USER16> Everyone slaving away is not anybody's idea of Utopia. Once upon a time, we thought robots would take the yoke from our shoulders and leave us all more creative and happy.

Automation is fast approaching something like that vision. But now any time we talk about universal income or other such programs, it turns instantly to make-work projects. How can we keep the slaves working? Because, if _I_ work, everybody has to work.

<comment><USER93> Maybe there's a bit of misunderstanding here. I'm a longtime supporter of universal basic income with no strings attached. But basic income or not, people with jobs would still have higher self esteem and would feel more valued by the community. So I'd vote for a universal job guarantee as well.

I think people tend to exaggerate the problems that can be solved by their favorite idea, and discount other problems. A good utopia should address all of people's needs, not just the material ones. The _need to be needed_ is a particularly tricky one to solve.

<comment><USER16> I'd be glad to give BI a try. I'll take that risk. I'm not so sure of the idea I'm more comfortable at some made-up job that somebody else thinks I need to be fulfilled.

Don't imagine for a millisecond that the only way I feel needed is because of some bs job.

</comment></comment></comment></comment></comment><comment><USER95> Don't want to step on toes, but in short - you can't. Part of the problem is the age genius/criminal curve which shows you the productivity of a typical male, another part is that as you age there is only so much more bandwidth left for grinding shitty jobs and boilerplate code. The only solution is to own a dev shop by that age, otherwise you're f __ __ __, excuse my bluntness.

</comment><comment><USER96> Do something about housing costs? Living there with a family is an extremely expensive proposition. I suspect a lot of people my age (40) simply don't _want_ to be there. Here in Bend, I live 10 minutes from work by bike, have all kinds of great outdoor activities year round, have good schools for my kids, and the median price for a house is 350K - which is actually kind of expensive for Oregon.

</comment><comment><USER97> Management will always want to hire the young ones simply because they are easier to control and have lower salaries.

It would be great if this starts to change as the swell of tech workers hired to work on internet and mobile products in the past 2 decades starts age into their 30's / 40's / 50's.

</comment><comment><USER98> I wonder how much of this discrimination is due to housing inequality. I suspect many young programmers resent paying $3500 a month rent to a landlord who bought their property for 75k 20 years ago. Denying jobs to that generation might be their way of fighting the perceived injustice.

</comment><comment><USER99> As a side note, I do dislike anti-discrimination laws. As an example, one of the ways to enforce it is via statistical analysis. I have a feeling this probably works for certain kinds of jobs but not for others.

</comment><comment><USER32> Won't this happen naturally as millennials get older? More people are studying CS and going into tech these days.

</comment><comment><USER100> I'm 51 and have never had trouble finding work. Stay current, relevant and, most importantly, specialize.

</comment><comment><USER101> I wouldn't join any club that would have me as a member.

       -- Groucho Marx

</comment><comment><USER102> it just goes to show, everyone will whine when they see people getting things they want.

<comment><USER103> Will you do any less when it's your demographic's turn to be deprived?

</comment></comment><comment><USER104> Maybe start at YC first?

<comment><USER105> Except that YC is a very particular style of incubator: They're a growth incubator that pushes companies to grow fast over growing well. On the contractor's triangle (good/fast/cheap, pick any two), they're all the way over on the fast/cheap line.

More experienced people tend to see the value in growing well AND fast at the same time. So more experienced engineers (aka, older folks) tend to always push away from the cheap and towards the fast/good side of the line ... or if cheap is a mandate, then they push towards the good/cheap side of the line.

None of that is what YC is about.

<comment><USER89> "They're a growth incubator that pushes companies to grow fast over growing well."

Any evidence for this comment? Any evidence that there's even a tradeoff you can make? Any evidence that your hypothesis (which seems to be that "growing well" is better) is supported at all?

The reason (just guessing, not affiliated with YC) that YC feels like growing fast is best is that "growing well" might involve a greater investment before you've reached product-market fit.

I will also add that age-diversity has almost nothing to do with founders. Founders are already slightly older on average. Plenty of companies founded by young founders have their average age go up quite a bit once they have found product-market fit and can hire more people.

</comment></comment></comment><comment><USER106> Lack of diversity, measured in any way, is often tied to folks laden with insecurity or a lack of empathy, ending up in a position to impose their lens over others, to the point where it becomes systemic.

At least changes for the better are needed.

Defining what good citizenship is for everyone in tech, and through it, expecting diversity from management first, then downward.

\- Diversity is bullshit if it's not reflected and practiced from the very top management to the bottom. When people wax diversity I check the management and it tells me everything I need to know. You put up, or shut up. I applaud guys like Eric Ries for doing the uncomfortable and succeeding. Diversity needs to rise to the levels of decision making, and replacing them with standards of good citizenship that applies to all is what's needed.

\- Being a good citizen in technology community needs to be the core of being in the tech community. Maybe this is missing in tech culture, presumably because it's so new. What will happen to the young people who look down on others? They're screwed because the hurt train they build is coming their way in 10 years.

Transforming into a culture where standards of good citizenship apply to everyone, will need everyone to be equally comfortable and fluent in having open minded conversations about diversity that might need us to look at ourselves in the mirror.

Then, with awareness, disrupting the lack of diversity, breaking cycles of discrimination.

In my experience of being a member of multiple minority groups in tech, I have learnt and try to remember:

\- People who don't want to work with you will find any reason. That's what's important to focus on, not the reason. You got every shot to make something better to make jerks into dinosaurs. It's good to flush the turds out into the sunlight whenever possible, good citizens will always be supportive of this for the greater good.

\- Innovation doesn't live in a mindset of doubts and seeking permission from others. You're not an entrepreneur until you stop asking permission and validation. People who are givers and truly focus on adding value will do it unconditionally, as long as you focus on being someone who focuses on adding value.

\- Rather than become radicalized and negative, you may have no choice but to become 8x as good as the average Joe. Your perceived gatekeepers can become your slaves by pushing you to push yourself. If you feel you have to be 2x as good to get half the respect, 4x as good to get equal respect, and 8x too good to be ignored, you get to write more of the script. It's not fair. Nothing worthwhile seems to be. I measure equality in society by what the average joe can access, so by that definition this point fails, but I've selected pursuing improving my abilities beyond what others can squeak by with in the hopes that the future will have more diversity minded people at the top.

Many do not practice discrimination, but benefit from an existing benefit of being a demographic that systemizes it. Becoming aware of the things you never notice is the first step.

Thing you can do nothing about, your age, gender, the family you're born into, where you are born, the color of your skin shouldn't define your opportunities, potential or abilities.

It starts with the majority of people on this site and in our community.

What do you commit to do to become a better citizen of the tech community for diversity? I know I'm sure as hell doing everything I can because I'm on the other end of it far too often.

</comment><comment><USER107> As a person on the wrong side of 30, how can you live with yourself pandering to 20 somethings? I've watched over the years my 40 something coworker do this and it's the most pathetic existence I can think of. It's no surprise he sees a therapist weekly. And yes ladies he's single and ready to mingle.

<comment><USER39> I'm 30.

I'm also happily single and childfree, and a lot of my hobbies are more common among young people. I watch the same movies, TV shows, etc. as people in their teens and twenties. I voraciously read comic books.

I don't expect any of that to ever change. In a decade, I'm going to be consuming the same kind of media in my 40s that I consumed in my 20s and am now consuming in my 30s. Being childfree is never going to change (especially considering I voluntarily sterilized myself), and I'm mentally incapable of feeling romantic attraction to anyone, so I'm going to be single for the rest of my life.

It's not pandering: it's simply be being the kind of person I am, which happens to mean that, on average, I relate more towards people younger than me than to people my age, and that discrepancy is only going to get larger as time goes on (mind you, the "on average" is key because I've met and get along with some fellow outliers, not just my age but also older than me).

<comment><USER108> Oh my :/ I don't know you, but this sounds grim.

<comment><USER39> What's grim?

I love having freedom. When I say "I'm going to be single for the rest of my life", I don't mean it in a sense of resignation like "aw bummer, I'm going to be single for the rest of my life, this is gonna suck". No, I mean it in the sense of "yay, I'm going to be single for the rest of my life, and it's gonna be so awesome!".

Same with being childfree.

I have the freedom to do anything, go anywhere, and enjoy my life for myself, and I love it.

I'm basically an overgrown kid, with the only difference being that I get _paid_ to take my toys apart, find out how they work, and put them back together in new ways, which I've always done for fun. I love it!

And, hey, my cousins have kids, so I get to be the cool aunt without having to actually spend my life taking care of anyone.</comment></comment></comment></comment>


Thinking Forth - <AUTHOR> http://thinking-forth.sourceforge.net/ <comment><USER2> Thinking Forth is a wonderful book- even if you don't see yourself writing applications in Forth, it contains many insights that can be applied to programming in any language. As it turns out, Forth is a particularly good language for illustrating architectural tradeoffs because you can demonstrate ideas like factoring and API design with extremely short pieces of (idiomatic!) example code.

If I had an opportunity to teach an introductory software engineering course, I would strongly consider using Thinking Forth as a textbook.

</comment><comment><USER3> Here is a gem from this gem of a book - surely one of the best descriptions ever of what are now called DSLs:

 _Forth programming consists of extending the root language toward the application, providing new commands that can be used to describe the problem at hand. Programming languages designed especially for particular applications such as robotics, inventory control, statistics, etc., are known as "application-oriented languages." Forth is a programming environment for creating application-oriented languages. (That last sentence may be the most succinct description of Forth that you'll find.) In fact, you shouldn't write any serious application in Forth; as a language it's simply not powerful enough. What you should do is write your own language in Forth (lexicons) to model your understanding of the problem, in which you can elegantly describe its solution._

<comment><USER4> I've heard similar descriptions of LISP, actually.

<comment><USER2> They are actually very much alike. Personally I prefer Forth for having less "magic"- a basic Forth kernel is much smaller and simpler than a bare-bones Lisp system. Postfix notation also seems a more elegant (if initially less familiar) solution to a homoiconic language than Lisp's nested parentheses.

<comment><USER3> Not entirely on-topic, but since you're our local Forth enthusiast: can you tell us anything about Moore's recent (say, last 10 years) chip and language designs? I look at the GreenArrays and ColorForth stuff and feel like Bob Dylan's Mr. Jones: there's something happening here and I don't know what it is.

My spidey sense tells me that it's disruptive enough to represent a major opportunity of some kind. But Spidey could be wrong.

<comment><USER2> Well, I can do my best to summarize what I understand.

Moore has always intended Forth as sort of a stone-soup language- a collection of ideas and techniques that can be taken from and recombined to suit different purposes and programmers. There were several efforts to standardize Forth and build it out into a language with formalized, extensive libraries (ANS-Forth, mainly), but they are largely antithetical to Moore's attitude of continual experimentation and refinement.

The current state of the art with ColorForth is pretty alien in comparison with ANS-Forth. It's an exercise in subtractive design. The most obvious change is that the ColorForth environment tokenizes input as it is typed. Tokens can have some metadata associated with them which is reflected in their color. ColorForth generally uses colors to eliminate the need for the "mode switching" words in a normal Forth- comments, [] "compile-time blocks" and colon definitions, for example. By pre-tokenizing source code, virtually all the string manipulation required in the compiler is removed and getting rid of mode-switching words makes source code more compact visually.

The F18 core and the GA4/GA144 chips based around it are incredible machines. In a nutshell, an F18 is a tiny Forth machine with 64 18-bit words of RAM which can be packed with up to four instructions apiece. The GA144 has 144 F18 cores which communicate with their neighbors via a blocking handshake mechanism. Thanks to both to Chuck's novel approach to chip layout and simulation and the fact that there is no global clock, the GA144 uses _very_ little power compared to other CPUs and microcontrollers with comparable compute capacity, despite the fact that the GA144 uses essentially antique fab technology. With no changes to the design and the latest fabrication techniques you could (theoretically) get an order of magnitude more cores on the same sized die and drive power consumption down further.

Programming the beasts is another matter. Since each core has very limited space for code, programs tend to have the character of functional pipelines in which each core takes a few arguments from neighbors, possibly stores a small amount of local state and computes simple functions to pass down the chain. I think that if any language other than Forth could be compiled for the machines it might be an array processing language like APL. Even if the resource constraints weren't difficult, simply getting your program deployed onto the grid is tricky, since you can only directly talk to cores on the edges- you have to write code that "walks" through the grid of F18s, pushing code into neighbors and triggering them to do the same, establishing communication channels and then tearing them down as they are replaced by the final application code.

So where does this put us? GreenArrays has extremely energy-efficient, highly scalable supercomputers-on-a-chip, but programming them is very difficult and requires incredible attention to detail. There are a number of PhDs in the making solving the new problems in compiler technology this type of architecture raises. If GreenArrays was open to the idea (and they seem to be), a more portable software simulator of the GA144 and more accessible development tools (ie, tools that do not require booting a Windows VM and learning a new keyboard layout on top of the ColorForth language) could be a huge shot in the arm. If a killer-app emerges that can take advantage of the power consumption and the particular style of parallelism the chips are capable of, these designs could change everything, but the jury's still out.

...Does that help at all?

<comment><USER3> Thank you, I enjoyed reading that very much. Actually, I enjoy reading all your Forth comments very much, so please write lots more. A few points that struck me:

 _getting rid of mode-switching words makes source code more compact_

That's a big deal, given that source code size is the best measure of complexity we have and the best predictor of errors we have.

 _the GA144 uses essentially antique fab technology. With no changes to the design and the latest fabrication techniques you could (theoretically) get an order of magnitude more cores_

A smart approach. Prove the thing useful first, with the knowledge that there's another order of magnitude waiting to be had.

 _programming them is very difficult and requires incredible attention to detail_

Do we know any programs that have been written for them? What does Chuck write? Do they provide a foundation for building application-oriented languages in the classic Forth style?

 _I think that if any language other than Forth could be compiled for the machines it might be an array processing language like APL._

What I really want to know is whether this architecture would be suitable for dataflow, i.e. whether you could build a spreadsheet on top of it. It seems not unlike the systolic array architectures that were a hot research topic 25 years ago, and those were thought to be suitable for dataflow.

I work on the problem of data parallelism in spreadsheets, and the thought of being able to apply hardware like this to it makes me salivate. Okay, not just salivate, drool. But we're probably years away from being able to figure out how to do that. Capturing even the low-hanging data parallelism in spreadsheets with any generality has proven surprisingly difficult, and I don't have a good gut feeling for whether the software techniques we've developed to do it would translate naturally to the GA chips. If they could, it would be a dream come true, because we could first prove the software on traditional hardware and then "go native" later.

Obviously you couldn't just port already-written code to a platform that radically different. The question is whether the key concepts would survive or whether you'd have to rethink everything from scratch. The environment we're building is highly reactive. It doesn't just compile code and then run it; if the computations produce new formulae, those have to go back to the top level, get analyzed again, and then be computed in turn. That sort of re-entrancy turns out to be a big deal for spreadsheets, and most of the important constructs depend on it. I don't know if the GA chips would feel very good about that kind of dynamism; perhaps it would be more like "Damn, you just got all the code laid out and now you're shoving us all around again."

<comment><USER2> _I enjoy reading all your Forth comments very much, so please write lots more._

My pleasure. :)

 _Do we know any programs that have been written for them? What does Chuck write?_

The largest available program listing for the GA144 that I'm aware of is an MD5 hasher: [http://www.greenarraychips.com/home/documents/pub/AP001-MD5....](http://www.greenarraychips.com/home/documents/pub/AP001-MD5.html)

All I know of Chuck's current projects comes from his blog and the fireside chats he gives at the Silicon Valley Forth Interest Group's annual "Forth Day". They can be found here, along with many other fun presentations: <http://www.forth.org/svfig/videos/index.html>

It seems he's written some temperature-monitoring and signal processing code, a number of routines for generating VGA video signals and he has begun work on building a ColorForth compiler that can run on the GA144.

 _Do they provide a foundation for building application-oriented languages in the classic Forth style?_

Based on my observations and my own experience tinkering with a softsim for a single F18, the resource constraints of the processing elements make it very difficult to write genuinely reusable code, beyond discovering idiomatic opcode combinations and design approaches. The only way to make your code fit is to code like Chuck- simplify brutally. It would be interesting to see how well an optimizing compiler could take more relaxed, modular Forth (or another language) and squeeze it onto an F18.

 _What I really want to know is whether this architecture would be suitable for dataflow, i.e. whether you could build a spreadsheet on top of it. It seems not unlike the systolic array architectures that were a hot research topic 25 years ago, and those were thought to be suitable for dataflow._

I concur with your comparison to systolic arrays- the GA144 is more flexible than most of those old designs, but has a very similar character. I think calculating something like a spreadsheet on a grid of F18s could work well, but would need a much larger array of processing elements to be effective. Interconnect is also an issue. The parallelism that can be extracted by dataflow architectures is often a product of the rate at which calculations can fan out, and a grid-based architecture enforces a strict cap. As I'm sure you are well aware, spreadsheet formulae frequently gather input from a large number of other cells and are in turn used in many places, often with only a tenuous relationship to the orthogonal neighbors of a cell.

Your discussion of re-entrancy in spreadsheets raises some interesting ideas. F18 cores in a GA144 are designed to very easily push code to their neighbors to execute- it's the basis of deploying code through the grid. The same capabilities mean that you can write code that dynamically reprograms various parts of the array at runtime. Extensive use of self-modifying code is widely regarded as deep magic nowadays, but I've often imagined programming for a huge FPGA where an OS can assemble new purpose-designed cores on the fly instead of spinning up new processes- these chips could be used in a similar way. Like I said, there's a great deal of new CS theory lurking in this design space.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> Already mentioned on this site, but still good to advertise from time to time.

[http://www.hnsearch.com/search#request/all&q=thinking+fo...](http://www.hnsearch.com/search#request/all&q=thinking+forth&start=20)

checkout also <http://factorcode.org/> a forth-like system with batteries. (already mentioned here too)

<comment><USER6> Just to add to your list:

Ben Stiglitz (Terminal.app, Apple employee) at RubyConf 2008 introducing Forth: <http://rubyconf2008.confreaks.com/forth.html>

I also recommend checking out Factor. It grabs ideas from EVERYWHERE (Forth, Common Lisp, Smalltalk, Joy, etc.) and wraps them all up into a nice package.

<comment><USER7> ... and jonesforth (google it 'coz the original site is down)

<comment><USER5> web archive digging -> [http://web.archive.org/web/20100116031518/http://www.annexia...](http://web.archive.org/web/20100116031518/http://www.annexia.org/forth)

</comment></comment></comment></comment><comment><USER8> I've long been a big fan of this book. It will make you a better programmer even if you don't program in Forth.

The only downside is that it will feel dated (because it is). Many of the ideas that were once progressive, original, and a bit revolutionary now seem obvious and a little trite.

</comment><comment><USER9> While Forth is certainly a mind-expanding experience, I still feel that it suffers a bit from "Stackholm syndrome" when I see advice like that contained on page 144, under the section "An alternative to screens: source in named files":

        Infnite-length files allow sloppy, disorganized thinking and bad factoring. Defnitions become longer without the discipline imposed by the 1K block boundaries. The tendency becomes to write a 20K file, or worse: a 20K definition.

<comment><USER3> Or perhaps this advice is just ahead of its time or beyond the mainstream or however you want to put it. The idea of accepting any constraint on the amount of code we churn out is alien to us. We take for granted that complex systems must grow arbitrarily large. What if we're wrong?

</comment></comment><comment><USER10> Forth is a beautiful language. Just like Lisp, Smalltalk, and others have a comeback, I won't be surprised if the same happens soon with Forth as well.

</comment><comment><USER11> One of the best books ever!

An eye opener next to 'a little Smalltalk'

</comment><comment><USER12> This really takes me back to my RPL days on my old HP-48G.

</comment><comment><USER13> typo on page 3: "Move the contents or Register B to Register A,"

s/r/f/ that string</comment>