0

I work as a software developer on a small dev team of three people. One person is my co-worker/main developer, the other is my supervisor who is also a dev. I'm pretty new to the technology we are using, so my usual approach is to go with the flow of how my teammates are developing and copy the way the other devs are doing things.

I recently did some research regarding a specific practice we are using. I discovered that this is not only not considered a best practice, it is actually recommended to specifically never do this because it takes up large amounts of memory and eventually causes Out of Memory exceptions. I believe this is also the reason our application currently takes several seconds to load each page and perform operations on the page.

Now I understand in software development there are many ways to accomplish the same thing, and you often have to be flexible. However this doesn't seem like a trivial case of preference or even best practice, but a serious flaw that will most likely cause problems down the line, especially with large amounts of data involved and this application needs to be highly scalable.

How can I tactfully and respectfully bring this issue up without offending anyone or coming off as condescending? I'm not sure whether it would be best to talk to the main developer directly first, to my supervisor initially, or broach the topic in a group setting with both present?

Also I'm not sure what specific language I should use so as to not imply anyone is wrong or at fault for this issue within the code. I figured I could somehow reference the article I found directly to explain the details to my teammates.

Here is a blog post which explains some of the more technical details for those who are interested.

EDIT: I believe the nature of this suggestion is different than something like process improvement or even best practice.

  • 1
    "Hey guys, I found this article that says this practice could cause errors if we use it. I was wondering if there are some other reasons I ignore that make that made us decide to follow that practice?" – DarkCygnus Aug 11 '17 at 18:08
  • just tell the other developer what you told us, if you are a respectful person he has no reason to get offended, and if he does it's not your fault – Homerothompson Aug 11 '17 at 18:09
  • If I were you (working in software dev for 10+ years), I would point to your team about the blog that you showed us, express your concern and brainstorm for a viable solution. Since you guys are a small team, you guys have the freedom to express ideas and concerns without feeling like you are walking on egg shells. – Isaiah3015 Aug 11 '17 at 18:29
  • @Isaiah3015 The problem is that one of the team members is extremely defensive and seems to take any suggestion that the code is not perfect as a personal attack. She will often react in a passive aggressive way making it hard to actually address the concern or get anything else done - since the other members of the team seems to want to avoid conflict or offending her they will merely try to move on to the next topic when this happens. – user17647 Aug 23 '17 at 14:45
  • @user17647 In my professional experience, people like your co worker either gets moved to a different team or get to be on different projects or get fired altogether. Sadly, I've seen the latter more thru out my career. Your management has to create an environment where ideas and suggestions are nurtured. Otherwise, talent leaves. – Isaiah3015 Aug 23 '17 at 17:33
0

Whatever you do, you're going to have to walk in the door with approaches to solve the problem. No one's interested in what you have to say if you aren't vested in taking next steps. How will you solve the problem? Is your approach easily duplicated?

P.S.

The OTHER thing - that I won't get into deeply, just to keep on topic - is that you shouldn't be relying on storing session state in RAM anyhow, but instead, looking into SQL Server or similar storage for session data.

  • I think it would be very easy to solve the problem in the way the article suggests - just store the minimal info instead of the entire control. We have models we use for holding the data so that could work pretty easily. Then just create new controls and fill them with data from the models. – user17647 Aug 11 '17 at 19:38

Not the answer you're looking for? Browse other questions tagged or ask your own question.