I’m a front-end software engineer at Acorns. Before that, I worked as a full-stack software engineer at Glidewell. I personally really love what I do. I love solving problems, and I could see myself doing this for a long time.
You’ll spend 8 to 12 hours a day on the computer. Eat lots of carrots, guys, because this can’t be good for your eyes.
You spend many hours in solitary, not talking to others. Ok it’s not as serious as being locked in a small box in prison, but it is easily 3-6 hours a day where it’s just you and your computer, pumping out work and possibly not interacting with others.
You’re expected to be on call always if you’re app crashes, whether that is days, nights, or weekends. Fortunately for me at Acorns, that doesn’t happen very often. However, besides building software, many software developers also get assigned to maintain software written in older technology. If you get stuck on a “legacy app,” synonymous with an old or outdated piece of software, then you will be called a lot more often.
You learn a lot on your own time. I’ve spent many hours of my own time going through Udemy courses on React, Angular, Node, GraphQL, data structures, AWS services, and many more topics. This does cut into your work/life balance, but it’s really hard to be on top of your game without being well-read or informed on technical topics relevant to work. Furthermore, packages, languages, and code are being updated regularly, so there are always new things to learn.
You will be assigned many things that you don’t know how to do, and you are expected to figure it out. There are lots of features or bugs that I get assigned that I don’t know how to do, or I don’t know why it doesn’t work. What do you do in that case? You’re expected to just figure it out! This could be through Google, Slack Overflow (forum to ask technical questions), reading documentation, or asking someone more experienced than you. I would say I google search work things that I don’t know 5 days out of 5 days of my work week. You have to be comfortable with being uncomfortable and not knowing, and learn how to be confident in yourself to figure it out.
Pros of Being a Software Developer
Despite some crappy things, I love my job, and I love what I do. Some great perks of being a software developer are:
You get to constantly learn. If you’re someone that gets easily bored, like me, it’s important to be in an industry where you get the opportunity to be continuously engaged.
At a lot of work places, you do get to dress casually, like coming to work in jeans, a t-shirt, and sneakers.
It’s a job that tends to have a flexible schedule (I know at Acorns, they care that I make all my meetings and get my work done, but when I start and finish is really up to me).
With just a laptop, companies often allow you to work from home as needed or even full-time.
It pays well, really well. I think in Southern CA, as a software engineer, you can easily be paid between $60,000/year to $150,000/year. (Sometimes I wonder if we get overpaid, but I won’t be telling my manager that.)
When people ask you what you do, and you say “software engineer,” they do a double take like “alright you’re cool.”