| 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. |
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.