this post was submitted on 14 Jul 2023
69 points (93.7% liked)

Experienced Devs

3979 readers
1 users here now

A community for discussion amongst professional software developers.

Posts should be relevant to those well into their careers.

For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:

founded 1 year ago
MODERATORS
top 25 comments
sorted by: hot top controversial new old
[–] [email protected] 28 points 1 year ago* (last edited 1 year ago) (3 children)

I don't buy this article in the same way others here seem to be doing. It sounds like the author is a little too... in love with himself? He's entrenched in a certain mindset where he's the "enthusiast developer" and others are lesser, while trying to empathize with his lessers as if to say "well, you know, your way of working is ok too!" It's the image of admonishing his old way of thinking, but he hasn't abandoned or renounced that way of thinking, he's just lamenting it. All of the arguments presented are colored by this personal bias.

I wish I could break down every part of the article that I take issue with, but just to illustrate my problem, here's some side-by-side quotes where I think undermines the author's own points:

Once I introduced the word “generation” to my thinking, it became easier to make sense of many contentious, unresolved issues in tech that flared up over the past decade by looking at them through the lens of intergenerational conflict.

If you allow for the possibility we’re undergoing a generational change, maybe this debate over “passion” is evidence that the assumption that most programmers will always be passionate about programming was mistaken and counter-productive.

If you were hoping to bridge the gap between two different kinds of developers, where you see yourself squarely on one side, then calling your relationship with the other side a "conflict" is not going to win over any friends.

[–] sizeoftheuniverse 7 points 1 year ago (1 children)

My feeling exactly. The article gives me the same kind of vibe: Look at me! I am special.

[–] [email protected] 3 points 1 year ago

He's writing it explicitly in the title "What makes me special." He is a good example of "I am very smart" while saying nothing interesting.

[–] Hector_McG 7 points 1 year ago

The most intelligent people I have ever met (and I've met some really, really smart people) were also the least likely to brag about their own intelligence. They simply had no need to self-massage their own egos.

That's certainly not this guy.

[–] canpolat 3 points 1 year ago

I didn't read it as lamenting the demise of the tinkerer. But it can of course be read that way too.

I guess many people find themselves in the article. I, for one, spent way too many nights building "under construction" web sites on Geocities. However, I definitely don't think "passion" has anything to do with what we do (Searls also makes fun of being passionate about passion). I don't find that to be a sustainable approach. I don't care if a candidate I'm interviewing has personal projects in Github or a Raspberry Pi at home. Those are interesting, sure, but no more than playing the guitar or swimming.

Again, maybe the article was not well balanced. And maybe the fact that I find myself in the article prevents me from seeing it.

[–] canpolat 19 points 1 year ago (2 children)

When I saw the title, I thought "just another blog on 10x developer". I don't really know why I decided to read on, but I'm happy I did. Searls touches on many more while investigating the topic. The writer approaches the topic from a inter-generational point of view and also goes in to things like "passion" and "craftsmanship". I would even say, this is not about the 10x developer at all. This is about how as a young engineering discipline we are still trying to find better ways of doing things.

It’s an open secret that the industry has no idea how to teach people to program. Computer Science degrees famously don’t prepare programmers for the job of programming, which has always been left as an exercise to the student to figure out on their own time. If the industry is going to outlive us enthusiast programmers, will it adopt a sustainable approach to educating the next generation that doesn’t require people to teach themselves everything?

[–] [email protected] 10 points 1 year ago (1 children)

With regards to education, one of the things I've come to understand goes entirely counter to the way I was taught at University - for me, programming is a creative activity. It's an iterative process, and the less constraints I have on how I achieve something, not what I achieve, the better I enjoy it, the more productive I am, and the better by many measures the end solution will be.

I think that is a key part of what's missing from CS education, to understand that and lean into it to both increase engagement but also to get people thinking outside the box for solutions to their problems. Students seem to be taught so much, but very little about "Here's a high-level problem, provide a solution" which is the "core loop" of software development (outside of being a code monkey implementing other people's designs). You go over requirements and specifications, but you don't actually DO it.. you don't speak to people, ask the questions, realise they'd don't know much about software, then later go "Oh shit, I made this assumption and made the wrong thing!"

One of the things that I used to like more than anything was achieving things even though there were constraints. For example, back in the 90's even before even AJAX was a thing, I created a site for a betting company that was a SPA and pulled in data and live betting odds. I did this by having a message queue in JavaScript, a hidden frame from which to send messages from the queue to the server using a form, and then the server returned JavaScript code which executed and put the data where needed and updated the page. I absolutely loved that project, and most people on the team just couldn't believe it was even possible.

But I didn't solve it through engineering, I solved it through playing - trying things, seeing what would work/what didn't, adapting the idea, etc. until I found something that worked - and it was based on some of the things I'd been messing about with in my own time (somewhat bizarrely, creating a sort of online aquarium of Dr. Seuss fish where each one was a person viewing the site!)

I think if we can inject more of the creativity, tinkering, iterative, playful side into our education it'll make a huge difference.

[–] canpolat 3 points 1 year ago

What you did with the message queu in Javascript is impressive. And I'm sure there are other efforts that solved "impossible" problems in creative ways. Creativity is important in a lot of professions and I can admit that it is probably more important in programming than, say, accounting (I hear "creative accounting" is not a good thing). However, I don't think creativity is vital in what we do. It's useful, sure. But, for example, it's not as important as critical thinking. I think the real problem is that we are a relatively new engineering discipline that is still under rapid change. The paradox is, if we look at the programming paradigms, we don't actually see many new things. We reheat the stuff from 60s/70s all the time (functional programming is a good example). But the socio-technical aspects of what we do (and how we do it) is under constant change (waterfall, agile, autonomy, etc.). And, this is probably what makes software unique. We have a very short feedback loop (as opposed to building a bridge). And I would say, that should also have its place in education.

This talk by Dave Farley sums up my thoughts about "software engineering" quite well: Taking Back “Software Engineering” – Craftsmanship is Insufficient (Piped link).

[–] einsteinx2 7 points 1 year ago

I'm glad I saw this comment because I was also about to skip it, but found the article to be a worthwhile read as well. Thanks for sharing it.

[–] [email protected] 14 points 1 year ago* (last edited 1 year ago)

Fantastic read. I saw some of myself in there for sure.

there was a specific, generational moment that attracted a bunch of people like me into the software industry. It occurred during the brief window between home computers becoming widely available and their becoming sealed airtight by platform holders. For a fleeting moment, computers were simultaneously accessible and scrutable during a necessary but temporary stage in the maturation of information technology.

I mean damn.

[–] jadero 13 points 1 year ago

I thought it was a good article. Well-written and reasonably well-argued. That said, I think that he missed a couple of things. I had a whole wall of text in preparation for my own blog post, but during the edit it really came down to a couple of things.

I think the industry's obsession with 10x programmers is really about the quest and desire for mastery. Mastery is something that exists in any field, so that means we can look to history for comparisons.

He argues that mastery is disappearing. My opinion is that what he's really seeing is the normal lifecycle of any industry that leads to less dependence on mastery.

Everything from furniture making to mechanical work has gone through the cycle. People doing what they need out of necessity, people getting good enough to offer their services on the market, masters arising from the truly dedicated and/or obsessed, shops run by masters to increase output by using the labour of apprentices and journeymen (and budding masters), and, finally, factories.

The difference between a master's shop and a factory is critically important. In a master's shop, everyone is gaining skill in the profession with mastery always possible to achieve for anyone with the right combination of desire and talent. In a factory, tasks are broken down into their component parts so that mere repetition and maybe some automation is enough to make extract masterful work from the process instead of depending on individual mastery.

Your local mechanic's shop, especially if it's a dealer shop, has more in common with a factory than a master's shop. A race team is where you're more likely to see a master's shop in operation.

I think that what we are seeing is the transition from masters' shops to factories.

There are still passionate people becoming master mechanics or furniture makers. I think the same is true of 10x programmers. But the tools some of those master programmers build will help everyone else do higher quality work and the processes they develop will eventually enable the extraction of masterful products from well-engineered processes executed by low-skilled people and, of course, automation in the form of AI.

[–] yogsototh 12 points 1 year ago* (last edited 1 year ago) (2 children)

This was a very great article to read whose title does not make justice to the content.

I think I kind of dislike the generalization on generation. To me recently there are simply a lot more people that see programming as a job and not as much as a passion.

I learnt programming as a scientific activity and not as a productive one. So this was driven by creativity. And many in my promotion shared these values. But even in my time, many were just interested in the job. And of course, these people were not as effective. They were mediocre in comparison to people programming in their free time.

And yes, there is probably a lot more people like this today, in particular in younger generation. But there are still a lot of people programming for fun in their free time in the latest generation. This is just, they are now hidden by the majority of more “normal” people. Because let’s face it. Attitude of people programming during the week-end for super long hours while still programming for work during the week is not sane and abnormal.

Edit: a big missing part is that passionate dev are not necessarily what company prefer. Because yes, they can do incredible work. But quite often I see company prefer to have few of them and a bunch of more mediocre but reliable developers.

[–] mrkite 8 points 1 year ago

I think I kind of dislike the generalization on generation.

There's a lot of pitfalls in that direction.. but there's also no denying that there's an entire generation of people who grew up equating using computers with programming computers.

Our Apple IIs and C64s booted into BASIC. That was the interface you learned. Just using the computer literally involved programming, even if it was tangential. My grade school "computer class" where we learned how to use a computer, was focused on programming the turtle to move around the screen with LOGO. I remember a time when "repeat" was the longest word I knew how to spell because of that class.

Basically, you have to go out of your way to learn how to program today, involving downloading specialized software etc. In the 80s, you were ankle deep in programming just by turning the computer on.

[–] aloso 6 points 1 year ago

Fully agree with what you said. There are still just as many passionate people fascinated by computers in the youngest generation as there are in older generations. It's just that the sheer number of programmers has made them less visible in recent years.

Also, one thing the article misses is that programming 8 hours a day and then continuing to program in your spare time is not healthy for many people. People are different, and there are some who can do it without negative consequences, but for others it can lead to burnout, especially if they also have a family to take care of or other issues to deal with. I used to do a lot of programming in my spare time when I was in college. Now that I have a 40-hour-a-week job, I've learned that I need to be careful how much energy I spend, and I don't do as much open source work because I need a lot of my free time to rest and recharge.

[–] [email protected] 8 points 1 year ago

Learning everything the hard way has made me a natural consultant and mentor. Because I’ve already explored all the wrong paths, I often know someone is stuck before they do, understand what threw them off course, and show them how to get back on track

This really hits home and is something I simply don't see often in juniors today - a desire to tinker, experiment or 'play' to figure out how a problem might be solved. I'm always telling them to allow themselves to struggle for at least an hour or two before asking for help.

[–] [email protected] 7 points 1 year ago

I left University in the late 90's and got my first job based on the things I'd been messing about with in my spare time with the University's facilities/at home (Unix, Internet protocols, client/server arch, distributed computing, etc.) rather than anything I'd been taught. I learnt more in my first 3 months in work than 3 years of education.

Then the dot-com boom hit, and the number of applicants for any position surged - everyone was going into software development for the money. The whole team became involved in selecting candidates and being part of the interviewing process - it was a nightmare trying to give every person a fair chance. We had some good hires and some bad hires, but the bad hires became such a problem because we had to go through the recruitment mill again.

But we realised that the number one factor for whether they'd be a good hire or not was not education, but their own personal projects. That's what mattered. Doing this for fun was the key indicator of being good, and became the ONLY thing we looked for on CVs in the first pass. Doesn't matter if you have a 1st from Cambridge, if you don't demonstrate you have a passion for the subject, you don't get an interview. It was a huge success, and we built an amazing team and saved ourselves a ton of time during recruitment.

Those people still exist though, I see it all the time! But I think now that the "industry" has grown so much that in any given field there are less people (relatively) being attracted to it. For example, I can see that while back in the 80's I was drawn to the personal computer, then the 90's the internet - those things are staples of everyday life now. But I can see more modern young people being attracted to things like AI, drones, quantum computing, 3D printing, and so on as well.

[–] sukhmel 7 points 1 year ago (1 children)

For me, the main takeaway is 'programmers nowadays seem to have a life and we need to adapt to that'. Well, it's a good thing when people have something except for their work, I think. It feels like this is going to slow down the industry a bit, but I don't think it's a bad thing. Besides, we're getting better and better tools, the AI is on the rise, so maybe we will be able to be as productive as before while not investing so much time.

As a side note, I feel like I don't belong to the 'passionate' generation the author refers to, but even then I am curious enough to sometimes dig into the problem. I'd even go to a stretch to say that it's not a passion for computers and programming that discerns good programmers but curiosity, and it is more often can be seen in very different people and is less destructive as a personal trait, I believe.

[–] [email protected] 1 points 1 year ago (1 children)

Let’s face it it’s going to be muchh harder to “get a life” with programming productivity tools instead of just giving extra revenue to whatever corporation you’re working for.

[–] sukhmel 1 points 1 year ago

I hope we're going to have the corporation eat it and stop squeezing every last drop out of devs. But that is yet to be seen and isn't certain, unfortunately

[–] buxton 2 points 1 year ago

There's nothing new in this post. The idea that there's a generation of people who grew up programming because of the cheap computers they owned is exactly why the raspberry pi foundation was set up. So maybe there'll just be a generation that didn't grow up with programming and they'll be the exception.

But beyond that, this guy really needs an editor. Just to chop down half of the wall of text. He does have some good points though.

It’s an open secret that the industry has no idea how to teach people to program. Computer Science degrees famously don’t prepare programmers for the job of programming

This is depressingly true. I had an intern last year and he was utterly hopeless. So I went and looked at the syllabus for his course and it was no surprise at all. It didn't cover anything that would be relevant to the industry. It barely covered programming at all. I poked around at a few UK universities looking at their syllabuses and only found one that sounded better than useless.

What I would say is that a lot of people seem to choose to do a CS degree when they should choose a software engineering degree. About the only use a CS degree might be would be to get through data structure/algorithm sections of interviews.

[–] [email protected] 1 points 1 year ago

Tbh even if I had the ability to be a 10x dev, I wouldn't be that all the time unless I also get a 10x salary ._.

[–] md5crypto -3 points 1 year ago* (last edited 1 year ago) (1 children)

It can't come soon enough. These 10x devs are toxic. They do things like sabotage fakerJs on Github.

[–] [email protected] 3 points 1 year ago

Tell me you didn’t read the blog without telling me you didn’t read the blog…