
Ask HN: Why are you using Functional Programming? - ulucs
I know it looks the same, but the above question acts like two different questions depending on whether you are a programmer or you hire people.<p>If you are a programmer, do you feel that FP makes your life easier? Is it more fun? What are the advantages of this paradigm compared to others? Do you feel advantaged&#x2F;disadvantaged when looking for a job?<p>If you are in a position to hire people, why did you feel the need to deviate from the corporate &quot;norm&quot;? Do you think FP gives you a competitive advantage in your field? How has this choice affected your hiring practices? Is it harder to hire due to the smaller number of candidates, or is it somehow easier?
======
BFLpL0QNek
I use functional programming as I've done my fair share of fixing stupid bugs
at silly times in the morning and the resulting firefighting.

In my experience, I/teams I've worked on produce fewer bugs, FP, referential
transparency, everything being an expression also helps for easier automated
testing.

It took me a lot of persistence, effort and time to get comfortable with FP
after years of imperative and oop programming, I might of even be heard to say
"that's too academic, you can't use that in real life" only a few years later
to realize how wrong I was!

For the most part as an employee, it's limited me as few employers care about
such standards/quality and just want easy to hire/most popular, it's good
enough let's move fast and break things. At one time I'd happily write
idiomatic Java, Javascript, PHP, etc as done so for 10 years+, now I sit
poking fingers in my eyes when I have to touch them.

As an employer or when I've been on the recruiting side for my employer,
generally, the talent pool has been a lot smaller, extremely smaller however
people that have applied have generally been at a higher skill level.

------
elamje
The question deserves more attention.

Personally, I am just getting started in the FP world and I haven’t yet had
the chance to make money with FP.

The toy projects I have worked on have literally made me into a total CS nerd
and now I love programming. Why does that mean anything? Well I got through
undergrad in Comp Eng., several internships, and my first job questioning
whether or not I picked the right career. I have been using Python, Java,
Javascript, and C# for a few years, yet 2 months into Clojure, I’m convinced
it’s my calling.

I finally see a future with me programming in it, and so far I have only
really touched Clojure and emacs.

I can see on an application level that the code I write in Clojure vs the code
I write in C# does a lot more with a lot less lines and characters.

I don’t really care about the numbers of lines or whatever, but the
expressivity and syntax is amazing compared to Java, for instance.

I have yet to discover how hard it is to get hired for FP, but I would imagine
being young and inexperienced compared to many professional FPers, would make
the job search quite difficult.

I actually just started a list of companies to help myself and others find
work in the future:-)
[https://github.com/elamje/FunctionalProgrammingCompanyList](https://github.com/elamje/FunctionalProgrammingCompanyList)

------
fulafel
I feel it's definitely more fun. There are few new things to say about the
advantages. Clearly isolating state management from side-effectless code just
enables a lot of very nice things. FP gets you thoughtful and openminded
coworkers.

There is definitely a hiring advantage in our case, attracting good
programmers who came to us mainly because they wanted to learn FP or were
already using FP, but probably depends on what your local job market is like.

