Algo Mind
NarrativeCareer

Job Search Reflection

After several research and internship experiences, I reflect on what I'm looking for in a position: intellectual challenges, collaborative colleagues, personal growth, and real impact.

7 min read

After several successful and unsuccessful research and internship experiences, I think I want a position that has the following general features:

  1. Intellectually Challenging Problems
  2. Collaborative and Supportive Colleagues
  3. Healthy, enriched personal growth and career development
  4. Real impact on users, products, systems and companies

Problem Solving

The problems are interesting, exciting, and challenging, so that I am excited to solve them and can feel a sense of achievement for providing a solution. I am fine with open research, but I value a healthy feedback loop to narrow down the scope and refine the problems.

When it worked

I worked on an open-ended problem to build an "AI camera" for directing the game play. It involved a lot of experimentation, heuristics, and creativity. I got feedback during our daily game-playing sessions and people were always helpful.

When it didn't

I have encountered several trivial problems, or very ill-defined problems that I don't know what they are about. The manager didn't really provide constructive feedback, nor did other team members.

Collaborative Working Atmosphere

I can work collaboratively and independently. The key, however, is to have a supportive and collaborative team to work together — respectful and trustworthy, and organically combining collaborative and independent work. In such a team, I can get help from others as well as provide help to others. I feel comfortable asking and answering questions without feeling stupid or being looked down upon. This is a mutual commitment, between me and my coworkers.

Feedback is also important.

Competition is fine, but I don't want to go to a team where most people are full of a sense of competition and undermine the idea that we can make it bigger if all of us work together. Understand that the real competitors are people in other companies, not the ones who work with you and want to make things better together. If teammates always treat each other as enemies, I don't feel comfortable working with them.

Also, I want to join a team where people really care about the quality of their work and are passionate about what they are doing.

When it worked

I worked in a team where I could ask questions and my mentor always taught me patiently. Sometimes he extended more than what I asked, and directed me to more references. I was encouraged to ask questions, and I was also encouraged to search for more answers and learn more on my own before I turned to ask him. The interaction was very friendly and supportive, and I felt very comfortable discussing my new ideas, asking for suggestions, and pushing things forward.

When it didn't

I worked in a team where I didn't feel the team was collaborative or supportive. Although asking questions was encouraged, I always found the feedback and interactions really uncomfortable. Either I was told to think more, without guidance; or I was told my explorations and trials were useless, even "shit". The interaction process frustrated me. It also made me afraid to ask questions, because I felt I was stupid and always asked the wrong questions and made useless efforts. Very uncomfortable experience.

Personal Growth and Career Development

I want a job that can:

  1. Enhance my expertise
  2. Enable me to contribute my intelligence and skills
  3. Teach me new things that I don't know
  4. Give me a bigger picture of the field where I work (can be a gradual process)
  5. Realize my potential

When it worked

My work at Sparkypants taught me a lot of game programming and C++. It was the first time I got industrial software development experience. I realized I really enjoyed doing software development, and I was actually pretty good at it.

When it didn't

I worked in a team in which I constantly felt I wasn't learning new things, and couldn't contribute at all. I kept making efforts and asking questions, but the feedback was that my efforts were useless. I felt I couldn't realize my potential in this team and was unable to contribute my value. I don't want someone to throw me a project and let me figure it out but not want to discuss it with me.

Real Impacts

I want my work to have real impact on users, products, systems, and companies. This is one major reason why I want to go into industry and leave academia. I want to see the results and impact of my work. If they are good, I want to make them better; if they are not, I want to improve them. Such impact can reinforce my sense of ownership of my work. I stand by the quality of my work and am willing to make it more influential, more helpful, more robust, more scalable.

When it worked

I once made an AI system for a game, and the system brought a significant change to the game — we no longer needed a human to direct the game during our daily game-playing events. People used the system a lot and gave me feedback on its pros and cons. I find such work has a real impact on users, and I feel very happy about it.

When it didn't

I have done a lot of research that ended up going nowhere — neither published nor helping others. It makes me feel that I am wasting time and not making anything real.

Reflecting My Expertise

  1. I am always willing to learn and I can learn very fast.
  2. Have solid understanding of human vision, cognition, and cognitive psychology
  3. Have very good background in algorithm and data-structure — due to my competitive programming experiences
    • Could be stronger with Leetcode preparation
  4. Mainly good at Python and C/C++
    • Python now is the strongest (Still enhancing in multiple advanced aspects)
    • C/C++ has working experiences, and can be stronger
  5. Very good Machine Learning and Statistics backgrounds
    • Applied math degree
    • Multiple hands-on projects and daily research experiences
    • Has a good sense of different machine learning algorithms
    • CONS: Do not have many real-world experiences
  6. Weakness:
    • Won't be able to start web-developing because don't have enough experiences in different frameworks, so cannot do full-stack web developing. BUT I CAN LEARN.
    • Still need to enhance SQL and/or map-reduce

Ranking My Preference

  1. VR/AR related visual/perceptual/cognitive research scientist

    • This is closely related to my Ph.D. research and many interesting questions are to be asked and answered
    • Such positions can work with engineers and contribute to the final products, so I can see the results of my research
    • I can also join the engineering team because I also have a programming background, so I can diversity my work and gain new expertise
  2. Machine Learning related research scientist or engineers / Algorithm developer

    • I have gain machine learning experiences both in my research and courses, now I want to apply them to real-world Application
    • I can contribute to some real product and see machine learning in action
    • I can continue enjoy doing research and making sense of data
    • Automation!
  3. General Software Engineers at interesting companies

    • Creating new things!
  4. Data Scientist at interesting companies

    • If there are interesting data problems
  5. General Software Developer

    • Get a job!
  6. General Data Scientist

    • Get a job!