6

I am working with two fellow graduate students on implementing some algorithm for data extraction. We are in the mid-phase of our project and we still have roughly a month (20 days to be precise) to go before it is due.

However, recently I have been confronted with a pattern of negative, and frankly quite arrogant behavior.

Whenever I suggest something that can help out with the project, they will quickly shoot down the idea. It has became more and more apparent that they do this in order to avoid having to work on, or research the idea.

For example, our algorithm is very slow on a standard CPU, I told them that the algorithm may run hundreds of time faster on a GPU. Obviously we do not have a GPU, so the team will need to contact people to find an efficient GPU, which is something that is available in our school, and also figure out how to run the algorithm on it.

The idea was immediately shot down, at first they told me it was impossible to get speed up (this was at the very early stage of the project and they were not familiar with how a GPU works). Eventually, they realized not only you can get speedup, but also a significant amount. When I made the request again, they told me that it is probably not going to worth it. How can they know if we have not tried?

This came up again just today. I told them that the data extraction model is not very efficiently stored, that is, the data structure storing the model does not have a very desirable insertion and retrieval time. The way of resolving this issue in my opinion is by finding a new data structure. They immediately shot down the idea and said to me that no such thing existed. I looked online and found a blog that, in a very detailed manner, lists more than 5 ways of improving on our method of storing the model. Fine, then I asked them how would they solve the issue. They told me just to deal with it until the end of the project - out of sight, out of mind. I am afraid that when we run our algorithm on the real data set (which is 100x larger than the experimental one we are currently working with), we will again run into this storage issue and we would be out of time then, at which time they will probably say something like, "who knew, too bad!".

At this stage I am beginning to wonder if we can efficiently work together. I get the feeling that they are basically telling me:

go at it alone, if you succeed, then we will free-load on the overall success of the project without having wasted our precious time, and if you fail, then you should have listened to us.

Where should I go from here?

3 Answers 3

1

Clearly, they want to avoid work. Now, explain the situation to the project leader and ask for separation of the team. Do the remaining work alone. Don't waste any more of your time on the teammates. You've done enough of effort to try to work with them.

If the leader refuses to separate, go yet another level up: to the mentor of the leader. But that would be the next issue.

6
  • 2
    In the academy, the workplace, and life generally, you need to be able to work with people--people who are not always perfect, and with whom you won't always agree. Refusing to work with others as soon as a dispute arises is a very bad instinct. It will hamper your success and harm your reputation. Occasionally it is necessary, but only as a last resort.
    – user24098
    Commented Nov 28, 2017 at 7:27
  • 1
    @dan1111 so what you mean is left them freeload on the OP’s work if it is a success...
    – Solar Mike
    Commented Nov 28, 2017 at 7:39
  • 2
    @SolarMike it is not clear to me that the others are doing no work. The OP suggests they want to "freeload" on these specific issues but doesn't say they are doing no work at all. If they are freeloading on the project, I agree that this should be addressed with the supervisor. But even then, "I refuse to work with these people" is not the right place to start.
    – user24098
    Commented Nov 28, 2017 at 7:55
  • While they have put in some work, it is apparently that the project is extreme low priority for them. I have requested for many things that a normal project should have: literature review, design and idea generation, documentation, ... and in each of these components I have encountered resistance. For example, for the literature survey, I have finished all my parts, while they have barely touched theirs. I understand there is still a month to go but I wonder if they even understand what we are supposed to do if they do not do the relevant reading and could not come up with some lit review. Commented Nov 28, 2017 at 8:58
  • 2
    "Clearly, they want to avoid work." or they have a realistic view on this and know that it would be too much work for the time given? I'm no expert on the topic but I know that migrating from CPU to GPU can be very complicating and a lot of work. And I'm not sure that OP knows a lot about this after statements like "obviously we do not have a GPU, so the team will need to contact people to find an efficient GPU," because nowadays it's definitely not obvious that you don't have a GPU and even low-end GPUs are extremly powerful.
    – user64845
    Commented Nov 28, 2017 at 10:16
9

Are you sure you are not prematurely optimizing?

You have stated that your algorithm is "very slow" and your data model is "not very efficient". However, it is not clear that these inefficiencies will actually prevent you from delivering the main goals of your project. You have a worry that you will not be able to scale to the necessary data size, which is a legitimate worry, but not proven at this stage. It may turn out to be no problem.

Your colleagues' excuse-making--incorrectly claiming that solutions won't work or don't exist--is certainly unhelpful. Nevertheless, they may be correct that these ideas are not worth pursuing. Working on performance improvements that are not necessary to deliver the project may be a distraction from meeting the important goals.

Step one: determine for sure whether optimization is critical to the project.

Your worry about scaling to the full dataset is legitimate and important. What you should do about that worry is test on a full size dataset, as soon as possible. If you don't have access to the real dataset yet, then make your own test data, by copying the experimental data 100 times, randomly generating data, or whatever works.

Also consider other ways that the performance may have an impact on meeting project goals, and test where it makes sense.

Step two: if appropriate, make a case for optimization on the basis of it helping deliver the project.

If you can show that improving performance is either necessary to meet your goals, or has a benefit that outweighs the cost, then make this argument. Back up your argument with evidence (like test results).

Start with your colleagues, and if they are not convinced than discuss it with your supervisor.

However, only do this if truly necessary--and one month from your end date, you should probably only be worrying about things that are absolutely critical to completing the project.

4
  • 9
    Exactly. Can't count anymore how often I had to shoot down ideas that came more from the proposer's love of the technology than from project needs. Slightly related XKCD: xkcd.com/1205 Basically, if the project will be run very infrequently on large data, even saving hours of execution time may not be worth the work time overall.
    – xLeitix
    Commented Nov 28, 2017 at 7:20
  • We were aware of these issues at the very beginning when we did our literature review (but it is now apparent to me that they never read the papers....). Almost every single paper talked about running into memory issues as well as high processing time and offered different ways to manage them. But since we were working with a miniature version of the full model, and they told me just wait and see. It has worked fine on (around 1000 data instances) but now we are running on more data (895005 data instances), and it is apparent to me that we are going to run into issues. Commented Nov 28, 2017 at 8:48
  • The two ideas happened to be technical, but there were "softer" requests I have made for them which have also went unanswered. For example, I said we should review the literature in the field we are doing and provide a brief summary. I assigned two paper for each person to read, and they agreed, and told me that they have made detailed notes. Then I said we should compile them in our final project report (we literally need a lit review section). After a week, I asked them where were the reviews, they ignored my email. During our meeting I asked them specific details, they could not answer. Commented Nov 28, 2017 at 9:07
  • @StackexchangeHouseNinja thanks for the additional information, this changes your question significantly. For general advice on working with people who don't do much, you might consider some of the questions on workplace, for example this thread: workplace.stackexchange.com/questions/23165/…
    – user24098
    Commented Nov 28, 2017 at 11:42
1

You go up.

But tread carefully.

It is presumed that you have a group leader, or supervisor, or faculty member, principal investigator, that leads the research project.

The next time you meet, you state, objectively, what the current problems and the solutions that you've proposed. You also state that after some deliberation, person X and Y believe that the solution would not work for reasons A, B and C. However, you remain unconvinced and would like to pursue this path for X amount of time and energy given your research: case 1, case 2, etc.

You differ to the supervisor as to what will ultimately be done.

(Unless this is a group project for a class of course).

Then the decision is whether or not you have an option to seperate and work on your own. If you don't believe that you can form a positive working relationship, then staying would only make things worse. If you have no other options, then simple restate what I suggested, but as a pitch to person X and Y. At the end of the day, if this is for a grade, then time wasted is not lost, it just means you don't do that and it can still be part of your methodology discussion (we tried X, but it failed because of A, B and C, this is why we chose Z)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .