Skip to main content
expanded acronym that also stands for National Institute of Health, implying that they had a software scandal
Source Link
nick012000
  • 10.8k
  • 2
  • 30
  • 46

This could be because this framework permits the developers in the company to implement the company's products/solutions effectively and efficiently. Or it could be a case of NIHNot Invented Here.

This could be because this framework permits the developers in the company to implement the company's products/solutions effectively and efficiently. Or it could be a case of NIH.

This could be because this framework permits the developers in the company to implement the company's products/solutions effectively and efficiently. Or it could be a case of Not Invented Here.

added 942 characters in body
Source Link
D. SM
  • 870
  • 5
  • 9

Final note:

You say the other developers are generating income for the company. This means every day they need to decide whether to generate income or train you. Depending on the company's priorities, they may be prioritizing generating income and not allocating much time to your onboarding.

This may be factored into the expectations that your boss has for you.

Regardless, this isn't the best place to be because a company needs its employees to generate revenue. To fix this, I suggest taking initiative but not in demanding documentation but in working on whatever you think will help the company generate revenue. Try to come with a way how you can do something that would translate to dollars earned. You need to formulate this in a way that is clearly beneficial to the company in terms of the bottom line ($$$ earned greater than $$$ spent on helping you). This will incentivize your boss and through them the other developers to allocate more time to you.

Final note:

You say the other developers are generating income for the company. This means every day they need to decide whether to generate income or train you. Depending on the company's priorities, they may be prioritizing generating income and not allocating much time to your onboarding.

This may be factored into the expectations that your boss has for you.

Regardless, this isn't the best place to be because a company needs its employees to generate revenue. To fix this, I suggest taking initiative but not in demanding documentation but in working on whatever you think will help the company generate revenue. Try to come with a way how you can do something that would translate to dollars earned. You need to formulate this in a way that is clearly beneficial to the company in terms of the bottom line ($$$ earned greater than $$$ spent on helping you). This will incentivize your boss and through them the other developers to allocate more time to you.

Source Link
D. SM
  • 870
  • 5
  • 9

The other answers seem to be taking the view point that a "deeply specific, undocumented framework" is 1) problematic, 2) needs to be changed and 3) you should do something about. I would suggest first identifying whether there is a problem at all, and if so what this problem is.

They have written their own specific framework with custom types, structures and models.

This could be because this framework permits the developers in the company to implement the company's products/solutions effectively and efficiently. Or it could be a case of NIH.

You haven't provided any information to tell which of these is the reality.

There is little to no documentation for it.

I expect that most software that is not used by other developers, including the vast majority of corporate software, does not have documentation. So, alone this is not surprising at all.

The software team is basically 3 developers that have been here for 10+ years who know the framework mostly by heart.

Are they producing software and solutions that work? Are they doing so efficiently?

I'm a junior employee with 1-3 years of experience. I am supposed to be getting up to speed with this framework.

I agree that this can be challenging.

The framework is huge and so far it has been almost impossible to develop anything independently aside from minor things.

"Huge" and "not independently" don't necessarily go together. A framework that has many interdependencies is often difficult to develop in for a newcomer, because you have to understand the whole thing to not break something. A project that is well-organized with fundamental CS principles like single responsibility, encapsulation, defined interface boundaries can totally be worked on relatively "independently", you'll just be operating in one particular subsystem.

I have been meeting with one of the developers to try and learn from them, but it's not going nearly as fast as I think it should.

You may need to adjust your expectations. In large systems it takes months or years to onboard completely. If you are used to small projects or start-up companies it is a very different experience to have worked for a big company for, say, 6 months and still feel like you don't know that much. This is normal in large companies.

So, instead of going by your idea of how fast you should be ramping up, ask your boss (or even one of the other developers that you are most friendly with, how well they think you are picking up the system).

Remember: by your own admission, they took 10 years to get to their present state.

I have brought up the documentation issue with the manager, and although he agrees, the 3 people that could document the framework are always busy with projects that bring in money.

This is also normal. You are unlikely to succeed in getting the system documented. You can succeed in learning it, or you may find that your brain doesn't work in that particular language/architecture/coding style. I, for example, generally do not enjoy looking at Java code even if the library/program in question is smaller than a large Ruby framework I have no problem with.

What can I do about it?

First, and most important:

Talk to your boss about what is expected of you and whether you are meeting the expectations. If your boss is perceptive they may figure out that you need some words of encouragement and provide those, assuming you are in fact meeting expectations.

Then, formulate the problem. Are you unhappy with your onboarding speed? Do you not like the architecture of the system? Do you feel you are not receiving enough support?

Depending on what you perceive the problem to be, the course of action will vary.