To be frank, if my job didn’t pay what it pays and didn’t make use of a modern UI framework like React or Vue, then I would not be working here. I suspect the same from a lot of others.
Many areas of the bank are still using the bank's internal framework. In my opinion, it’s not very intuitive, is very clunky and slow, and thus difficult to develop on. Anti-patterns are found everywhere, and it all stems from their internal framework. More than that, it’s not really like anything else that a modern UI developer would already be familiar with, so those skills won’t be transferable to other jobs. Therefore, your skills will not translate to BofA’s internal stack either. I highly recommend making sure that you are working on a job that uses Vue or React so you don’t have to worry about your skills becoming useless to the market at large should you ever choose to leave.
They are not 100% work from home, even though there is no good reason for devs to work in the office. They are somewhat flexible, though; most days you’ll need to be in the office. However, if you need a day here or there per month to work at home, then you typically can.
The bank's security software is insanely strict. They have even blocked Stack Overflow, for God’s sake! I mean, WTF, right? If you are in the States, then you can still get access, but if you are not, then you absolutely will not get access to SO whatsoever on the bank's proxy server, which is very stupid in my opinion. I wish they’d get called out publicly over this and change this god-awful rule.
Documentation of internal tooling is very scarce. Even the docs to get your environment set up were “half-assed,” probably by some employees who got tired of helping everyone but didn’t have time to make proper documentation. In other areas in the bank, it only gets worse… much, much worse. This needs a drastic overhaul because it’s a freakishly easy fix.
For the reasons above, I definitely get the feeling that the software engineers are still second-class citizens at the bank, despite the fact that more and more people nowadays set up bank accounts entirely online. The feeling I get is that they aren’t interested in making top-quality products, but that they are more like, “Hey, let’s get us some of those software people to make some stuff we need to stay competitive in the digital age,” only they do slightly more than the bare minimum. That said, it’s still definitely better than most other SWE jobs simply because of the massive resources that they have. I wouldn’t worry too much about this for more than 10 years or so because Ally Financial is completely online and is now BofA’s main competitor in Charlotte, and they actually do treat their software engineers like first-class citizens, despite the fact they have far less resources than BofA at this time. Like I said, that will even out in the near future, though, especially if BofA doesn’t get on the ball and start making everything with updated UI technology.
The developer onboarding experience is terrible. Please fix it. You should have new hires monitored very closely for the first three months, regardless of their skill level with coding. There needs to be some sort of mentoring program started, too!
While you treat your programmers okay, they should probably be treated a little better because it won’t be long before having a great agile team with modern skill sets will be the difference in stock going up and stock going down. How can you do this? I’m glad you asked. Here is what I’d do.
Raise pay and smother Ally Financial out before they have a chance to grow and replace you as Charlotte’s top bank. The resources are there; you just have to want to make it happen. I’m serious as a heart attack about this too. They are a bigger threat than you think! A simple 10-20k makes the difference. You must also do the stuff listed below to beat them too though!
Either allow fully remote work or do 3 out and 2 in every week because this is another area that is now considered a mandatory perk for good-great software devs when deciding on jobs. It’s no longer just a “nice to have” type of thing.
Hurry up and get all the SWEs using Vue or React. Most modern SWEs are not interested in dealing with much else. Also, ensure that all the new features are added to the framework internally when said frameworks release them. They are free and open source, so no reason not to.
Start creating a better engineering environment that has an emphasis on high-quality products. Things like code reviews should be done MUCH more in detail. Just about anything is getting passed into your codebase at the moment with almost no regard to the quality of the code. A simple “does it work” is all most current devs care about, and that is entirely on management.
Improve the UI code further by implementing TypeScript into your code (and keep it updated). Even a little TypeScript is better than nothing. For most places, a project that doesn’t use TypeScript is just a for-fun project because it’s too easy to make mistakes in JavaScript, and TypeScript takes care of most of those problems.
Increase code quality by ensuring that unit testing is done with Jest. Ensure end-to-end testing is done by using Cypress along with Cucumber. Keep A-to-B QA testing like you have now, though, as that is a great thing to have!
Start unblocking common programming help websites like Stack Overflow for your programmers. My god, man, what were you thinking with that move? Stuff like that will cause your entire business to fall under!! Talk about not caring about your stock price… I’m sure the investors wouldn’t like that move if they understood the implications of it. Also, unblock common browser extensions that allow you to increase the quality of work done, or at least hire someone to make your own first! You are making decisions like this that are metaphorically the same as walking face-first off the edge of a building. I know you value security, and so do I, but you need to start valuing productivity a little higher than you have previously done.
That’s all I can think of for now. I’ll update and add more later if the platform allows that.
Total 3 interview rounds: 2 technical and 1 HR. Questions were asked based on collections and basic core Java. The interview was of moderate difficulty. If core Java is prepared well, you can crack this easily.
Reached out by a recruiter for one round of interview for background and experience discussion with a coding component. This was followed by a second round of interview that was a bit longer and involved talking to people closer to the role's team an
3 rounds: * 1 phone screen: General background Q&A based on the resume and spent about 30 minutes. * 1 technical interview: Mainly previous work experience and spent about 45 minutes. * 1 behavioral interview: With Sr. leadership and spent 30
Total 3 interview rounds: 2 technical and 1 HR. Questions were asked based on collections and basic core Java. The interview was of moderate difficulty. If core Java is prepared well, you can crack this easily.
Reached out by a recruiter for one round of interview for background and experience discussion with a coding component. This was followed by a second round of interview that was a bit longer and involved talking to people closer to the role's team an
3 rounds: * 1 phone screen: General background Q&A based on the resume and spent about 30 minutes. * 1 technical interview: Mainly previous work experience and spent about 45 minutes. * 1 behavioral interview: With Sr. leadership and spent 30