Despite all of that, I think engineers are underpaid in Europe (and presumably East Asia).
I just left a job at a major bank where all the non-engineer roles got paid, or at least could be paid more than I got. There were 5 pay scales for engineers, the top 2 of which weren't even being used. I got there from a freelance contract, and I had to take a serious pay cut to continue working on the project. It was a really cool project, which I wrote the initial prototype for, and guided a growing team in its development, and I accepted the pay cut because I loved the project so much, but a year later I left to go back to freelancing. I think that's the only way to get paid your worth here. Meanwhile the company is wondering why they can't retain senior engineers. If I wanted to be paid more, I'd have to take on more organisational duties outside my team, and I just wasn't interested in that, so I left. For an interesting freelance project that pays even more than that bank paid me when I freelanced for them.
It doesn't have to be 6 figures, but I think senior software engineers absolutely should be getting manager-level salaries, without having to dilute their technical focus by taking on other responsibilities.
In banks the technical people are, in my experience, always second class citizens. They are expected to shut up and do what the business people tell them to do. They are not really responsible for anything or making decisions and are paid accordingly. The best paid technical people in banks are not people who are working on some cutting edge technology developing new stuff, but people who happen to be the only ones who know how to maintain some piece of god awful critical legacy infrastructure. This is also the reason why the banking technology develops so slowly and why the infrastructure in banks suck so much.
Technical people are responsible for building and maintaining all the systems that handle the stuff that the business want done. And I also told business people what they should be doing. Seeing banks as a non-tech industry is a mistake in my opinion, and many banks do seem to agree that they should be a tech company. Many are active in tech communities, organise tech related events, and really seem to care about tech. And yet, tech salaries seem to be lagging.
Worked in several banks. "We are not bank, we are tech company with bank department" - was mentioned occasionally in each of them. What was also common - red tape, outdated software (tools, libraries, frameworks), restricted access to workstation, processes focused around pushing approvals around (instead of automation). That's why my response to "we are not a bank" sentiment above is "it's a bank, alright".
Saying that they are a tech company is popular amongst the big banks these days. Technically that's true - they (and most businesses these days) are driven by tech and would fall apart without it. But tech is most definitely a cost center entity at such firms and tech employees likewise treated as second class citizen. As my old engineering manager at a bank told us - "if a trader tells you to jump and dance like a monkey, you jump and dance like a monkey".
I've heard Goldman Sachs has attempted to make some strides in running their Marcus product more like a Silicon Valley tech company (within reason). But I've also heard that ultimately that it too fell prey to the burden of the old conservative bank culture. A friend who worked there until recently told me not to fall for the glitzy marketing, and that it was just all more of the same. Would be interested what someone who is actually working there now has to say, esp. someone that has worked in both SV tech companies and Goldman to compare.
Banks definitely should be tech companies, and understand and embrace the important of tech for their business. But you're absolutely right; the banks where I worked definitely tried to be technologically progressive (sometimes even a bit too much in my opinion[0]), but it was undeniable that much of the company was slow and bureaucratic, and despite all the "empowering developers", we often got stupid decisions handed down to deal with. Often they were aware of the stupidity, but changing something was still a very slow process.
At one bank, I was in a team that straddled the line between the international and domestic sections of the bank, which used to be more independent from each other, but we had to deal with both. Getting a simple firewall opened up between two systems on either side took 6 months.
[0] One bank that arguably took the tech company most seriously, wanted to be a bit too much on the cutting edge in my opinion. They were very active in the Angular community, which was absolutely great, but they also wanted to do CICD, which just didn't fit with all the security checks necessary at a bank. Parts were moving very fast, and parts were moving very slowly.
At that same bank, we also had a very clear mandate that we could say no to business. At some point, after we felt we put too much in production in rapid succession with insufficient testing, we had to block a next thing that a business guy really wanted to see in production. Really pissed him off, and he threw a tantrum I hadn't seen before or since at any workplace, but we insisted and our manager backed us up, so that was definitely good.
Having worked in a fintech D2C app, the distinction I drew was that there were 2 'products'
- the financial product i.e getting 4% return on your money
- the digital product i.e the app
The 1st was the real product, the 2nd the nice-to-have
Obviously core tech in banking is infinitely more critical than an app but the point is the same; the tech in banks, unless its 'quant', HFT or ML is not the money maker and therefore won't be paid as such
The app that people use to access their money is absolutely core tech. If the payment infrastructure goes down (or worse: is buggy), that's a massive problem. Banks that don't consider this core aren't keeping up.
The thing is, while reliability of payment infrastructure matters, the UX and convenience of it does not as much - "everyday services" are not the core business of the banks (for ordinary individuals, mortgages and consumer loans is, for high net value, investments), they are pretty much a loss-leader that needs to exist but it's neither a major revenue maker nor a determining factor for customers - e.g. they will shop around for the mortagage, and if they get a good deal, they'll switch to another bank without even looking at how convenient their apps are.
Yes, there are some consumers for whom those everyday services are everything and they'll go to some 'app only' bank that does that well and without excessive fees. From the point of a traditional bank, that's not a problem, good riddance - if they don't use other products and aren't willing to pay excessive fees for everyday things, there's no money in having them as customers, and when they'll want to do something profitable (e.g. take a mortgage) they'll come back from that app-only bank as that product (the financial product, not the tech product) is actually competitive.
Note: this is from an EU viewpoint. USA may have a bit different perspective as the regulations there allow quite a lot revenue streams (e.g. bounced check fees) from people with no money and no other products, in EU much of exploitative payment practices have become restricted, so these customers simply become unprofitable and not really desired, the main value of "having them" is that this might help you sell profitable products to them later when they have more money and/or more plans for credit.
Many of our customers didn’t even use the app. They could phone up and get someone to do every action for them. If your product can operate without the app then the app is secondary
Financial transactions by phone? To me, that sounds inefficient, expensive, error prone and insecure. All banks I know provide an app and a website to their users. Having to talk to a person to handle your money is something from the 1980s.
Of course for very specific high-value transactions, it may be useful to talk to someone, especially when it's something that also involves advice, but most people only do that kind of thing two times in their life: for mortgage and pension.
Modern banking does not function without the app (be it web or mobile).
Agree. They didn't get the memo yet that tech rules the world. These companies are very traditional. Top-heavy, where finance, purchasing and sales dominate the company. That's where all the hot shots are and the big salaries.
Meanwhile, IT is an internal "cost centre", a necessary evil, a bunch of resources preferably outsourced.
Slightly off-topic questions, because I've been thinking about freelancing lately:
- Where/how do you (as a freelancer) find your clients? (Do you focus on clients from the financial industry?)
- Where are those clients from (location-wise)?
- Do you work remotely? If yes, does your timezone need to match your client's timezone? Put differently: How flexible are you when it comes to working hours?
In Toronto, Canada, freelancing or contracting is a way to pay senior engineers more than the company's standard fixed pay bands. The FTE pay brackets aren't great and we have a great public health care system so there's not much advantage to benefits packages.
Contractors are paid from the project budget (capex) and often don't have to go through the central HR department which allows projects to pay what they need to in order to attract the right people. We typically work alongside FTEs but we get "rolled off" projects as they ramp down at the end whereas the FTEs either stay on or get reassigned within the company.
For me, contracts typically last 1-3 years.
- I find my clients through my network of people I've worked with in the past
- My clients are usually based in Toronto like me
- I've been 100% remote since March 2020.
With respect to remote, my current client is trying to get people back to the office in a hybrid model. If they force it then I'll probably look elsewhere.
It's a bit embarrassing perhaps, but I don't actually look much for clients. Recruitment agencies find me on LinkedIn and contact me about projects they're trying to fill. Doing my own acquisition would be a lot of extra work, and I'm not convinced I could do it better than these recruiters, so I just sit here and let them contact me.
My projects tend to be 1-2 years where I'm part of a team working on the same thing. A single client at a time.
My clients are mostly from Amsterdam, where I live. I want to be able to bike to work. Well, normally; these days I work from home, but we're in the same timezone and I work normal working hours.
I just left a job at a major bank where all the non-engineer roles got paid, or at least could be paid more than I got. There were 5 pay scales for engineers, the top 2 of which weren't even being used. I got there from a freelance contract, and I had to take a serious pay cut to continue working on the project. It was a really cool project, which I wrote the initial prototype for, and guided a growing team in its development, and I accepted the pay cut because I loved the project so much, but a year later I left to go back to freelancing. I think that's the only way to get paid your worth here. Meanwhile the company is wondering why they can't retain senior engineers. If I wanted to be paid more, I'd have to take on more organisational duties outside my team, and I just wasn't interested in that, so I left. For an interesting freelance project that pays even more than that bank paid me when I freelanced for them.
It doesn't have to be 6 figures, but I think senior software engineers absolutely should be getting manager-level salaries, without having to dilute their technical focus by taking on other responsibilities.