I've heard a lot of people complain that the traditional algorithmic interview process doesn't reflect what software engineering is actually like. But I actually love solving interview problems. Is there a field of programming that DOES resemble the very cerebral, abstract, puzzle-y nature of an algo interview, and how do I break into it? As usual, there are snowflakes below.
Generally, the more theory-based and math-y my classes have been, the more I've enjoyed them. (Some favorites include: reinforcement learning, theory of computation, data structures, algorithms.) Classes I definitely did *not* enjoy were systems classes (operating systems, computer architecture). Classes I was on the fence on were more practical, project-based classes (mobile computing).
I did an internship last summer doing mostly front-end work thinking that I liked design so I'd like front-end, but front-end engineering seemed basically like the boring side of design. I'm definitely not interested in it for full-time.
The biggest wrinkle: My academic record is... not great due to mental health reasons. Further academic study is out of the question, as is working for any company that uses GPA as a component of decision making. I recognize that this does limit my options severely straight out of college, but I'm hoping I can spend the next few years making up for it and eventually transition to a field I'd enjoy. I'm just not entirely sure how to make that transition.
Smaller wrinkle: I'm female, and would prefer to avoid the more notoriously toxic/elitist segments of the industry, or any field with a 1:100 or worse ratio of women to men. This is negotiable if the field would otherwise suit me perfectly.
I'm currently still looking for an internship for the summer, so I do have one more chance to try something new out. I'll be graduating next December. |