[HN Gopher] Nubank acquires Cognitect ___________________________________________________________________ Nubank acquires Cognitect Author : zrkrlc Score : 500 points Date : 2020-07-23 12:05 UTC (10 hours ago) (HTM) web link (cognitect.com) (TXT) w3m dump (cognitect.com) | rafaelferreira wrote: | Nubank's co-founder and CTO offers his perspective: | https://building.nubank.com.br/welcoming-cognitect-nubank/ | hu3 wrote: | > Clojure is and will remain open-source and Rich Hickey will | continue to lead its efforts (as the BDFL). | | This is great! Languages need strong laser-focused vision to | avoid becoming a soup of ideas. | sidcool wrote: | I am genuinely curious. I haven't heard the name Cognitect | before. I checked the website and they seem like another software | consultancy firm. Anything I am missing? HN is very picky, so | they must be doing something special. | [deleted] | hvis wrote: | This is the company that employs Rich Hickey and most of (all?) | other maintainers of Clojure, the programming language. | sidcool wrote: | Ah. Makes sense. Thanks | jfbaro wrote: | I hope Nubank opens source DATOMIC... it would benefit a lot from | community work. | unexaminedlife wrote: | "Explicitly constraining and mitigating certain categories of | complexity was likely to pay off in the medium and long term." | | 100 million % correct. It boggles my mind when I am hired onto | projects to help "bring them to prod" only to find out the past | several years the coding was primarily done by college grads and | relative beginners. | | Ideally you get to rely on experts for the entirety of a project, | but if your budget doesn't allow for it, at minimum I think it's | early in the project that you want EXPERTS. You don't bring in | experts and expect miracles after all the bad decisions have | already been made and committed to. | sandGorgon wrote: | AWS has Quantum Ledger DB, which is a lot like what nubank | architected on top of datomic. | | Anyone know what language qldb is built on ? | praveenperera wrote: | First plataformatec (company behind elixir) now this. | Interesting. | tom_b wrote: | Congratulations to Cognitect. Hopefully the acquisition will help | Rich's retirement funding. (see 'History of Clojure' for the not- | so-insider joke here) | | I have had the pleasure of "using Clojure in anger" and for a few | years was very dedicated to learning how to use it effectively. | This was a significant step up for my general programming skills | and the simplicity of the language often saved me from myself | with respect to bad design or choices in code. Whatever | programmer "maturity" I can claim is probably due to Clojure and | teaching introductory programming and databases (not with Clojure | and Datomic to be clear). | | This acquisition is more abstractly interesting to me in that a | _VERY_ dedicated Clojure /Datomic company made it. We didn't see | here, for lack of a better example, a FAANG company grabbing | Cognitect. That may have been a choice! Maybe Cognitect went with | an acquisition where they retain a high degree of autonomy with | the benefits of being acquired. | | I never made the leap into a larger organization with Clojure at | its core. I was able to use Clojure only in my small shop where I | have a small degree of autonomy on development language choice. | For a few years, I was somewhat actively seeking an opportunity | to join a larger Clojure-oriented team but struggled to gain much | traction when applying to openings. It seems possible to build a | Clojure career, but I've not been very good at that. | keeganpoppen wrote: | (for anyone who doesn't get it, Rich funded Clojure development | via his retirement savings from 2005 until he ran out in 2009 | https://dl.acm.org/doi/pdf/10.1145/3386321) | gdsdfe wrote: | Oh wow! I didn't know that | [deleted] | swyx wrote: | gotta ask - what did he do after 2009? is he alright now? | dkersten wrote: | He did a community drive in 2009/2010 or so and a lot of us | pitched in a little. Then he joined forces with Relevance | to create Cognitect and that has funded his Clojure | development since. Hopefully he gets a nice payday from | this acquisition too. | puredanger wrote: | He became the CTO of Cognitect. :) He's doing great. | systems wrote: | Since Nubank, is not in the business of selling software does | this mean, they might open source datomic ? | gdsdfe wrote: | Anyone have an idea on the nubank stack in a bit more details? | riadvargas wrote: | Here you can get a somewhat updated view on Nubank's stack: | https://stackshare.io/nubank/nubank | scribu wrote: | Did anyone else notice that the biggest non-academic supporters | of functional programming seem to be financial institutions? | | Is it due to the nature of the problem space? Is it because | finance people tend to be more analytical? Something else? | Ericson2314 wrote: | Never discount networking effects. I think it's good for the | problem, but better languages are better for all problems, so | that doesn't explain it enough. | | Considering that finance is decently geographically | distributed, I'd say it's more SV has become javascript hell | than finance is especially FP oriented. | gphil wrote: | I think the answer to both of your questions is yes. I think | the related concepts of immutability and pure functions without | mutable state allow for cleaner analytical modeling (and in | some cases in strong functional languages, mathematical proof) | of what that the code is actually going to do in production. | That kind of predictability is essential for dealing with | financial computations. | nolok wrote: | I would assume it's because it's easier to provide a | mathemathical proof for the code with functionnal programming. | orolle wrote: | It is nature of the problem space which requires you to produce | high quality code. If you have a small error in your program, | the financial market participants will use it against you to | profit. What you loose, others win! Google "fat finger" for | examples. In banking you have to keep track of every | transactions, see "double accounting". You never delete a | transaction, you only retract! Mutablity can cause you a lot of | trouble there. SQL DELETE and UPDATE are extremly dangerous! | Clojure and datomic solves this through immutibilty. Lastly | time is relativistic, meaning that every IT system has a | slightly different time. Normaly you never notice this. But | they are the cause of tricky race conditions and cost you real | money. Think about bank transactions, where you have a | transaction date (date you send money) and valuta date (date | your friend receives money). One transaction 2 different dates, | depending which perspective you take (perspective is | relativistic, Einstein is right even in IT!). Datomic | linerialies transactions thus this problem does not occure on | database level. | moon2 wrote: | Not really a Clojure user, but I made a small API with it | once and it blew my mind, especially the design patterns | involved. An interesting one is the ports-and-adapters | (a.k.a. hexagonal architecture) [1][2] . Basically, all the | business logic will be kept at a layer, and all of the | functions there should be pure (i.e. they will always return | the same information according to your input, and these | functions won't cause side effects [3]). Then you would have | layers where you can plug databases and REST handling. | | And Nubank take testing really seriously. REPL and pure | functions makes it very easy to use TDD. | | [1] https://github.com/nubank/basic-microservice- | example#ports-a... | | [2] http://wiki.c2.com/?PortsAndAdaptersArchitecture | | [3] https://practicalli.github.io/clojure/thinking- | functionally/... | alexbanks wrote: | > It is nature of the problem space which requires you to | produce high quality code. | | Would love to see any actual data or studies showing that | functional programming implicitly produces "high quality | code". | beders wrote: | https://cacm.acm.org/magazines/2017/10/221326-a-large- | scale-... | | Section 3, RQ1 | alexbanks wrote: | I have quite a few gripes with this article, and overall | question the validity of its assertions, but interesting | nonetheless. | amw-zero wrote: | There's a ton of problems with empirical studies about | software in general. Very hard to conduct reliable | experiments. In particular, I think analyzing public | GitHub projects is pretty much the worst corpus possible. | | For example, almost all of the projects in this study are | infrastructure projects (I'm not familiar with all of | them so I can't say that it's definitely all). I'm much | more interested in application projects, and even if you | (general you) aren't, you have to admit that an | infrastructure project has a totally different set of | characteristics than your average business application. | | I think anything we can do to get more empirical data | related to software the better, as we have devolved into | strong personalities and conviction making pretty much | all of the major decisions in our industry, which is | really deeply sad. But we have to do better than just | mining open source Github projects. | alexbanks wrote: | Yeah, I wasn't necessarily trying to get into an argument | with the person who responded, but there's so many | factors not being accounted for in that study that it | might as well be measuring nothing at all. | | Choosing Github projects and measuring defects on them | has almost nothing to do with the quality of closed- | source code (as we were discussing, functional | programming languages in the wild). I also briefly | started down the path of mapping that study's | measurements to overall language popularity (as I think | they're related - more C++ code available = more bugs), | but gave up as I remembered that A.) Nobody's opinion | changes as a result of a reasonable argument on the | internet, and B.) Convincing this person nets me nothing | at all. | | You get higher quality code by hiring people capable of | producing higher quality code. A great way to find people | that are capable of producing higher quality code is by | hiring for languages with extremely small talent pools - | nobody got there because it was easy or the odds of | getting hired were good. Functional programming might | seem popular on HN, but in the wild is really not popular | at all. Clojure developers probably care a great deal | more about the quality of their work than, say, some | random J2EE developer, as the Java dev might not care at | all about anything other than staying employed. | | I guess my argument summarizes down to "Functional | programmers care more about their work", which, to my | original point, has nothing at all to do with the | languages they're using (as the person I responded to was | saying). To assert that "Functional programming languages | produce higher quality code" is like saying "This brand | of hammer hammers better." It's just nonsense. | darthrupert wrote: | That's unfortunately hard to find, since hardly any | customers require that these days. Fast and cheap is where | it's at. | alexbanks wrote: | Or, as I'm asserting, it's just totally bogus. | hk__2 wrote: | > It is nature of the problem space which requires you to | produce high quality code. | | Wouldn't a strongly-typed language be a better choice here? | in9 wrote: | I wouldn't think that strong types are an advantage. They | may be in classic software with long compile times and | complex builds. However, the current landscape for | financial institution doesn't require that. Immutability | and functional paradigms seem to be much more in line with | the needs of the business. | orolle wrote: | I do not think so. The regulation is constantly changing | and the meaning of names change frequently. Thus a | "Verified Account" can mean different things over the | years. The problem with types and object orientation is, | that the names used in the domain diverge from the name | used in source code (class name, types). Think about a | class diagram with class names relating to each other. To | represent the domain language better, you need to change a | lot in a class diagram. Dynamic languages reduce the | problem, as a lot less names are needed. Clojure spec is | used for specification of data instead of types, but there | is also clojure typed (which uses javas type system). | maximente wrote: | this is perhaps controversial but i actually think datomic | is so powerful, it's worth using clojure for. in other | words, the database is driving the choice of programming | language. | | the idea of viewing a database as an _immutable_ state of | the world at a given instant t0, and time becoming a | parameter on that state of the world (in order to show | changes as time goes forwards [or backwards!]), is | extremely, extremely attractive for things like finance, | whose first class citizens are among others: | | - capability for audits e.g. show me the history of | transactions from any particular account. since datomic is | basically a collection of immutable facts over time, this | is "free" | | - distributed computing - datomic runs nicely across your | own internal compute (often needed for financial stuff) | | - transactions are no longer strings, but are actual data | structures - this makes the gnarly steps of things like | transferring assets across instruments a lot easier (i'd | imagine). think about how you'd implement a shopping cart | with transactions in postgres vs. how you'd do it with | access to raw data structures | fnordsensei wrote: | Moreover, transactions are reified and can have arbitrary | metadata, so you can query the transaction log itself | (for example, "show me all transactions issued by person | X"). | Nihilartikel wrote: | It takes the will and discipline to use it, but what | Clojure Spec (and other schemata libs) offer is, in a lot | of ways, more powerful and flexible than traditional type | systems. A spec can be thought of more as a contract with | the data, one with enough detail that it can be used to | auto-generate conformant example data even. If, for | instance, you have a function, that needs to work on | either, integers, or numeric strings, and textual fractions | like '1/5'. Enforcing this constraint on input, and getting | informative exceptions on bad data is easy with a spec, and | the function code does not need to contain all of the noise | to validate or coerce data. Sure, you don't see the problem | at compile time, but if you can auto-generate test data, | the tests that you should already have become easier to | write. | beders wrote: | Unlikely. At least not for domain modeling. | | Especially in that industry where your domain is changing | all the time, where regulations are changing all the time, | where the ability to reason about your domain at different | points in time is essential. | | Having more flexible types like maps is one of the building | blocks to avoid complexity (there are more, more important | ones) It sounds counter-intuitive, but it certainly is | working out for companies embracing clojure. | socksy wrote: | I love immutability and Datomic as much as the next Clojure | programmer. But this sounds quite a lot like post-hoc | reasoning. | | For example, there's quite a few situations where you require | mutability in bank data (e.g. with government requirements, | or when you want to rollback fraudulent trading). Sure, both | are solvable with Datomic, but they don't scream "huge | advantage with an immutable datastore". | | And there are plenty of highly competitive industries where | code quality matters, but they're not flocking to functional | programming. | | Don't get me wrong, I think functional programming is an | absolutely great way to structure and think about programming | (and have coded professionally in Clojure for the last 5 | years or so). But I suspect the prevalence of FP in some | industries is as much chance/social reasons than it is for | some inherit superiority in the approach. | polityagent wrote: | small note: Banks do not want to forget fraud, the rollback | would be akin to a git revert. Even if the history | presented to the customer makes the fraud vanish it won't | be forgotten by the bank. | | With government requirements I'm assuming you mean | something like gdpr. Datomic supports actually removing | data via excision. it's just not the default behaviour. I | personally prefer a system that doesn't forget by default | whilst preserving the option to do so. | | you can also support destruction of personal data via other | means such as key shredding. | galkk wrote: | Aren't "rollbacks" done as separate transactions, that | return account amount to Previous value? | socksy wrote: | Depends on the legal requirements of that rollback | dig1 wrote: | Mainly because of the problem space. Banking/finance is a | complex field with many moving parts: card processing, | validation, encryption, currency exchange and tons of | certification stuff (I believe Nubank's primary focus is card | processing). Didn't even touch other financial fields like | investing, credit handling, or any kind of trading. | | The software is always expected to be correct, never fail and | fast. Otherwise, someone will lose the money, and usually, you | (bank or institution) will have to recoup that, plus penalties, | plus name damage. | | Source: worked there. | darthrupert wrote: | Doesn't banking actually use double accounting to ensure not | losing money instead of relying on something as brittle as | software? | | Then again, Wirecard happened. But perhaps that wasn't | exactly banking. | pea wrote: | In haskell, a lot of the uptake in financial services is | because they are writing internal DSLs to do things like | modelling exotic options. | dwwoelfel wrote: | As a counter example, Stripe uses Ruby and Mongo. | Joe8Bit wrote: | Immutability is a very powerful idea when record keeping and | dealing with transactions. I know of at least one major bank | whose ledgers are written Haskell. | bhurlow wrote: | any relevant links to share about this? | mark_l_watson wrote: | Perhaps: Standard Chartered Singapore? | | I tried unsuccessfully to get a job with them about 4-5 | years ago. They are a huge Haskell shop. | davidrupp wrote: | Sounds like a broken hiring process right there. Anything | you care to share about why that didn't work out? I can't | imagine a company having an opportunity to hire you and | choosing not to. | mark_l_watson wrote: | I don't mind sharing about that. Standard Charter has the | reputation for being a great Haskell shop and I have been | trying for years to up my Haskell skills. | | I simply didn't have enough background in Haskell. The | interview was fun. The interviewer did his PhD in Haskell | and compiler theory. | | Around the same time, I applied to Facebook's Haskell | group, and I got to interview with Simon Marlow, which | was great. He also said that I didn't have enough Haskell | experience and suggested that I do more Haskell | consulting work, and re-apply in a year. | | Anyway, I love coding in Haskell but my skills need | improvement. | niclo wrote: | It's Walmart and not a financial institution but this is a | great talk about immutability applied to the backend | services using F#: https://youtu.be/FskIb9SariI | ilikehurdles wrote: | Coincidentally, Walmart also maintains a lot of clojure | libraries now, including the go-to graphql implementation | in clojure: https://github.com/walmartlabs/lacinia | dgb23 wrote: | Functional languages and databases seem to be a natural fit. | | Given you have a basic grasp of bookkeeping, accounting and | financial statements: Would you rather program these things in | a functional or imperative language? Would you rather store the | transactions in a accreting, value oriented database or one | that has no inherent notion of these concepts? | | Or more generally, if your application has a temporal reporting | feature, then you need to be able to ask questions like: "What | were these values at date X and what are they going to be at | Y?" etc. | mark_l_watson wrote: | Good for them, well deserved success for the principles, Clojure, | and Datomic! | | I donated to the Clojure dev fund early on, and I had two | consulting customers over a few year period who mandated Clojure. | I stopped using Clojure when the paid work stopped because I | really like Common Lisp better for my use cases. I have on my | radar for sometime this year to update my cooking website [1] | that is written in Clojure, so I will at least get a small | opportunity to kick the tires on modern day Clojure. | | [1] http://cookingspace.com | jacknews wrote: | Will the license change? | puredanger wrote: | No change in Clojure's license (it is still EPL 1.0). | adelarsq wrote: | No. It's just a "cooperation" to use technologies. | ksec wrote: | I thought Nubank was an Elixir Shop but now It looks like Nubank | is a much bigger Clojure shop than Elixir. | | So why did they acquire Plataformatec? | kureikain wrote: | They are a big Clojure shop. They hire Plataformatec as a | consulting company. This podcast has more info: | https://changelog.com/podcast/402 | riadvargas wrote: | We (Nubank) actually acqui-hired Plataformatec earlier this | year: https://www.contxto.com/en/startups/fintech-nubank- | acqui-hir... | huahaiy wrote: | Congratulations! Does this mean that there is a chance for | Datomic to be open sourced? | josefrichter wrote: | Killer team. | tomconnors wrote: | It sounds like Nubank might have the biggest Datomic installation | in the world (2000 servers). This is exciting news for people | like me who think Datomic is the most interesting database out | there. Putting more resources behind Datomic might finally allow | it to go mainstream. | tom_b wrote: | I was unable to bring Datomic in-house. Mainly because our | organization has a huge agreement with Oracle and all our | database servers are essentially "free" to teams. | | So I cheated. I created some schema designs that were | immutable. I added a GUID, timestamp, and a deleted flag (value | of 'Y' or 'N') to tables. Basically, all selects are against | views that are defined over the tables to select the tuple | associated with the max(timestamp) for that tuple along with | the tuple having a deleted flag value of 'N'. This means that | any select only sees the most recent tuple value for a GUID if | it hasn't been "deleted". | | There was a little bit more hiding in there to handle dirty | writes. | | But this worked very well for my requirements. By really only | doing inserts, I was able to do similar "point in time" looks | at the db as an immutable value. | | Fun stuff. | havenconnect wrote: | Would you be willing to have an email chat about that? I'm | thinking about doing a similar strategy with our relational | database and wanted to get your experiences with that. | | sam at havenconnect dot com | escherize wrote: | Reminds me of the time I wrote an eavt (entity, attribute, | value, transaction-time) store on top of rethink db with a | friend of mine. | nickpeterson wrote: | You may want to look into Anchor Modeling | http://www.anchormodeling.com/ | rel2thr wrote: | Wonder if this makes datomic more likely to become free/open | source | | Not sure what their license revenue is but hard to imagine it | would be significant to a major fintech | kamaal wrote: | Also lets hope they acquire cursive ide too and offer it for | free. | | Clojure deserves an IDE for larger adoption. | puredanger wrote: | Clojure has many free IDEs. Many people currently use Emacs | w/CIDER, Atom w/Chlorine, Visual Studio w/Calva, Vim | w/Fireplace, etc. For that matter, Cursive also has a free | non-commercial edition. | jcadam wrote: | I've found CIDER superior to Cursive for Clojurescript, | specifically. I use a combination of IntelliJ (with the | emacs keybindings) and emacs depending on which language | I'm working with. Most of my projects involve two or more | languages, so I'll usually have both editors open all day | :) | | As an aside, I'm starting to become a fan of Kotlin for | backends (with some Clojure sprinkled in where it offers a | big advantage), and Clojurescript (re-frame) for the | frontend (because it offers a big win over javascript | there). I've taken a step back from full Clojure for | everything, being that I have to work with others who | aren't as in to "alternative" languages as I am. | | Datomic is something I probably won't mess with until (and | if) it becomes open source. | randompwd wrote: | Using Spring with Kotlin or other? | jcadam wrote: | Yea, spring boot. When 90% of what you're doing on the | backend is gluing a bunch of different Java technologies | together, Clojure becomes hard to justify. Fortunately, | mixing JVM languages together on the same project isn't a | big deal so you can bring in some targeted Clojure where | needed. | | Kotlin is great because it's the closest thing to a | general-purpose Java replacement I've seen. The interop | support between Kotlin and Java is outstanding. | KingMob wrote: | Funny, I _left_ Cider for Cursive a few years ago, | because back then, Cursive had the better cljs support. | jcadam wrote: | It's probably a result of my using shadow-cljs rather | than figwheel. Cursive will catch up eventually, I'm | sure. | kickopotomus wrote: | Are there any screen casts out there showcasing the | utility of CIDER? I guess I have just never been a big | emacs guy so it felt sort of clumsy to me but I am | probably just missing something. Could also be that I am | just too familiar with the Cursive workflow. | kamaal wrote: | Thanks Alex. | | Wishing you and your team many congratulations and kudos on | this occasion. | LandR wrote: | ItelliJ w/Cursive too works great. | kgwxd wrote: | There's a free non-commercial license. If that's not enough, | wouldn't they have to acquire IntelliJ too since they have a | similar licensing model? | jyriand wrote: | What is meant by "joining"? Did Nubank aquire Cognitec? | josefrichter wrote: | yes | juskrey wrote: | Pretty strange how no one else sees that banks are very very | fragile institutions, plus this one is heavily VC-ed, which makes | everything they claim in public irrelevant (this is if we want to | trust what any bank says at all). | | What is relevant is that Cognitect will now have 100% of income | coming from the single (and fragile) source, they now do not have | to compete and survive on their own, they can't say "no" when | having a choice between having to conform or quit the only money | source. | | I am not discussing personalities here - people are free to | choose how to sell their products or themselves. Just thinking | what this means to me as a software consultant who makes 100% of | money from Clojure (yes, a fragile single choice because of sort | of falling in love) | whoisjuan wrote: | How is a bank a fragile institution? Banks are the most heavily | insured and protected institutions in any modern country. | | In the US for example, banks not only contribute to federal | insurance but also have built joint private reserves to weather | economic turmoil. In the modern world banks rarely go bankrupt | because if they did that would tank any confidence in the | economy and create incredible chaos. | | Even in failed states like Venezuela banks are still a major | pillar of economy confidence. | juskrey wrote: | This is simply false - banks are not insured against failure | and not protected unless some political move "too big to | fail" is made, and this only makes systemic financial system | failures worse. | jwr wrote: | Whether this is false depends on particular country laws. | For example in the EU you can't call yourself a "bank" | without being subject to regulation, and in Poland for | example, if you are a "bank", your money is actually | protected against failure, up to EUR100,000. | juskrey wrote: | Deposits insurance has nothing to do with that. | whoisjuan wrote: | > Banks are not insured against failure and not protected. | | Well. Except they are. In the US not only at the federal | level but also at the state level: | | - https://en.wikipedia.org/wiki/Deposit_insurance | | - https://www.fdic.gov/deposit/ | | - https://en.wikipedia.org/wiki/Federal_Deposit_Insurance_C | orp... | | - https://www.cnn.com/2020/04/17/business/bank-earnings- | defaul... | cemerick wrote: | You are mistaking what is insured here. _Deposits_ are | insured, the banks themselves are not. | | Here's the list of banks that have failed in the US and | for which their deposits entered receivership managed by | the FDIC; looks like a handful every year: | https://www.fdic.gov/Bank/individual/failed/banklist.html | whoisjuan wrote: | I'm not. I was trying to point to the OP that banks | aren't as fragile as he think they are. When the very | nature of your business, which is handling people's | money, is federally insured, you have mitigated a lot of | risk. | | Yes banks can fail and they can go bankrupt, and if that | happens to Nubank then this acquisition goes to hell | which makes the Clojure ecosystem weaker. I give that to | OP. | | But saying that banks are "very very" fragile | institutions I think is fundamentally wrong. | raphaeljlps wrote: | Just to clarify, Nubank is not an actual/formal bank in | Brazil. They have operating licenses as Financial institution | and Payment institution though. | dustingetz wrote: | Nubank raised nearly a billion $ since 2018, hard to see that | being bad in any possible way for Datomic to have access to | those resources | juskrey wrote: | That billion is not a charity, but comes with some people | pursuing some things. Most of the time that "things" are to | make a PR stunt, inflate and sell. | jonahbenton wrote: | With respect, I see where you are coming from, but would argue | it isn't necessarily the right read, either in terms of banks, | or in terms of Clojure, though there is nuance. | | Banks are systemic actors in the financial system. They have | privileges granted only to them, requirements that only they | have to meet. It is HARD to build and operate a bank, whether | in the US or in another country. | | From a "fragility" perspective- there are a lot of definitions | of fragility, but when looking at attributes like- may fail at | any time; may lose customer assets; may take on inappropriate | risks given their systemic position; have negative systemic | impact on larger financial system operations- whatever | attributes you think of, the amount of energy that goes into | oversight around those attributes is significantly larger for | banks than any other "systemic" industry (real estate, health, | whatever). | | The number of health oversight agencies in the US is, like, 5. | The number of financial oversight agencies is in the dozens, | just at the federal level. (This is why in the US you sue for | medical malpractice but not financial malpractice, and why | there is government backed financial insurance of various kinds | and much less health insurance. You are on your own in the | health industry. In finance there are armies around). | | Banks have like 10 different kinds of risk that they and their | supervision are monitoring for. Yes, banks fail, but that's | because people suck and are bad at things and the second law of | thermodynamics and so forth. It isn't necessarily the same in | other countries but banking, like many other industries, is | increasingly global, and banking core systems are increasingly | international. | | Nubank is clearly doing a LOT of things right- I saw a | presentation in person from them in February and it blew my | mind the level of capability and abstraction they were working | at. They are a solid entity with a strong growth path. | | Cognitect, in contrast, is a tiny consulting firm. Maybe 50 | employees? Technical consulting at scale is an incredibly hard | business, particularly when your solution domain is limited to | a particular toolchain. There was really no chance Cognitect | was ever going to become Thoughtworks, or Deloitte, or anyone | like that. That's an infinitely more fragile financial | situation for Clojure than living under the roof of a business | with a valuation in the billions. | | The way to think about this is that all technologies have a | sponsor. Clojure moves from basically being sponsored by a guy | in his backyard to, like PHP (Etsy has a market cap of around | $10B and employs the PHP leader). That's huge. | | Beyond that, having what should become a more well known and | reputable player in the financial industry backing it- you | could well see A LOT MORE adoption from enterprises playing | copycat. It's not going to happen right away, but it is a | seminal step in COMPLETELY changing the enterprise adoption | calculation. | | However, everything is a tradeoff. If you aren't working with | Datomic, or in finance- this move is a stronger statement that | maybe Clojure doesn't have the strongest future for you. It | isn't going to become a lot of other things that it could | become. The finance industry has a fondness for languages with | weird syntax, and those languages often stay in the finance | industry niche. That's probably where Clojure stays. There are | all sorts of wicked cool JVM things like LMAX and Azul that are | also financial industry specific, and Clojure and Datomic get | to become one of those. Very successful, very cool, but niche. | | Anyway- hope that's helpful, happy to continue the | conversation. | | Cheers. | juskrey wrote: | I have no issues with financial things per se - I have built | several financial systems (from crypto to funds management) | with Datomic and Clojure myself. | | And this is also one of the reasons I think having sole bank | as your owner is a really really bad thing. | jonahbenton wrote: | Say more? Would be helpful for others to further articulate | your observations and opinions. No one has all the answers. | For all who have a stake a full diversity of views is best. | juskrey wrote: | I'll be really short: the bank lends money in Brazilian | real to credit card holders and, in addition, keeps half | of that in financial derivatives. The last real slide (3x | in value) was in 2011-2016. Current world situation is.. | interesting, to say at least, and 1 billion of VC money | are not charity. | jonahbenton wrote: | Ah, yes, got it, that's helpful. | | Are their financial reports available and published in | English? Would be interesting to read. | | I don't know details of their financial model, but will | say: | | * there is a long bootstrap process for a bank that | involves being selective with what customers they can | serve with what products at what margins in what order | | * debt is a hard game, though in many niches now is the | best of times | | * currency is also a hard game | | * in general, banks are valued at a small multiple of | assets and do not attract VC | | * in general, SAAS businesses are valued at a large | multiple of revenue and do attract VC | | So my assumption would be that they are using equity to | build the ability to get into the banking core business | as a SAAS, which is both lucrative and exploding as an | opportunity (see recent nCino news). If they succeed, | that's an extremely durable business, and not a bad place | for Clojure to be. There are a number of languages that | still only "exist" because they form the basis of a | banking core. | | Cheers. Thanks for the engagement. | mapgrep wrote: | "If you aren't working with Datomic, or in finance- this move | is a stronger statement that maybe Clojure doesn't have the | strongest future for you." | | I don't follow. The company the python BDFL last worked for | was a storage outfit with a valuation roughly equal to | Nubank. The Rails BDFL is at a pretty small software shop in | Chicago. Ruby BDFL was at a division of Salesforce last I | checked. | | Seems a bit reductive to say that Clojure creator being | employed by a bank makes Clojure a worse choice outside | finance. | jonahbenton wrote: | Sure, reductive is fair. In response: | | a. ruby and especially python (and PHP for that matter) are | top 15 languages with very wide adoption, following, name | recognition, use cases. Great documentation, lots of books, | conferences, blogs. Robust business and consulting | ecosystem. etc. Lots of onramps and growth curves for | individuals. And communities still growing steadily. | Clojure is substantially younger (10 years vs 30 for py, 25 | for php and ruby) but it is comparatively tiny and niche | and arguably its _rate_ of growth is lower | | b. syntax is part of the story here. Clojure is a better | language than kotlin, but kotlin is seeing explosive | general purpose use case growth that Clojure can only dream | about. Clojure _syntax_ is niche. | | c. there are a very large number of technologies, including | languages, that have wide usage within finance and banking | and zero use outside. No matter how neat k is, there is no | market for tutorials, no community growth (well, maybe | modulo data sci world). No one is ever going to use jbase | rather than postgres. Many of these also have niche syntax. | | d. I think the Nubank news on balance is terrific, but I | don't think it helps Clojure's community growth story at | all, which is a chicken/egg problem in the context of | general purpose use outside of finance. Nubank committing | to _that_ outcome...seems doubtful to me, compared to | Nubank wanting to have more control over what it considers | to be its strategic differentiator. | | This last could well be wrong, and what we'll get from | Nubank-owned Cognitect is developer experience, onboarding, | a completed Spec, a comprehensible REPL-based developer | onboarding, _error messages_ , documentation- all the UX | things where Clojure's superior design ergonomics are | undone by nits in the experience. | | My understanding is that Nubank is concerned about these | things for its internal people, that their hiring rate has | forced them to solve for onboarding. We will see. The | Clojure team itself likes the sharp tools for experts | model. There would need to be a funded change in that | emphasis for the acceptability of Clojure solutions in | areas where it wasn't already known to grow. | kinleyd wrote: | An excellent assessment - Rich, Stu and team clearly must | have assessed the option similarly. Congratulations to | Cognitect and here's wishing them well. | latortuga wrote: | Cognitect is not winding down Datomic, Datomic Cloud, or | Datomic consulting, and they have big name customers including | Facebook and Netflix. | qroshan wrote: | Yeah, very strange for a bank to buy a technology stack | company. Why? It strategically doesn't make any sense, unless | the bank wanted Clojure/Datomic to prioritize their features | and requirements. | | What would it mean for adoption? | hellofunk wrote: | Case you're curious, Nubank has done the same thing for the | Elixir language! | | http://blog.plataformatec.com.br/2020/01/important-informati... | rafaelferreira wrote: | Not exactly, Elixir continues to be lead by Jose Valim, now at | Dashbit. (disclosure: nubank employee). | geokon wrote: | Does this mean Closure will continue to become more and more | server/web focused? | | I could have the wrong impression, but from all the dead | libraries I've come across it feels like it used to be all over | the place with people doing math, visualizations/art, music, | people trying to run on Android (seemingly the only JVM language | that has no Android ecosystem/workflow.. crazy) etc.. Now a lot | of that has atrophied and looks like it's mostly all about web. | Though there are still interesting nonweb things going on - it | just feels like a shrinking fraction | | Either way, a big congrats to the people involved. Happy for you | guys. That you for all your hard work, the beautiful language | that has made me enjoy programming more than ever, and all for | free :) | beders wrote: | It's not untypical for clojure libs to appear "dead". They will | work just fine. Some libs are just "done"! | puredanger wrote: | I disagree that people are not doing those things now or that | this has changed at all. We have a decade of yearly Clojure | surveys that show people continue to do all those things (and | lots more). | | Most (70-80%) of Clojure developers work on web apps because | most programmers work on web apps. | | People that like Clojure use it for everything you can think of | and I expect them to keep doing so. | Heliosmaster wrote: | FWIW Clojurescript can also be used in ESP32: | https://blog.tindie.com/2020/07/clojurescript-on-esp32-why-n... | | Mike Fikes and the team at Vouch.io are doing some interesting | work there, using cljs for IOT. | johnfn wrote: | I think what you might be seeing is actually just a decline in | interest of the language in general: | https://trends.google.com/trends/explore?date=all&geo=US&q=%... | [deleted] | dustingetz wrote: | The bull case here is if Nubank goes full Amazon and uses banking | as a beachhead to create the next layer up from AWS, which | Clojure/Datomic is amazingly perfect for - data all the things | juskrey wrote: | And we'll have to go back using sqlite again | nudpiedo wrote: | there is also an on Prem solution, and I believe that's what | such customer wants. | bananaface wrote: | [deleted] | bhurlow wrote: | Is a "transaction log" not exactly the technical shape of a | bank? | [deleted] | patmorgan23 wrote: | It's definitely the shape of accounting | jwr wrote: | My entire business is built on Clojure and ClojureScript, and it | would not have been possible without these languages. I am always | slightly worried by this kind of news, because it means that the | main Clojure team is now dependent on a single institution. But | it could be good news as well, depending on how things go. | | Until now, I've been getting nothing but excellence from the | Clojure team: not just great tools, but also great thinking | behind them. I appreciate what I've gotten (for free!) until now, | and hope that the trend will continue :-) | jonahbenton wrote: | Would love to hear what you learn from engaging on any | expectations you have for roadmap. I wrote separately that I | see a bright (very bright, complete game changer) future for | the toolchain in finance, but finance is a special ecosystem | where general purpose languages with goofy syntax become niche- | sometimes very large niche, but still niche. | jwr wrote: | Niche is fine. I don't know why people are obsessed with | languages becoming dominant, or enjoy calling languages | "dead". I don't need everyone to use Clojure. In fact, I'd | rather prefer that my competitors use something else, because | it gives me an edge over them. | | I don't have "expectations", I think "hopes" is a better word | here. I hope to continue to profit from the core team's | thinking and be able to use the tools they create and ideas | they generate. | randompwd wrote: | I mean, that may be true to a point in the long run/true | outside of webdev. | | But the dev who intimately knows Spring & Java/Kotlin is | gonna be far ahead of you for the first 9 months, given | that there's so much out of the box functionality. They'll | be going through a nice paint by numbers scenario for most | of the heavy lifting whilst you have to expound effort in | creating what's done. | fulafel wrote: | Usually you hear skepticism the other way around (that | Clojure's productivity advantage over Java style | languages in a project could diminish over time as static | typing advantages can be more pronounced in the twilight | years of the apps lifespan). | jonahbenton wrote: | Understand the argument- it's language vs ecosystem- but | Clojure leverages the JVM ecosystem in a first class | manner. Spring is very productive, to be sure, but I | still find that in terms of LOC, Clojure requires less | for simple cases, and much less for hard cases, and | Clojure practices- like REPL-driven development- | themselves are more productive/faster iteration. | lukashrb wrote: | Interesting view. What are the 'out of the box | functionalities' which Clojure is lacking? Keep in mind | Clojure provides Java interop and with clojurescript js | interop. The clojure ecosystem has also pretty great | libraries to work with. For example take a look at fulcro | or re-frame, also metosin works on some really great | libraries and there is much more. | dkersten wrote: | > What are the 'out of the box functionalities' which | Clojure is lacking? | | None, because for anything Clojure doesn't have, you just | lean on the JVM (or JS for Clojurescript). Sure, the | syntax isn't as pretty and there are some abstraction | mismatches, but in my experience, you create thin | wrappers to hide this and move on. | slifin wrote: | If what you're comfortable with is Spring or Drupal or | Rails and those work for your use case then more power to | you | | At the same time it's true there are products like roam | research that are fundamentally harder to achieve in a | cookie cutter environment | | This talk kind of eludes to why that is | https://youtu.be/rI8tNMsozo0 but it's worth learning | there's many mature pieces of tech in this community that | are astounding | | If you need boring.lib then reach into Java/JavaScript | with the easiest interop I've ever used | phrygian wrote: | I suppose a question for you would be how has your business | supported clojure(script)? It seems to me to be a case of a | business that has benefited from clojure - and wants to be | invested in its future - doing something about it. It cost | something to provide what you built your business on :) | jwr wrote: | A while ago I started to set aside an R&D budget that goes | towards developers writing open source, specifically Clojure | and ClojureScript libraries, and tools like magit or CIDER. | The amounts are still small (this is not an enterprise | business), but I'm increasing them regularly. | | I want to see a stable, long-term ecosystem with maintainers | that are getting paid for their work. | dkersten wrote: | I am about to (next two or three months) launch a | company/product that is heavily built on Clojure(script) | too and I was actually thinking about this exact thing just | this week! There are a number of libraries that I rely on | that I would love to give back to, both as a thanks for the | work so far, and to fund future development. I'm not in a | position to do so yet, but its something I very strongly | hope to do in the not-too-distant future, if things go | generally well. | swyx wrote: | what was your decision process leading to bet on Clojure? | jwr wrote: | I used to enjoy programming in Common Lisp, then saw a talk | by Rich Hickey which intrigued me. I gave Clojure a try (this | was about 8 years ago I think) and (much to my surprise) it | turned out it works really well. It also turned out that a | coherent concurrency story is important, and that programming | with mutable data is not a very good idea after all, so I | abandoned CL completely. | | Over the years, I got many fantastic gifts: ClojureScript, | transducers, core.async, spec -- and more. I'm very happy | with the choice. I also think my business would not have been | possible without Clojure and ClojureScript: the leverage I | have because of them lets me run a single-founder self-funded | business. | nathell wrote: | That'd have been 11 years ago. I know because my earliest | Clojure project on GitHub hearkens back to July 2009, and I | jumped onto the bandwagon after hearing enthusiastic | opinions of yours. | | Not sure whether I ever had the opportunity to properly | thank you, but let me say so now. Thank you, jwr. | jacobsmith1984 wrote: | "My entire business is built on Clojure and ClojureScript, and | it would not have been possible without these languages." | | No company depends any new language to succeed, depends on | customers. | finnjohnsen2 wrote: | I would rephrase and ask why he claim his business would not | exists without Clojure/ClojureScript :) | Scarbutt wrote: | Yeah, seems like a cultish thing to say. | dbancajas wrote: | can one make a career out of clojure? | loevborg wrote: | The company I work for has 7+ open remote roles, all | Clojure/Script engineers. Clojure is mind-expanding but doesn't | necessarily take long to become proficient in - we've hired | many developers with no prior experience who've learned Clojure | in no time. If you're curious, my email address is in my | profile | iammiles wrote: | I work full-time in the healthcare industry writing mostly | Clojure(script). I wouldn't base my entire career off it (or | any one language for that matter), but there are career | opportunities out there using Clojure. | tom_b wrote: | I think this a much more nuanced question than a yes-or-no | answer can cover. | | Looking at LinkedIn or indeed.com with just a simple search for | Clojure with no geographic qualifier (in the US), we see a very | small number of listed openings - 252 over the last month at | LinkedIn or 44 in the last 14 days at indeed. A plain google | job search on Clojure jobs in the US returns an even smaller | number. | | Some of those job listings will almost certainly have Clojure | listed as part of a "laundry list" of technologies and the | actual job will probably not be Clojure oriented. | | So just from a raw numbers perspective, the job sites to | suggest that there aren't a huge number of opportunities. | Comparatively speaking, there are like 60,000 Java job postings | on LinkedIn in the last month. | | However, if you attend a Clojure/conj (one of the "primary" | Clojure programming conferences), you will find that many | attendees are part of some (not super-large?) number of | companies that use Clojure. | | My best advice on building a Clojure career (that I failed to | follow) is that a programmer who wants to make a Clojure career | path is to be prepared to spend a significant amount of time | trying to make connections inside the Clojure community. On top | of that, you probably need to build a portfolio of project | experience that you at minimum blog about and preferably speak | at Clojure conferences, user groups, or meetups. | | <edit: removed off-topic thought> | | I would gently observe that long-time Clojure developers are | maybe too close to the tree to see the forest when it comes to | judging Clojure career opportunities. | | But I would love to be wrong about my impression of Clojure job | opportunities! Perhaps fellow-HN readers could post | (anonymous?) numbers of Clojure job openings for their company | to give us a better idea? | vemv wrote: | Yes, but you may have to run the extra mile if you want every | job you get to be a Clojure one | | (luckily, extra mile != extra 100 miles) | puredanger wrote: | Yes. There are 100s of companies using Clojure. | https://clojure.org/community/companies | PaulHoule wrote: | Why don't they take on the name Cognitect? It is a much better | brand than Nubank and that would distinguish this from the many | stories where a no brand or bad brand big co buys a good brand. | positr0n wrote: | Nubank has over ten million customers and undoubtedly many more | people in their target market that know their brand. The only | people that would recognize Cognitect are clojure developers or | particularly hardcore fans. | yomly wrote: | Is it a better brand? I believe Nubank offers b2c services. | What are all those customers going to think when | Nubank->Cognitect... | G4BB3R wrote: | 23 million customers disagree | stopachka wrote: | Congratulations team! I remember watching the Nubank infoq talk, | and sensing that they have a serious hacker culture. | | This could be great for the clojure community. One idea, if done, | could step function the community: open source datomic... Oh ma | gad if that happens! | andrenth wrote: | Are there any technical posts from Nubank on how they manage such | a large Clojure codebase (I guess it must be Clojure's largest | user in the industry). | | I'm looking for things like how to refactor safely in the absence | of static typing, for example. Do they make use of spec? | | I'm a big fan of static typing, but when using a dynamic language | with immutable values and pattern matching, like Erlang, I don't | miss it that much. Maybe with Clojure is the same? | ballpark wrote: | I've watched a number of Clojure centric talks from Nubank | employees. Actually, I think it was one particular employee, | but I don't remember his name. One was on how they do testing. | The others were about Fulcro, which is a very interesting web | frontend library/framework. | hcarvalhoalves wrote: | Not sure we have any talks about that specifically, but what I | can say is that on the Clojure codebases: | | - We rely heavily on testing (unit tests, property- | based/generative and integration) | | - We adopt a micro-services architecture, so most codebases are | small enough that refactoring is easy, or sometimes we just | replace the service altogether | | - We leverage Schema (https://github.com/plumatic/schema) | and/or clojure.spec (https://clojure.org/guides/spec) to | annotate functions and data schemas, but it's opt-in | | - We have static checking of data schemas across boundaries | (e.g. checking data producers did not break consumers over HTTP | or Kafka), which is where we found the most value (replaced | complicated end-to-end tests) | stopachka wrote: | Curious, did you really find that microservices helped? | | The downsides can be so tremendous -- I wonder if nubank | would have done better to services in the low digit range. | | (context: my thoughts on it -> https://stopa.io/post/236) | hcarvalhoalves wrote: | I believe micro-services change the trade-offs, and it's a | matter of what you value more. | | We certainly have to invest more on infra-structure, | monitoring, standardisation, and we have been doing since | day one - by now it's pretty robust, to the point our | internal tooling allowed us to migrate from raw EC2 to | kubernetes (https://www.cncf.io/case-study/nubank/) and it | was a transparent change to all services and teams. | | On the other hand, failures are more localised and we gain | robustness and speed to do certain kind of changes. | | Your point about getting domain boundaries wrong is true, | but IMO it's a pain orthogonal to micro-services. The | solution is the same as if you defined a sub-optimal class | interface on a big mono-repo: relentless refactoring. We | are often strangling (https://martinfowler.com/bliki/Strang | lerFigApplication.html) and replacing legacy services. | andrenth wrote: | Thanks! Can you talk a bit more about the static checking of | cross-boundaries schemas? Any relation to tools that allow a | schema to evolve without breaking compatibility, like | protobuf? | hcarvalhoalves wrote: | It's not based on protobuf. There's some in-house tooling | that checks the schemas of producers against consumers | against known versions (aka the versions in production), | and we run it as part of the CI. | | Since services implement standard components/protocols | there are standardised hooks to extract these schemas | definitions from each HTTP endpoint or Kafka consumer. | nt591 wrote: | Nubank also acquired Plataformatec and the Elixir team. Very | interested to watch how this plays out. | Plugawy wrote: | Not quite: they acquired the __consulting __part of | Plataformatec, the core Elixir folks are running a new | venture:https://changelog.com/podcast/402 | fulafel wrote: | Apparently Nubank has offices in Berlin, wonder if at some point | there could be jobs there for working on open source Clojure | things. | jacobsmith1984 wrote: | Now there is a conflict of interest in Cognitect cloud services. | Would you trust a bank watch over your strategic information? | dgb23 wrote: | Nubank has a very inspiring story, both for engineers that are | fans of Clojure & Datomic and for entrepreneurs that want to do | "crazy" things like entering the bank sector. | | This must be very validating and exciting for both Cognitect and | Nubank. | | I'm excited of the future impact on Clojure and Datomic. I get | the impression that _all_[0] involved parties deeply care about | what made them great so far. | | [0] I'm getting that vibe based on some talks I saw of Lucas | Cavalcanti and Edward Wible, available on Youtube. | jonahbenton wrote: | Yeah, I saw the Nubank folks present in person in NYC just | prior to COVID. I am a Clojure fan, to be sure, and also a | banking/money dweeb. Soup to nuts it was one of the most | impressive presentations / achievements I have seen. They were | clearly operating in the future. Congrats to both and looking | forward to growing the community. | | Plans to release a SAAS banking core in the US? Pretty please? | ru552 wrote: | Was this a conference? Possible link to the talk mentioned? | jonahbenton wrote: | Clojure NYC meetup, sounds like video may be damaged but | was salvaged: | | https://www.meetup.com/Clojure-nyc/events/268460200/ | setr wrote: | direct link to the video: | https://www.youtube.com/watch?v=1dW4V3stFX0 | puredanger wrote: | Exactly right. | auganov wrote: | > Nubank has grown to 600 Clojure developers, running 2.5 million | lines of Clojure code in 500 microservices | | Wow, that's enormous especially for a concise language like | Clojure. Very happy about this announcement as a Clojure user. | Sounds like it's going to be viable for at least another decade. | bhurlow wrote: | I'm just remembering the sad collapse of RethinkDB... | | The task of making a viable commercial database in 2020 is | herculean and I can really empathize with the team's need to both | keep cashflow and have a sufficiently sized deployment to debug | against. | | Can also say that everyone I've met at nubank are really | passionate about the ecosystem and seem like they'll be excellent | partners | fulafel wrote: | Datomic is 8+ years old and by all accounts has a healthy | customer base, it's not like they are in the takeoff stage. But | of course they have to keep up like everyone else, especially | now that there is competition from the OSS side (Crux). | robertfw wrote: | I remember being very excited by RethinkDB, it was a huge shame | to see that go down. I feel like they signed their own death | warrant by making a product that was super easy to use and was | well documented.. so no support contracts, because simply not | needed. Such a shame. | Ericson2314 wrote: | > From their start in 2013, Nubank has grown to 600 Clojure | developers, running 2.5 million lines of Clojure code in 500 | microservices on over 2000 Datomic servers. | | Yikes that sounds like hell. Let's stop bragging about costs as a | succeess store? Headcount? LoC? microservices? These are all to | be _minimized_. | ilikehurdles wrote: | I really hope the hn trend of being reactionarily resistant | against everything that isn't a postgresql monolith would stop. | nlitened wrote: | What if a typical bank usually has 20 times more LoC and 5x | more developers? | puredanger wrote: | Edward Wible, CTO at Nubank, actually makes this comparison to | other banks (and how small it is) at | https://www.youtube.com/watch?v=2cYYwxgaxB0 (in the first few | minutes). | clj_throwaway wrote: | Throwaway account, for obvious reasons. | | This is great for nubank, but how is this supposed to work for | other users of Clojure and Datomic? Who is really going to be | interested in building on top of tech owned by a (new, unknown, | regional) bank? | | Someone said that this is just like Amazon (who would build on | top of tech from a bookstore??), but I hope it's obvious the two | situations are very different. | | I expect that I'll have to be looking for a new job in a year's | time :-( | myth_drannon wrote: | Is it better to be owned by an adtech company (React, Angular, | Go)? | clj_throwaway wrote: | If you asked me that 15 years ago, I'd say "no". In | hindsight, it sort of makes sense given their objective of | increasing time spent online and the quality of the | experience. | | The proposition here is that nubank will be the first bank to | successfully turn into a software vendor. Maybe my worries | will be nothing in 10 years, but no one can say its an | obvious outcome. | myth_drannon wrote: | Bloomberg and Jane street (not banks but still finance). | They don't own OCaml but are heavily involved in its | development. | lvh wrote: | Nubank already ships software, Cognitect is already a | healthy consultancy, no particular reason to kill either | one. Surely we can agree that banks also care about good | UX? Nubank in particular is known for it. | | (I appreciate that you may not have heard of Nubank but I | don't think calling them "unknown" is fair. They have | attracted a literal billion in funding in a little over a | year. They have over 10 million users.) | [deleted] | puredanger wrote: | Per https://building.nubank.com.br/welcoming-cognitect-nubank/, | "Nubank does not own Clojure, just as Cognitect never owned | Clojure. Nubank will take over Cognitect's role as a corporate | sponsor for Clojure, funding the core development effort". | clj_throwaway wrote: | Outside of the license, OF COURSE Relevance, then Cognitect, | now nubank owns clojure, in every other way that matters. | | Now do datomic :-) | dragandj wrote: | I am pretty sure that whoever owns Cognitect is in no | position to boss Rich around regarding Clojure. Besides, | Clojure is rather simple and stable. No need to change it | dramatically... | ilikehurdles wrote: | Nubank is a company valued at over $10 billion, with investing | from major Silicon Valley firms. It is not unknown to millions | of people, and is expanding internationally so I don't think | they'll be regional much longer. Clojure and datomic being such | a good fit for their tech stack of hundreds of microservices | and thousands of databases should really encourage people to | use clojure like Erlang's history in telecommunications | encouraged people to adopt Elixir. | xmlblog wrote: | > Who is really going to be interested in building on top of | tech owned by a (new, unknown, regional) bank? | | As opposed to building on top of tech "owned" by a small | software consultancy? Perhaps I simply lack imagination, but | how is this worse? | clj_throwaway wrote: | We all know the history of acquihires. Key tech and products | inevitably are swallowed, never seen outside again. | | Besides that, datomic really is a great solution for banks | and fintech....are other firms like that going to buy from | another bank, maybe a competitor? | mr_custard wrote: | A lot of people don't seem to mind building on top of tech | owned and developed by a telecommunications company - Erlang. | clj_throwaway wrote: | Yep, telecomms and banks, very similar dynamics and | incentives /s | [deleted] | kgwgk wrote: | In what relevant way are they different? (I find that your | comment has more sense without the /s tag) | monsieurbanana wrote: | Yes? What incentive exactly are you implying banks have | that make them less suitable than other mega-corporations | for the purposes of developing a programming language? | clj_throwaway wrote: | Banks and fintech often view their in-house tech as | competitive advantages, and they usually don't care a | whit about building cred in dev communities (a common | reason why projects are OSS in the first place, to drive | recruitment or promote a complimentary platform). | | A good outcome isn't impossible, but it might be | unprecedented | kgwgk wrote: | And telecommunications companies don't see their | technology as a competitive advantage? | ilikehurdles wrote: | Nubank has presented their tech several times at a number | of conferences and I believe they often sponsor those | conferences. It's not a traditional bank, like Airbnb is | not a traditional travel agency, and Amazon is not a | traditional bookstore. This is not your local | neighborhood credit union or ancient behemoth running | COBOL mainframes. | lvh wrote: | Rich Hickey literally bet his retirement savings on | making Clojure, and owns all the IP. It seems unlikely | he's just going to let them smother it. | kgraves wrote: | what does this mean for the future of clojure? | | I am a bit worried that a startup has acquired two companies that | have extremely deep experience in specialised languages | Platformatec (Elixir) and now Clojure (Cognitect) | draven wrote: | The answer is in the blog post ("Nubank understands the unique | value of Clojure and Datomic, and is committed to continuing | both without disruption." and the bullet points that follow.) | thom wrote: | That's what they _say_, it's not necessarily the answer to | the question. | ilikehurdles wrote: | Well then what would you prefer the answer to be instead? | thom wrote: | "Nobody knows" | halostatue wrote: | The acquisition of Plataformatec will have almost no impact on | Elixir, as Jose Valim had already moved to/created a new firm, | Dashbit. | dkersten wrote: | It sounds like not much will change. | | I do wonder about datomic, though, as people I've spoken to at | Clojure conferences seem to have made use of Cognitect's | consulting as a kind of more advanced support mechanism and | they say that they will stop the consulting work. | stuarthalloway wrote: | All Datomic consulting will continue. | nojito wrote: | It says this in your post. | | Cognitect will continue to offer professional services for | Datomic customers, _but will transition out of general | consulting development._ | | Does this mean your general consulting services are going | away? | [deleted] | mark_l_watson wrote: | I friend of mine hired the principles at Cognitect to | kick off a Clojure/Datomic project. They were like a | force of nature, really, and very quickly got things set | up and helped with architectural decisions, etc. I would | imagine that they have helped hundreds of customers this | way. | | From the blog post, I think that the answer to your | question is yes: they will stop general consulting | services. | randompwd wrote: | Here's hoping they release a getting started project now | that they've dipped out of general consulting.There must | have been a standard-ish template in use. | dkersten wrote: | Great, so it sounds like not much will change for external | users of Clojure and Datomic. Sounds like the the biggest | change is in terms of funding. | | Sounds good to me, congratulations! | | EDIT: I guess my confusion was between _professional | services for Datomic_ and _general consulting_ , since both | were mentioned in the context of Datomic. | michel_dib wrote: | Disclaimer: I am a Nubank employee, so there might be bias. | | Regarding the future of Clojure, I believe that not much will | change actually. Before Clojure was sponsored by Cognitect and | had Rich's / Stu's and Alex's stewardship and that's gonna | continue to be the case just swapping the sponsoring company | behind it. IMHO it's only on Nubank's best interest to have a | strong community around Clojure and Datomic as well. | | About Platformatec I think that was a very different thing, it | was more an acqui-hiring, and before Elxir's stewardship was | under the company (but having very different development | dynamics compared to Clojure) and after the agreement, it was | transferred to the community. So the company was pretty much | dissolved after the contract, and back then, that was clear and | transparent, as it was announced to happen. | [deleted] | kamaal wrote: | I think the history of large companies hiring | maintainers/authors of programming languages/libraries they use | has so far gone good. | | Take for example php, perl(booking.com, bbc, craigslist), js(fb | etc). | | The language needs to be supported financially though. | Companies are not living beings, typically its some SVP making | decisions. Sometimes they do support, but sometimes big shots | do feel programmers are spending too much time working for | greater good, while they should be working for company profits. | | So it depends on the bosses you report to. There is no easy | answer to this question, because many times it just comes to | down to one person making decisions. | regularfry wrote: | What would somewhat worry me somewhat is what the situation | would be if Nubank went pop, and Cognitect were no longer in a | position to step back in as sponsors. | fulafel wrote: | Would Nubank be still considered a startup? | ramon wrote: | Nubank is one of the biggest startups in Brazil and I am a Nubank | customer and I must say they have the best service available. | Treating customers as customers. | afefers wrote: | The customer support is the best! No waiting, no pre-recorded | messages, no muzak, no menu. A real person picks the phone and | talks to you. Oh and the app is a delight! ___________________________________________________________________ (page generated 2020-07-23 23:00 UTC)