We had a great discussion at work about adoption F# - you can read about my journey towards functional programming if you are interested. A few of us have been excited about F# and Functional Programming while others have had more reservations about a language that isn’t as widely used as C# and our normal way. Both thinking has pros and cons. This lead me to think about, then share these ideas during a lunch and learn.
Eric Sink`s excellent article was a catalyst for my thinking.
What are some Technologies/Approaches from the past that we have adopted?
How have they turned out? -> Some good, some bad (we heard a lot of good stories from the more experienced among us)
How do we evaluate and integrate new Approaches and Technology?
What is on your radar?
Idea: Technology Radar | Guide to technology landscape | Thoughtworks is an example.
Trend reports like https://www.infoq.com/infoq-trends-report-2024/ and https://survey.stackoverflow.co/2024/ are helpful.
I used the bell curve and started thinking about each of them as mindsets that we developers move through. I like mindsets better than trying to categorize a person.
While I made some generalizations
We often move from one mindset to another, sometimes very rapidly, depending on the project, current stress and business levels, time/energy availability, etc.
This is included in the adoption curve, but I haven’t thought as much about these areas. If you have insights here, let me know on x.com/aligneddev
“Improve yourself, be awesome, others will notice, others will ask. " ~ John
“A different perspective to think about with (any) new technology is, does it merit the cost of not only my learning it, but everyone else who works on this project after me? If I begin a project with a brand new tech stack that differs from company standards but suits my personal preferences, what implications does that have for the next developer who not only may have different preferences, but will need to use their time and the client’s resources figuring out how my code works?” ~Noah
“You only have so much time in the day, and you only have so many working years. Where do you want to invest that life?” - Sal Khal. “That doesn’t mean you shouldn’t learn new things, but it does mean you should put some thought into what you learn and if it is really the best choice in the long run” ~ Emily
“Also I think it should go without saying, so I’ll say it: it is my opinion that software engineers are really smart. We pay them lots of dollars to do amazing things.” ~ Matt
Rich Hickey’s excellent talk Simple Made Easy is worth watching to understand the difference between simple and easy. “If you want everything to be familiar, you will never learn anything new, because it can’t be significantly different from what you already know and not drift away from the familiarity”.
I found a technique that wasn’t common at our company (such as Automated Testing in 2014).
I usually first blast it on Teams to see if anyone else is interested and has an opinion.
I didn’t always approach this well, but I imagine an informal path:
Listen. Learn from others’ experiences.
What pain points does it relieve?
What problems could it solve?
Evaluate usage and popularity?
Does it have staying power?
Is this a challenger to an existing proven approach (champion)
What is the opportunity cost?
If we focus on this, are we missing on other things?
Learn more
Can we apply it as an experiment? How did that go?
Would our clients be able to support it after us/ willing to learn it?
Do they need to?
Start a Spin Off(s), Book Club
Learn, evaluate, apply, teach
If still growing then
Talk to Sales > clients
Present at Lunch and Learns
Teach
Wait
Aha, someone mentioned it that wasn’t me! OR we decided not to use this and it was a good choice, but we still learned something
Let`s be early adopters and learn new things, share that with others. At the same time Pragmatically think about when and how to apply them
Please consider using Brave and adding me to your BAT payment ledger. Then you won't have to see ads! (when I get to $100 in Google Ads for a payout (I'm at $95.73!), I pledge to turn off ads)
Also check out my Resources Page for referrals that would help me.