Ian Russell Profile Banner
Ian Russell Profile
Ian Russell

@ijrussell

2,964
Followers
1,119
Following
270
Media
32,548
Statuses

Author of Essential F#: @ijrussell .bsky.social

Coventry, UK
Joined May 2009
Don't wanna be here? Send us removal request.
Pinned Tweet
@ijrussell
Ian Russell
2 years
Interested in learning F#? I've written a fast-paced, practical ebook (197 pages) that may help you get up-to-speed quickly. Download it for free. #fsharp
10
98
274
@ijrussell
Ian Russell
5 years
I'd like to issue a loud FUCK YOU to the recruitment agents I've spoken to who say, in a non-sueable way, that I'm too old to be 'just a developer'.
34
87
566
@ijrussell
Ian Russell
1 year
@DannyDutch @tpierrain I'd probably be OK going up most of the time but there is no way that I'm even attempting to go down.
7
0
344
@ijrussell
Ian Russell
3 years
Today I have become a 55 year old software developer.
48
6
319
@ijrussell
Ian Russell
2 years
I've written a fast-paced, practical ebook to quickly get C# devs up to speed with F# to solve everyday business problems. You have nothing to lose by reading it because you can download it for free. #dotnet #csharp
7
71
207
@ijrussell
Ian Russell
5 years
@TennesseeChris Karen Carpenter
1
0
125
@ijrussell
Ian Russell
3 years
In many ways the most impressive thing about F# is how little the core language has changed since 2010. Unlike other languages frantically trying to catch up, @dsymetweets designed something really well thought out.
5
33
145
@ijrussell
Ian Russell
1 year
If you've ever wondered why folks who've invested their time and effort to learn F# are so enthusiastic about it, why not download my free 200-page ebook and discover it for yourself? #csharp #fsharp #dotnet
1
60
145
@ijrussell
Ian Russell
2 years
My F# ebook will be updated for .NET 6.x over the next two months and will then be available as a free download.
0
29
119
@ijrussell
Ian Russell
2 years
It's alive! Massive thanks to all of the reviewers for getting this over the line. I hope that it helps many more devs make the journey to the happy world of F#. Please RT for reach. #fsharp
8
64
114
@ijrussell
Ian Russell
3 years
Interested in learning F#? I've written a series of blog posts on functional programming in F# that may help. #fsharp
2
38
91
@ijrussell
Ian Russell
11 months
Received some bizarre feedback from an interview. They were worried that I would try to convert their codebase into a more functional style. Damn right that I would but so is Microsoft, given that most of the new features of C# are functional in nature. #csharp
20
1
96
@ijrussell
Ian Russell
11 months
Do you want to learn F#? I'm ready to take on two or maybe three new mentees for free in the next few weeks. You must be able to commit to 1hr per week for 12 weeks via video call plus up to 2hrs/week of your own time reading and writing F# code. DM me if you're interested.
5
50
94
@ijrussell
Ian Russell
3 years
I love working in F#. I wish that more people had the chance to experience the joy that I have programming in it every day. #fsharp
2
18
81
@ijrussell
Ian Russell
3 years
Are you a C# dev who's interested in learning F#? If so, I've written a practical book that may help. #fsharp
3
47
83
@ijrussell
Ian Russell
3 years
Interested in learning F#? I've written a fast-paced, practical book (167 pages) that may help. All authors royalties go to the F# Software Foundation. #fsharp
1
38
87
@ijrussell
Ian Russell
1 year
Another book for the collection. I'm even quoted on the first page of the book's praise section!
Tweet media one
@madSimonJ
Simon Painter
1 year
@ijrussell I haven't seen a physical copy myself yet!! Feel free to put up a pic, if you like?
1
0
3
3
6
89
@ijrussell
Ian Russell
1 year
Interested in learning F#? I've written a FREE, fast-paced, practical ebook (197 pages) that may help you get up-to-speed quickly. Please RT for reach. #fsharp #csharp #dotnet
0
63
89
@ijrussell
Ian Russell
1 year
A quick attempt at modelling a menu in F#. The F# type system makes this kind of modelling really quick and easy and, even at this stage, it's pretty readable. #fsharp
Tweet media one
7
8
85
@ijrussell
Ian Russell
11 months
I will not be offering any more one-to-one mentoring in F# and I'm cutting back my .NET community activity to zero. It's time for me to do things for my benefit. #csharp #fsharp #dotnet
10
0
82
@ijrussell
Ian Russell
3 years
I'm partway through writing a blog post on how the structure an #fsharp application. It doesn't feel like there's much in it but it's the thing I'm most asked by newcomers to the language.
9
3
74
@ijrussell
Ian Russell
3 years
@davidallengreen All of the above plus climate change, social care, education and poverty/homelessness.
4
3
75
@ijrussell
Ian Russell
1 year
The biggest difference between programming in F# and C# is that in F#, I focus on the business problem at hand but in C#, I have to always think about preventing bad things happening, particularly around nulls.
6
10
76
@ijrussell
Ian Russell
4 years
I've just published part 11 of my Introduction to Functional Programming in F# series. This post introduces recursive functions. #fsharp
0
28
72
@ijrussell
Ian Russell
1 year
I finished @ploeh 's book, Code That Fits In Your Head, last night (or rather early morning). Is it any good? Yes, so good in fact that I'm trying to work out which book it replaces in my current Top 10.
4
10
75
@ijrussell
Ian Russell
2 years
So far, being a 56 year old developer doesn't feel a lot different than a 55 year old one.
20
0
63
@ijrussell
Ian Russell
3 years
Interested in learning F#? I've published a practical ebook aimed at efficiently getting you up to speed with the essentials of functional-first programming in F#. #fsharp
2
27
67
@ijrussell
Ian Russell
2 years
Eye-opener of a book for C# devs. Even if you don't move to F#, it will still have an impact on how you think about writing code. #dotnet #csharp #fsharp
@pragprog
PragmaticProgrammers
2 years
Domain Modeling Made Functional by Scott Wlaschin @ScottWlaschin Increase customer satisfaction, speed development cycles, and waste less work. Solve real problems by focusing on real-world requirements for your software.
1
11
58
4
19
65
@ijrussell
Ian Russell
2 years
Tweet media one
6
5
71
@ijrussell
Ian Russell
10 months
I wish that Microsoft worked towards solving the null problem properly in C# rather than making it easier to manage program flow through exceptions. #csharp #dotnet
@mjovanovictech
Milan Jovanović
10 months
C# Tip 💡 𝗪𝗵𝗮𝘁'𝘀 𝘁𝗵𝗲 𝘀𝗶𝗺𝗽𝗹𝗲𝘀𝘁 𝘄𝗮𝘆 𝘁𝗼 𝗮𝗱𝗱 𝗚𝘂𝗮𝗿𝗱 𝗖𝗹𝗮𝘂𝘀𝗲𝘀 𝗳𝗼𝗿 𝗻𝘂𝗹𝗹 𝘃𝗮𝗹𝘂𝗲𝘀? A standard solution in .NET is throwing argument exceptions. Write a null check, and if it's true, throw an exception. However, there's a concise way
Tweet media one
10
20
226
15
4
66
@ijrussell
Ian Russell
4 years
We had our quarterly team retrospective this morning and it's safe to say everybody loves F# and GCP. #fsharp
4
16
58
@ijrussell
Ian Russell
1 year
F# support in VSCode is really nice. Congrats to everyone involved in doing such a great job. #fsharp
Tweet media one
2
18
71
@ijrussell
Ian Russell
2 years
I enjoy functional programming but I like programming in F# even more. #fsharp
2
7
62
@ijrussell
Ian Russell
1 year
In F#, we don't return null or throw exceptions for things we expect to go wrong from our functions. For basic cases, we use the Option type. #fsharp
Tweet media one
7
15
66
@ijrussell
Ian Russell
2 years
If C# is so great, why are they rushing to make a lot of improvements to it?
51
5
61
@ijrussell
Ian Russell
9 years
Today, I've been forced to deploy this ->
Tweet media one
0
88
60
@ijrussell
Ian Russell
1 year
I tried really, really, really hard to like, or even just tolerate, EF Core but I don't and I didn't. I much prefer micro-ORMs like Dapper. As always, YMMV.
13
5
62
@ijrussell
Ian Russell
4 years
9
7
59
@ijrussell
Ian Russell
3 years
I enjoy functional programming but I like programming in F# even more. #fsharp
2
6
50
@ijrussell
Ian Russell
1 year
How the various features work together is what makes F# so special, not the individual features themselves. It feels like a well-thought-out language that doesn't have features just because other languages have them. #fsharp
0
17
64
@ijrussell
Ian Russell
1 year
Writing XUnit tests in F# is really nice, especially with an assertion library like FsUnit. #fsharp #csharp #dotnet
Tweet media one
2
12
62
@ijrussell
Ian Russell
3 years
I wrote the 'game changer' review in May 2018. I'm even more convinced today that I was correct.
Tweet media one
2
4
53
@ijrussell
Ian Russell
1 year
I've pushed some code that shows many of the features of F# and some of the useful techniques covered in my free 200-page ebook to a github repo. #fsharp
2
17
60
@ijrussell
Ian Russell
3 years
Want to learn F# but feel that you need a helping hand? I'm willing to mentor two people for 1 hr each per week for up to 3 months. You will be expected to spend at least 1 hr per week self learning/practicing as well. DMs are open.
4
21
60
@ijrussell
Ian Russell
2 years
Discriminated unions + pattern matching are simple, yet incredibly powerful. #fsharp
Tweet media one
3
12
52
@ijrussell
Ian Russell
1 year
@CFDevelop No, it isn't as the code belongs to their employer anyway and it could be viewed as protecting their assets. On the other hand, it shouldn't be used to judge how hard someone is working. Often the code doesn't represent the true progress made in solving the problem.
2
1
60
@ijrussell
Ian Russell
3 years
Do you want to learn F#? I have a spot available for mentoring to start next week. It's free -> 1 hour per week for 12 weeks over video link. Send me a DM if you're interested.
3
26
50
@ijrussell
Ian Russell
1 year
Validating data and returning all of the errors is really simple in F# using the FsToolkit.ErrorHandling package. #fsharp
Tweet media one
6
10
59
@ijrussell
Ian Russell
4 years
The worst thing about F# is that it lives on a framework written for C#.
13
4
46
@ijrussell
Ian Russell
1 year
I wish that more folks in our profession had read Extreme Programming Explained. They would see what agile could, and should, have been.
Tweet media one
4
13
54
@ijrussell
Ian Russell
2 years
I love mentoring folks in F#. It's really satisfying as the topics get assimilated and the lightbulb moments occur. #fsharp
2
7
50
@ijrussell
Ian Russell
3 years
I've had a lot of responses to my offer of F# mentorship. I wish that I could do more. I'd really, really like to convert the whole of the .Net world to F#.
5
3
49
@ijrussell
Ian Russell
1 year
Contrary to popular opinion, mainly among C# devs, I think that you have to be much smarter to write great code in C# than you need to be to do so in F#, especially as your product/project evolves over time. #csharp #fsharp #notclickbait
12
4
51
@ijrussell
Ian Russell
3 years
My favourite thing about Giraffe is that everything in routing is a HttpHandler that can be connected together in a pipeline. #fsharp
Tweet media one
2
8
49
@ijrussell
Ian Russell
1 year
Using F# to generate a sequence of dates given a start date, a finish date, and an interval. If you want to learn F#, download my free 200-page ebook from
Tweet media one
1
17
53
@ijrussell
Ian Russell
2 years
Playing around with an alternate cover.
Tweet media one
3
7
47
@ijrussell
Ian Russell
2 years
@RogerAlsing @ProtoActor @golang Make F# the primary language on the platform. It would then be fun as well as cool. #fsharp
2
2
49
@ijrussell
Ian Russell
2 years
I've been sketching out the things that I've learned from doing 1-2-1 mentorship in #fsharp over the last 18 months. I think it's interesting enough to become a blog post.
1
3
48
@ijrussell
Ian Russell
1 year
10 important things I've learned over nearly 30 years in software development, in no particular order: 1/11
3
12
53
@ijrussell
Ian Russell
11 months
For those folks wondering "What's the catch?", there isn't one. I do this because I love working in F# and want others to get the opportunity to do so as well. The only warning is that you will probably like C# a lot less afterward.
@ijrussell
Ian Russell
11 months
Do you want to learn F#? I'm ready to take on two or maybe three new mentees for free in the next few weeks. You must be able to commit to 1hr per week for 12 weeks via video call plus up to 2hrs/week of your own time reading and writing F# code. DM me if you're interested.
5
50
94
3
8
47
@ijrussell
Ian Russell
4 years
Will F# ever beat the chicken vs egg problem? I keep hearing lots of devs talking about wanting to learn F# but not recommending it for work because it's hard to find F# devs! Working with F# has been a major selling point for us.
13
13
40
@ijrussell
Ian Russell
1 year
Validation is really nice using FsToolkit.ErrorHandling. It looks cleaner than the older applicative style that used custom operators. #fsharp
Tweet media one
3
9
49
@ijrussell
Ian Russell
5 years
"This is why I code in F#". #fsharp
1
23
44
@ijrussell
Ian Russell
1 year
If you find that the Option type doesn't handle your situation, say you have multiple possible reasons for failure, then F# has you covered with the Result type. Notice how similar in use it is to the Option type. #fsharp
Tweet media one
0
11
47
@ijrussell
Ian Russell
3 years
Quicksort in F#
Tweet media one
2
1
47
@ijrussell
Ian Russell
1 year
Did you know that in modern .Net Solutions, projects using different .Net languages can happily co-exist? You can use the best tool for the job such as F# for your domain logic and C# for your UI or, as we do in this blog post, test C# code with F#.
2
20
47
@ijrussell
Ian Russell
2 years
The interviews over the last two days seemed to go OK. It's finally beginning to click with me that I have a ton of real-world knowledge and experience to offer.
3
0
47
@ijrussell
Ian Russell
3 years
I'm beginning to see light at the end of the tunnel. It's been a dark few months.
5
0
46
@ijrussell
Ian Russell
2 years
I wish the C# influencers would try F# and post about it, even if it is not for them. Doing so would make folks see that there is nothing to be scared of and you might actually find it useful.
12
5
42
@ijrussell
Ian Russell
4 years
I've just published part 12 of my Introduction to Functional Programming in F# series. In this post we cover computation expressions. #fsharp
1
17
42
@ijrussell
Ian Russell
2 years
Is anyone looking for an F# dev to join their project? Remote only. No crypto. #fsharp
3
36
43
@ijrussell
Ian Russell
1 year
Wise words from the late @joeerl .
Tweet media one
0
18
48
@ijrussell
Ian Russell
3 years
I written a blog post showing some of the styles of single case discriminated unions in #fsharp that have been discussed recently on here.
3
12
42
@ijrussell
Ian Russell
2 years
@buhakmeh Lazy evaluation for the win in F#. #fsharp #dotnet
Tweet media one
5
6
44
@ijrussell
Ian Russell
1 year
Interested in functional programming in .NET? Maybe you've tried it in C# and can't help but think that it's harder than it should be. Try learning FP in F# with my free ebook aimed at C# devs who want to upskill.
1
19
46
@ijrussell
Ian Russell
1 year
Adding 'functional' features does not make a language functional. Thinking functionally requires a significant change in how you approach and solve problems.
2
8
45
@ijrussell
Ian Russell
3 years
Would anyone be interested in doing some proofreading of my Intro to FP in F# book? It looks like it will be around 200 pages in total. I should have 3 chapters ready later today. Looking to publish early next month. Any help appreciated.
17
13
39
@ijrussell
Ian Russell
2 years
I'm looking for some folks to review the revised edition of my ebook (Essential Functional-First F#). It's a work in progress but will be released for free in early/mid-July.
19
7
38
@ijrussell
Ian Russell
1 year
"Senior engineers hate coding interviews, and if you’re looking to attract the best, you should hate them too."
4
14
45
@ijrussell
Ian Russell
2 years
I chose recursion to solve #AdventOfCode Day06 but you could do it more simply by doing this in F#. #fsharp
Tweet media one
13
8
44
@ijrussell
Ian Russell
11 months
I had a lot more interest than I expected for F# mentoring, so it may take some time to determine who I can mentor in this round. One-to-one mentoring is not scalable, so I'm looking into how I can deliver something more interactive than my ebook to a larger audience. Any ideas?
8
3
45
@ijrussell
Ian Russell
1 year
Active patterns in F# make your pattern matching easier to read. Here is a simple example of email validation using RegEx.
Tweet media one
1
7
43
@ijrussell
Ian Russell
6 years
It's been a while since I've said it but I love F#. #fsharp
0
11
38
@ijrussell
Ian Russell
4 years
I’m feeling a bit old and grumpy today, so in that spirit I would like to state for the millionth time: NET <> C#.
10
3
37
@ijrussell
Ian Russell
3 years
My post for the 2021 F# Advent Calendar has been published. It's a short post on how to use labelled fields in discriminated unions. #fsharp #fsadvent
1
12
35
@ijrussell
Ian Russell
1 year
Why are C# devs so fascinated by micro-optimisations? #csharp
29
1
40
@ijrussell
Ian Russell
1 year
The most important practices I've learned about over nearly 30 years of software development have been Extreme Programming (XP), Domain-Driven Design, Distributed Systems/Architecture, and Functional Programming. Learning F# has been the most joyous.
3
3
40
@ijrussell
Ian Russell
1 year
An improvement to our C# Discriminated Union wannabe. #csharp
Tweet media one
7
4
39
@ijrussell
Ian Russell
3 years
@mortenmertner @Natt Sadly, they don't do anything too bad in the stadia, so UEFA can't really do anything about it. I haven't seen violence this bad for decades though and racism is back with a vengeance.
5
1
36
@ijrussell
Ian Russell
5 years
Part 8 of my Introduction to Functional Programming in F# is live ->
1
11
38
@ijrussell
Ian Russell
3 years
A few ways of splitting a list of random numbers into smaller bits in F#. #fsharp
Tweet media one
2
7
39
@ijrussell
Ian Russell
1 year
This is one of the versions from Chapter 1 of my F# ebook converted to @gleamlang .
Tweet media one
4
2
42
@ijrussell
Ian Russell
1 year
One of the nice things about F#, and functional programming in general, is that we can concentrate on the verbs in a system rather than the nouns. #fsharp
Tweet media one
3
6
41