As a junior developer, how can I broach critism of not-yet used chosen tools

So I started a month ago at relatively small company (12 people in the building) as a junior developer without professional experience apart from my own (7 years) and no degree. We’re building a JEE app that’s been going on for 15 years, and for the next version it was decided we would rebuild the frontend, removing frames/iframes/JSP and using a restish API. They also decided that we would use ExtJS as a framework. I just started discovering it and here is what I thought:

  • They have a large, although far from exhaustive, base of available components


  • The framework provides poor information over encountered errors. For instance, it doesn’t test the type of data sent to classes, leading to cryptic x is not a function where a proper framework like react would have said x is y expected a z.
  • The community is small and googling errors is often useless, so you are left helpless / requiring a senior dev’s help
  • The UI looks like shit. Seriously. Their icons are ugly. Their buttons are just rectangles. They have a poor choice of colors. Do the even have a designer? A six years-old could have done a but better job.
  • The underlying mechanics are not obvious: scopes are unclear, what a single param will effectively do is unclear…

I’m not the only one feeling that way, our intern webdesigner agrees.I’d like to bring this up to my manager, I think if I brought it up the right way he would listen. Although, it’s not the first time I talked about technology choices (we still use CVS and we don’t use any build tool like maven) but I do believe that the technology choice, when rebuilding from the ground, is a matter of importance and going off the wrong foot might be detrimental.

I already asked why they would choose ExtJS over React/angular etc and it seems because – our headquarters like extjs, and already paid for it – licensing might cause issue with another approch (since we would need several libs) – tech debt could be an issue (eg Angular versionning)