Live data from Hacker News

On Getting Older in Tech

corgibytes.com

361–370 of 440 posts

Re: On Getting Older in Tech

#361

Earlier quoted context omitted.

Even today, Common Lisp is still one of the best choices for many applications. Then why don't people build amazing and popular things with it? I don't mean one or two people build one or two things, but lots of people building lots of things. Nobody uses it, but it's the best choice, can't both be true. And 'nobody uses it' is approximately true. It's not a mainstream JVM language or CLR language, it's not an AWS or…

A few notes: * Google actively develops one of the Lisp compilers. Google Flights powers Orbitz, Kayak, etc. That's Lisp. * There are several Lisp compilers in active open source development. * There's a graph database written in Lisp called AllegroCache. It's good enough to support a business (Franz) for more than a decade. * Another company (LispWorks) also exists and has a large portfolio of clients. * Lisp has be…

It might be that it really is a big secret, and people are quietly using it and gaining advantages from it.

If that were the case, I would still expect to see lots of gushing blogs of leaks from inside hush-hush companies and people desperate to learn LISP posting "how do I replace strings in files in Common LISP" on programming forums, and "I learned LISP and doubled my salary" on Twitter.

Yet what you really see is Steve Yegge and "my EMACS code at Amazon was replaced with Java years ago" and "Facebook working on a new JavaScript thing" and "Microsoft working on a new JavaScript thing" and "Apple working on Swift" and "Fog Creek compile VBScript to PHP" and "rPi comes with Mathematica and Python" and so on and so on.

I wasn't saying that no one is using it. I was saying "if it was the best - as claimed - then there would be a buzz around Common LISP, because huge numbers of people would be using it".

Your points about your career are pretty interesting.

Re: On Getting Older in Tech

#362

Earlier quoted context omitted.

Even today, Common Lisp is still one of the best choices for many applications. Then why don't people build amazing and popular things with it? I don't mean one or two people build one or two things, but lots of people building lots of things. Nobody uses it, but it's the best choice, can't both be true. And 'nobody uses it' is approximately true. It's not a mainstream JVM language or CLR language, it's not an AWS or…

Too much fun to program in. Lisp makes it remarkably easy to extend the language into just what you want it to be...which means that Lisp programmers tend to spend most of their time extending the language into just what they want it to be rather than solving the problem. (Indeed, this is often touted as one of the benefits of Lisp...once you have a suitably well-adapted DSL, the problem solution follows naturally.)…

This one I can believe.

Re: On Getting Older in Tech

#363
post #111

Earlier quoted context omitted.

I don't even code in Lisp, but I knew the Google Flights engine would come up, because it seems to be just about the only "serious" application ever written in Lisp. And it wasn't built by Google, but their acquisition ITA, which hails from Boston and MIT's Scheme reality distortion field. (And even MIT has stopped teaching SICP in Scheme...)

Emacs, ViaWeb, Macsyma, the DS1 Remote Agent, much of the autonomous navigation software for the Mars Rover before the Pathfinder mission... And I have built a number of small-scale web applications in Common Lisp. I'm running one of them in production right now.

And Yahoo! paid 49 million dollars of stock to throw the LISP in the trash and use something else instead.

It wasn't even worth them spending 1 million dollars - 2% of that price - on training people.

http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=s...

Re: On Getting Older in Tech

#364
post #35

Earlier quoted context omitted.

Such examples all have troll power so I might need a dispensation.

Dispensation offerred.

Ok! Well some that come to mind are (a) short variable names; (b) not bothering to encapsulate state or lock things down into modules; and (c) tables for layout.

I don't do these things because they're 'rookie mistakes', of course, just like I don't order whipped cream for dessert but might like it as an extra. I enjoy the feeling of lightness that comes with naively doing what's easy, as opposed to the weight of preconceptions that in practice impede the work.

Re: On Getting Older in Tech

#365
post #359

Earlier quoted context omitted.

Even today, Common Lisp is still one of the best choices for many applications. Then why don't people build amazing and popular things with it? I don't mean one or two people build one or two things, but lots of people building lots of things. Nobody uses it, but it's the best choice, can't both be true. And 'nobody uses it' is approximately true. It's not a mainstream JVM language or CLR language, it's not an AWS or…

> Nobody uses it This application is written in 7+ million lines of Common Lisp https://www.ptc.com/cad/elements-direct/modeling https://www.youtube.com/watch?v=mJGytRaNvec The video shows how Eterna uses 'PTC Creo Elements/Direct' to develop their watches. There are many other clients of that in various domains. Also: https://www.youtube.com/watch?v=4rD0zmA-Trc

Good cite.

(Although the fact that some people can make successful Common LISP software could just be that those people are exceptional enough to make successful software in any language, it doesn't bolster the claim that 'Common LISP is one of the best choices for many applications' very strongly).

Re: On Getting Older in Tech

#366

Earlier quoted context omitted.

I guess you're allowed to dislike a fact, but any particular reason you dislike this particular fact?

Because it isn't a fact? There's definitely an age bias outside of Silicon Valley as well.

Maybe, but maybe it's less pronounced? It's hard for me to say, as I've only ever not lived/worked in SV (hello from North Carolina). But FWIW, I am 43, and I don't feel like ageism has been a problem for me. I just went through a job search and had no problem landing a new gig in short order.

OTOH, to be fair, I am obsessive about learning new stuff, and I've been working with some "trendy" stuff the past few years (all big-data, hadoop, storm, kafka, etc. stuff) and I've been doing a lot of machine learning / data science MOOCs over the past year or so. So my skills are a good match for what there's demand for. But that would be valuable if I was 20, 30, or 80.

Re: On Getting Older in Tech

#367

Earlier quoted context omitted.

A few notes: * Google actively develops one of the Lisp compilers. Google Flights powers Orbitz, Kayak, etc. That's Lisp. * There are several Lisp compilers in active open source development. * There's a graph database written in Lisp called AllegroCache. It's good enough to support a business (Franz) for more than a decade. * Another company (LispWorks) also exists and has a large portfolio of clients. * Lisp has be…

It might be that it really is a big secret, and people are quietly using it and gaining advantages from it. If that were the case, I would still expect to see lots of gushing blogs of leaks from inside hush-hush companies and people desperate to learn LISP posting "how do I replace strings in files in Common LISP" on programming forums, and "I learned LISP and doubled my salary" on Twitter. Yet what you really see is…

Lisp is old and it's unlikely that you see hype anytime soon. But you can see that Lisp derived languages like Clojure can generate minor hypes. Other new languages may even contain substantial pieces of Lisp influence. Examples would be Julia or R.

Generally the industry has problems reusing old/existing technology. See for example the Javascript domain, where new frameworks for web development pop up every week and the lifespan of frameworks is measured in months.

Instead of using/enhancing existing tools, there is a constant pressure to develop new stuff. Or take Apple with Swift. Instead of using Scala, Standard ML, OCAML, F# or Haskell, they developed a new statically-typed functional language.

It's the NIH syndrome at work. Everywhere. But it's also that tools are complex to learn, so people start new with simpler tools, they grow over time and after some time they are replaced with other stuff. If something gets updated in some incompatible ways, it already causes problems: some users are lost, some users will only use the old stuff, some only the latest stuff and some will try to use multiple versions. See Python.

Full Common Lisp is just too complex for most developers, but it has a life in many specialised and niche applications: CAD, some AI tools, music, robots (like the Roomba), planning/scheduling (crews, telescopes, ...), Expert Systems, verification of software and hardware, some maths stuff, ...

Since Lisp is only left being taught at a few universities, there are not many people able to develop with it. Even when it was taught, it was often only used to teach concepts like recursion and not programming. The younger Lisp programmers found it by themselves.

'Industry' sometimes often has no interest to diversify their programming tools. Many enterprise software shops currently (still) use Java: standardised, broad industry support, ... You won't successfully propose to them to use Lisp, even if the application would be better in some way. For example if the project fails, it certainly wasn't Java fault, because all the others are using it too. If you would use Lisp and the project would fail, it would be Lisp's problem: not enough people, little architecture experience, tools not broad enough, integration story too weak etc... Even it would be successful and in production, there would be a lot of pressure to rewrite it in some industry standard in the next product iteration.

> "if it was the best - as claimed - then there would be a buzz around Common LISP, because huge numbers of people would be using it"

There is no general 'best'. It's all relative to a domain, community, demands, legacy, fashion/hype, ...

Lisp is not more dead than usual. Yesterday there was a donation effort started for the Quicklisp library manager and it's now at $16606.37 .

Re: On Getting Older in Tech

#368
post #111

Earlier quoted context omitted.

Emacs, ViaWeb, Macsyma, the DS1 Remote Agent, much of the autonomous navigation software for the Mars Rover before the Pathfinder mission... And I have built a number of small-scale web applications in Common Lisp. I'm running one of them in production right now.

And Yahoo! paid 49 million dollars of stock to throw the LISP in the trash and use something else instead. It wasn't even worth them spending 1 million dollars - 2% of that price - on training people. http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=s...

Right. And that decision was surely one of the reasons Yahoo is the runaway success it is today.

Re: On Getting Older in Tech

#369
post #71

Elephant in the room, IMHO, is the technical interview process. In software engineering roles at big/desirable/fast-growing companies, the interview process favors faster (by definition, younger) minds. Both young and old are put thru the same/similar coding interviews at many of these places, and often faster coders are younger, and get the job. You can't fix ageism without fixing the interview process. Being jovial…

Why do you think often faster coders are younger? With many more tricks up their sleeves, a more experienced coder will be faster. Or are you saying compared to literally older people, but not experienced?

Cognitively, people do slow down after 21 or so. It is likely not to be a linear process, but I'm sure a quick google of research will find this. It is not, as suggested by the other comment, spurious feeling, but a well-known cognitive fact about humans. And experience in eal things doens't help with random tests, expecially if you're 20 more years away from your CS finals.

Whether this translates into a perceptible disadvantage in code tests is less likely to have been tested, but it is given what we know, and given other arguments above, quite possible and indeed likely.

Re: On Getting Older in Tech

#370
My advice to all is to keep an eye on the ball and understand where you are and where you expect to be every five years and have a plan. If you plan on being just an expert or individual contributor when you are 40 or 50, then expect to have to compete with those in their 20s. Not too easy when a 25 year old has fewer responsibilities at home (like teen-aged children) and can spend their spare time learning the latest fringe technology to make it more mainstream. Also not too easy to fit in culturally unless you have the developmental maturity of a 25 year old. (See my note about The Stakes at the bottom.) Adults with no responsibilities can drop acid and go to Burning Man without consequences. Responsible adults cannot without the risks they take impacting others. (in response to a poster's comment) That's what separates the men from the boys, to coin a phrase. No offense to ladies or others.

What I am not hearing in all of these discussions is talk of developing leadership fundamentals. They apply not just to one's job/career but to the individual and all aspects of their life.

There's 5 levels of leadership:

I. Individual Contributor Self-leadership. Responsible for producing work and getting along with others.

II. Expert/Manager Expert Best at what they do. Work on more complex projects. Display a special talent. Design a plan for new products. Further develop their craft. Innovate on projects. Demonstrate readiness to tackle more challenges

Manager Managers are tactical, focus on the short term. Lead individual contributors and experts. Develop staff. Focus is on improving upon weaknesses necessary to succeed at being more than an individual contributor or expert. Navigate organizational structures. Maximize talent of team. Think strategically about how team contributes to organization goals.

III. Leader of Leaders Leaders are strategic, focus on the long term. Focus shifts to training level IIs on their managing weaknesses. Training and developing (mentoring) experts and managers. Role is critical to the success of an organization. Poor managers have a huge and damaging impact because they leave high turnover and disengagement as well as low morale and productivity in their wake. Refined communication skills up and down the organization, acting as a reliable conduit for information to flow up and down. Develop business acumen. Develop organizational strategy. Develop new leadership opportunities.

IV. Leader of Functions/Divisions Maximize the contributions of all groups within the function/division. Strategize the development of the function for the future of the whole organization. Builds a competitive strategy. Ensures long term growth. Mentor and engage direct reports. Build key relationships outside organization. Deepen their intimate knowledge of other functions. Attune to industry and market shaping factors (sector acumen).

V. Leader of Organization Manages all functional leaders. Sets the vision and strategy. Ensures future success. CEO Build a team of differing strengths. Empower functional/division leaders. Create a motivating culture. Share the vision of the future. Position to be at front of trends.

As you move up 3 things change: - Scope of your view - The Stakes/impact of your decisions - Proportion of management and leadership

What skills do you need to maximize your potential? What skills do you need to develop for the next level?

Leveling up is growing up. If you don't like or want to be a manager or leader, figure out why not, starting with understanding your emotions and managing your stress and anxiety. This is usually what stifles one's development.

Post reply on HN