This page is meant as a help for students, particularly PhD students in their first or second year, with some advice that I collected during my PhD and job in tech.
Much of this might sound obvious, but I hope you'll find something useful, and if so, feel free to share.
No AI was used for this content. For comments, feedback or questions, please reach out on LinkedIn. First published on 07/15/2025, latest update on 07/31/2025.
Useful guidelines
Occam's Razor - when in doubt go for the simpler answer that explains the evidence
Ahmdal's Law - focus on improving whatever takes the most resources
Pareto's Principle - 80% of work goes into 20% of results
Feynman's Learning - learn new topics quickly with efficient iterations
Dijkstra's Rules - use structured programming and keep code clean
Moore's Law - make sure what you do is scalable
General PhD/Research/Career tips
Read as much as you can, take notes, make summaries, compile tables, draw flow diagrams, etc.
PhD gives high flexibility in choosing research projects. Part of the job is to have fresh unbiased ideas, and this is a capability that can thin over time as experience builds up. Lack of research experience is paradoxically an asset at the beginning of a PhD.
Keep a journal and log progress diligently, date every step.
Keep a TODO list, review it hourly/daily. This helps with context switching while working.
Make a list of goals for the day every morning, check them out when done.
Manage time wisely. Make lists, schedules, plan, organize. Review/update plans often.
Do not be afraid to ask questions.
Let results speak.
Communicate work with intuitive explanations and representative examples, rather than cumbersome math, wordy explanations, or overdetailed diagrams.
Before starting any experiment, define setup and baseline carefully.
Measure research progress with clear and interpretable metrics.
Make protocols for recurring tasks, for example, reading a paper, making a presentation, setting up a new experiment.
Take care of physical and mental health, allow time off.
Have a website, sort of an online resume that is easy to share.
Express research contributions in a succinct yet effective manner.
In research posing the right questions is often more important than finding the right answers.
Be scientific and transparent.
Try to avoid AI and in case highlight the fact that the work does not use AI. By AI I mean generative LLMs and such.
Take a look at the concept of "Research Funnel Approach".
Everything produced, like notes, papers, presentations, graphs, is first and foremost a deliverable to one's future self. Deliver them quality stuff.
Prioritize, and learn to recognize quickly what does not deserve time and attention. For example, do not read a whole paper if the abstract or intro are badly written, discard as early as possible, and focus on top-tier conferences and journals. Aim for that level of quality.
Sometimes it is useful to think about oneself as an independent tech/research consultant, and about advisor/colleagues as customers. The goal is not only to deliver great research, reproducible results and quality documentation, but also to develop compelling selling points.
Cultivate presentation skills, for example, no "uhm" or other fillers, look audience in the eyes, confident body language, avoid saying "does it make sense?", instead say "any questions?", tune the presentation to the target audience, speak slowly, loud and clear without stuttering, practice while timing often, improve English pronunciation if you like me are not a native speaker.
When preparing a document or a presentation, I find it often useful to think about it in terms of signal-to-noise ratio. The goal is to maximize the signal, such as the information contained in words/figures, while reducing the noise, such as removing fancy colors, extra details, redundant sentences, filler words.
In scientific/technical writing it is better to use short sentences and use as fewer words as possible to express a concept, again, improve signal and reduce noise.
Make sure technical words have a very clear meaning, and make sure to use the same word when warranted rather than a synonym. A paper should somewhat look like a good piece of code, where variable names are well defined, function calls are well-defined, functionality is well-compartmentalized and self-evident, connections between different components are very clear.
Avoid using "to the best of our knowledge".
Learn Latex and use Overleaf for papers.
Learn Linux, Git, Python, C, and use debuggers.
Slides are very common. Do not make many slides, instead, make "great" slides, for example, little/no animations, no overlapping elements, no/little math, intuitive explanations, "a figure is worth 1000 words", ordered and non-crammed appearance, but also not too much empty space, no/little bright colors, do not use too many colors and make sure they have some meaning (for example red=bad, green=good, blue=important), keep font size and style consistent, use sans-serif fonts, use the lab/company official template, make paper-ready quality figures, keep self-contained information in each slide.
Explain and be ready to answer questions on anything that is on slides and papers.
Try to use csv/text files and Python for analysis and plotting. Write reusable code, in object-oriented style.
Prototype code should be self-evident, human-readable and interpretable, with as fewer comments as possible.
Write well-formatted file names for results, in a way that makes it easy to retrieve information, aggregate, analyze, plot, for example "results_simulation_seed_5_threshold_1_date/time". Include experimental parameters in the name, use underscores instead of white spaces. Include time/date to not overwrite existing results. But then, don't make names too long or the OS might start complaining.
Make backups often.
Never have water/coffee/etc. on the same desk as laptop or notes, even if it's a closed bottle.
Take great care of university/personal documentation, always in order, well labeled, kept as a treasure.
Pets make great research assistants. They can keep one grounded and focused.
PhD can be a competitive environment. Respect yourself and be compassionate like for a dear friend or family member.
Suggestions for effective and efficient reading/learning
Divide and conquer: Divide problems into subproblems, clarify connections between the subproblems, then take subproblems down one at a time.
Grab a colleague: After a first reading, try to explain what you understood to a colleague who does not know about the topic. Iterate.
Establish your own deliverables and deadlines: Deliverables could be notes, an essay, a presentation, technical reports, code packages, etc. Think about deliverables as something that you are preparing for someone else's consumption, for example, a presentation for lab mates to educate them about a recent ML article. Deadlines should be ambitious, yet realistic. If deadlines are tight, it is usually either time/energy management was not great, or the prediction of time/energy needed to complete the task was not accurate. In either case, it is an opportunity to adjust future deadlines.
Fill the holes: When studying material and coming across some new concept, allocate time to study and familiarize with it. Then re-read the material in light of this new understanding.
Plan: Consider the total amount of stuff to study and the total time available. Divide work in tasks and allocate fairly and realistically those tasks in each day. Review periodically the tasks from days before. Avoid fast context switching and allocate time for sleep & recharging as well.
Efficiency vs effectiveness
Efficiency = doing things right
Effectiveness = doing the right things
Technical interview
Examples of HR questions
Tell me about yourself
What do you know about us?
Why do you want to work here?
What are your strengths/weaknesses?
What is the hardest thing you've had to do during your career?
What are your aspirations and ambitions?
Qualities that companies look for
Good communication skills (confident but not arrogant)
Collaborative, sociable and positive
Able to prioritize and organize work
Problem solving skills
Quick learner
"Down to earth" attitude
Extensive and quality technical knowledge
General interview tips
Be enthusiastic, but not too much
Show a willingness to learn and contribute
Be kind, but also direct and straightforward
In case they ask
Think of 4 things you can offer the company
Think of 4 things they can offer you
Want to do good in academia or industry?
1 - Record and present quality results
2 - Attend meetings
3 - Treat everyone with respect
1 - What it means
a) Results are easily reproducible
b) Results look good and are easy to process and understand
c) Results allow to draw clear and meaningful observations
1 - What it does not mean
a) Having lots of results
b) Use fancy coloring, visualization, animations
c) Oversell
2 - What it means
a) Be on time
b) Take quality notes
c) Answer if asked
2 - What it does not mean
a) Speak or ask every time
b) Put up with bullying
c) Getting noticed
3 - What it means
a) Be kind, clear and transparent
b) Make it easy for others to work with you
c) Help and get help when necessary
3 - What it does not mean
a) Everyone has to like you
b) Taking too much extra work
c) Anyone takes advantage