These days I am debating between pure research (think research in an University) and R&D (think research in industry). If a reader is also debating between the two, or just generally curious about research, then you might be interested.
In the past I have always love to have a research job at industry because I though the two roles are pretty similar except the "buzz" around companies are much higher: you heard about OpenAI's agents beating human performance but you might not even heard about UNet although it is literally everywhere. As well as some obvious reason: companies have more real problems, more data, more compute, and more funding. So, up until last week, I strongly preferred research in industry than research in academia.
But I think having art in my major let me discovered (if not changed me) my interests of making something useless. I discovered that if somebody offer me a boring job just to copy other people's work without generating some novelty, I would immediately reject the job offer (which is why I hate SDE). And I do somewhat enjoy making something that is novel but useless in real life. You get to explore those weird problems that can only exist within your imagination: something a mathematician would do. These appreciation of hard problem, beautiful formula is very prevalent in functional programming and formal verification. I guess anybody who enjoy theoretical physics would also appreciate this kind of novelty for novelty's sake (art for art's sake). Things I can't see directly (quantum behaviors, dark matter) appears way more interesting than things I can see. A one sentence summary might be: I am born to discover.
Algorithm: discover new algorithm
Making novelty that works is difficult. Once you find a problem that is worth solving (different standard of "worth" for industry and academia though), then you should start look for methods. At least to me, it never happened to be the other way around (ie. looking for a problem with your hammer already at your hand), especially for beginners when you don't have many "hammers" already. There are two reasons: (1) actually having deep understanding of a problem takes time and efforts; (2) survival bias: papers don't typically show you negative results. Since publications need strong theoretical foundations before making conclusions, communication of fundamental insights that is not 100% proven is rare in papers. Therefore it is sometimes up to the readers to discover trends and "research intuition" by reading many quality works and running experiments themselves.
If one look for problem with hammers already at hands, one might discover that the tool might produce little to no improvement and at some significant cost of other aspect. In many field that is not pure math, understanding the problem means taken account into computation power, time, resolution, accuracy, project complexity, and many other limits to the current technology.
Exceptions: when you walk into a PhD student not in your area of research (say quantum circuit synthesis) and he shows you his past failed project, you can immediately think of one improvement from your own area of research that is never used in PhD student's area.
You can't be born to discover unless you have a proper way to feed yourself. That also depend on your family situration.
Things to cover:
choosing professor (well known is good for academy, but less effective for industry)
ranked todo list
don't make everything before evaluate
don't care about code quality
Table of Content