
Ask HN: Why does software development suck so much in finance? - superhater
I&#x27;ve been working as a dev at a hedge fund for less than a year and I just can&#x27;t believe how awful it is:<p>- all I do is operate and maintain hacky old ETL jobs<p>- I spend hours and sometimes days editing databases and config files<p>- there are no best practices<p>- issues are swept under the rug or just passed around the team until people forget about them<p>- my manager is a manger because he&#x27;s the only person that hasn&#x27;t left the team over the years<p>- everybody has an opinion on everything even though they have zero proven experience on the subject<p>- people are not focused at all<p>- people don&#x27;t grow, they just get comfortable and complacent<p>- it&#x27;s like a 9 to 5 except that you&#x27;re supposed to work for 10 hours a day<p>and the list goes on..<p>This is my first full time job so I&#x27;m super confused. Is this how all tech jobs in finance are? Why? What&#x27;s your experience as a dev in finance?
======
badpun
IMO, the issue is that finance industry is:

(1) flush with cash,

(2) not really understanding tech, or wanting to.

Being flush with cash means that they can tolerate tons of inefficiencies.
That's how you end up with low performers and wankers everywhere. Not wanting
to understand tech, just focusing on end result, means that the difficulty of
tech is underappreciated, best practices are often not followed, developers
are treated like cattle instead of valueable contributors etc. There's plenty
of issues really. Not to mention that finance it is more ok (than in other
fields) to have Trump-style "aggressive" personality, that is in essence anti-
intellectual and is super counterproductive for working on complex problems.
My advice is to avoid finance (maybe insurance is better, I've never worked
there) unless you just want to suffer for a couple years and stuff your
mattress with money.

------
elamje
I would imagine this is what it's like to work at any organization where
developers are second class citizens.

I work in Tax Accounting and it is similar, because teams are minimal, and the
applications and processes only support the 1st class people at the firm.

I would imagine quant hedge funds and market makers like Citadel have a
developer culture that is much better. Of course, this is just a guess. Anyone
have comments from the quant, HFT side of things?

~~~
superhater
Small note: my company is a quant hedge fund, where all researchers are
technical.

------
dumbmatter
Alternative title: Why does software development suck so much in _______?

~~~
muffa
I was thinking exactly the same! The bullets he listed, I recognize every
single one of them and I work for a self-driving car company.

------
fpalmans
The issue is not that software development in finance in sucks, this
particular job is likely not a good fit for you.

Now, as you said, this is your first full time job. My first full time job
after college was also in development, for a military subcontractor of all
places. And I hated every second of it. We had floating hours, which we could
use to build up overtime to take additional days off. After about 9 months,
when I finally quit, I had accrued negative 90 hours (over two weeks of work I
had missed)!

Sometimes it is not a good fit. It can be the environment, your colleagues,
the actual job, or even the industry. In stead of droning on here, maybe you
can start looking for what would make you happy professionally?

------
ltr_
All my dev life was in finance, they don't give a shit about how its done,
they just throw money at the problem until its finished. your boss and your
boss's bosses are just worried about making their bosses happy. Another thing
that happens a lot: here it comes the big tech company sales man with swag,
hookers and travel tickets to their next conference in the most exiting city
in the world, the guy in charge will buy any tech from them. and most of the
time is pure crap.

------
osullivj
You're working for a small buy side firm, which is quite different than large
sell side institutions like JPMorgan, BoA, Citi, GS, Deutsche, UBS, HSBC etc.
The big sell side broker dealers have big staff, lots of bureaucratic rules
and process, and better defined career paths. But they are still be
frustrating environments. In my experience retail banking is similar...

------
lostsoul8282
Also because their core business is not a technology anyone who is not in
finance is treated like a commodity. I suspect this is true of tech firms
treating their finance folks also. Generally, the firms where you are directly
attributed to their revenue is where you'll be treated the best.

------
ryansmccoy
Hey super, I consult with hedge funds to fix this type of behavior. send me an
email, maybe I can help you fix your situation: hn (at) gotem.co

------
tmaly
I have done a lot of similar work over the years in Finance.

I took the glass half full approach and looked for ways to automate things and
apply Pareto's law.

Creating good documentation of the processes or even designing the operational
processes is extremely useful if you are on boarding new developers or if your
taking a long vacation. And if you do hire a new team member, you can assign
them some of the stuff and you already have the training built.

This xkcd has also been helpful

[https://xkcd.com/1205/](https://xkcd.com/1205/)

~~~
hhs
That's a useful solution - "looked for ways to automate things and apply
Pareto's law". If you're starting early in your coding/development career,
what other skills would you work on?

~~~
tmaly
Good communication skills and dealing with people. Good writing skills.

Make it a habit to write clean code and practice something like test driven
development.

I still have code that has been running for 14 years. If you don’t put effort
into making your code easy to read and maintain then your in for a world of
hurt.

~~~
hhs
Interesting, this is very helpful. I like your points. And I'll be sure to
work on "test driven development" as I learn more about coding and software
development, thank you!

------
qualsiasi
Don't forget the mighty spreadsheets, the only software deemed as useful in
finance :)

~~~
superhater
I've heard legends about entire ETL processes being coded in Excel, but I
haven't encountered them (yet).

~~~
qualsiasi
I have, multiple times but in the same company so let’s count as one. VBA is
still a thing in banking/insurance and big consulting players are still
selling VBA projects and/or XLLs in this world

------
ruri
Assuming you are in a relative large company.

and the issue is not only inside finance company

~~~
superhater
Nope, the company has < 300 employees in total and < 100 working in
technology.

------
repolfx
I've worked in finance and at a big tech firm (the BTF). Here's how it breaks
down.

Firstly, you say this is your first full time job. There are some things in
your list that are just life, buddy:

• Everyone has an opinion on everything despite zero experience

• People get comfortable and complacent

• People aren't focused

Show me a profitable, stable company where these things _aren 't_ true! Don't
assume this is finance specific: I saw tons of unfocused, comfortable,
complacent people with strong opinions on everything at the BTF.

Don't blame them. You'll be like that one day too, and it's not even a bad
thing. People get older, they get married, buy a house, have kids. That in
turn makes them more risk averse because the cost of losing your job is
higher, so why take chances and rock the boat? Hungry youngsters might be
willing to do whatever it takes to achieve career growth but they were like
that once too. Corollary: a highly experienced engineer in his late 40s
without kids, a wife or a mortgage is a terrifyingly productive thing to
behold. Rare, but often found in CEO or CTO positions. As having a spouse and
children is no bad thing, don't resent them for it.

Some things are more finance specific:

• There are no best practices

• Meant to work 10 hours a day

• Hacky old ETL jobs

Oh, though I hate to say it, but I had to spend lots of time pissing around
with config files and editing databases when I was at the BTF too. Config
files and databases are just a part of life even if you're a programmer.

Finance is very heavy on long work hours, not because it actually needs them
but because ultimately all developers report to people who are not developers.
Virtually nobody in finance or indeed most industries has to really think or
concentrate hard for long periods in their work. Even traders in intense
conditions may be trading largely on intuition and gut instinct. Also they
don't tend to be able to automate their own work well. As a consequence more
hours = more money is somewhat true for them, however for developers you
quickly reach your mental limit beyond which the mind breaks. For me it's
about 8-9 hours of solid coding, and that's in excellent conditions after a
great night of sleep and completely without interruptions. Beyond that it's
pointless and it used to be less. I've found finance types fundamentally _do
not understand this_. To them working normal office hours just looks like
complacency, lazyness, not being a part of the team etc, which they cannot
abide (inter-personal loyalty being a huge part of the culture in finance vs
nearly non-existent in software).

As for "no best practices". Two things to understand here:

1\. Best practices are overrated. You can s/best practice/groupthink/ quite
safely at least some of the time. The BTF routinely violated what many people
think of as "best practices" and was hugely successful by doing so. They say
that to break the rules, first you must master them. It definitely applied
there. Given that this is your first full time job, _be careful of sponging up
anything you find labelled as a best practice and looking like an idiot in
front of your more experienced colleagues_. That said ...

2\. Finance firms in particular can suffer from low professional standards
because the people who run them can't tell the difference between skilled and
unskilled tech workers, which means they can't reliably hire skilled
developers. Whether they get them or not is largely a matter of luck. In fact
they often struggle to understand that there is even such a thing as skilled
vs unskilled developers, hence the frequency of outsourcing it all to India!
Moreover many _developers themselves_ don't understand how to hire good
developers. So building a team of competent professionals that can self-
replicate over time is largely a matter of luck. In the tech industry
companies are founded by software engineers so hiring standards are imposed by
the CEO downwards, and as founder CEOs tend to stick around for a long time
when successful good hiring practices become embedded.

There is some good news!

Firstly, if you actually _are_ really good at what you do, get on reasonably
well with business-side folks and have a track record of delivering good
stuff, you are gold to them and can practically name your price. They tend to
treat you very well indeed pay-wise, because they know that they would have no
chance to reliably replace you if you left. But for this to work you need to
learn about their world, how the business operates so you can talk to them in
their language.

Secondly, finance is a big industry, and there are places doing pretty
advanced and cool stuff.

Thirdly, as a developer you can easily move into other industries if you want.
But be warned: you'll see the same issues everywhere unless you join a BTF -
the culture will only be significantly different if everyone in your
management chain is a developer themselves, right up to the CEO and board.

~~~
crazypyro
>the culture will only be significantly different if everyone in your
management chain is a developer themselves, right up to the CEO and board.

Couldn't agree with this more. At my current company, the COO and CTO are both
developers, although the COO doesn't code anymore. The CTO is basically the
most senior developer and developed the core solutions at the company. I
mainly joined the company because I was able to talk to those two (along with
my direct management) and I was extremely impressed in the interview phase at
their (apparent) ability to maintain development skills and hold a
conversation about weedy topics while also being at a 10,000 foot executive.

I could say more, but it'd probably give away my job. Basically, you can
definitely find some "finance" companies where the at least the technical
operations are run by devs/former devs.

