Pros
Writing code that handles a mind boggling amount of money and grows a company at record rates. Knowing that small adjustments I've made as feedback to requirements passed down to me have generated far more reoccurring revenue than my salary. Knowing that my code working well in production directly correlates to the success of the company. Having stock options!! Working for a successful company. Getting paid well and given as much responsibility as I accept. Being able to pick and choose pretty much any project in the pipe I want to work on at any layer, ultimately getting the experience I've always wanted in my career and dreamed about when studying computer science for all those years but always had trouble finding during the down turn. Getting experience building for scale and involved in the process of choosing and implementing new technologies to solve complicated problems with creative solutions. Having my talents shine based on my ability to execute and promoted and respected based on these accomplishments. Working with some really smart people I enjoy conversing with at work or over a happy hour beer. The upper management are super nice guys that want to create a super cool fin tech company. We have nice adjustable desks for standing or sitting, two kegs in the kitchen, a pool table, nap room, roof deck, artistic decor, ect...
Cons
Now the engineering team is much larger and more chill now but previously the work was overwhelmingly hard. Not necessarily super long hours but extremely hard hours, exhausting and challenging in different ways. Passionate people with high stress burning them out to a rage quit. Throughout the ups and downs of the long history of the engineering department the management has turned over and rebuilt many times and thus the legacy code is fragmented by these shifting priorities, resulting in a seemingly pre-mature global rewrite. It's can be challenging managing priorities and trying to optimize for business value when that means accruing more technical debt, often iterating new features quickly instead of fixing old process and bugs. Dealing with frustrations with environment issues, merge issues from extreme business pivots, and just general rapid growth chaos tech debt inefficiencies. Prosper is one of those experiences that I’ve frequently wished was over but after the dust settles I'm super proud of my work and glad I did it. I guess that could be said about anything worth doing in life...