5

I made an application in extjs, and it was rejected by my technical architect, project manager, and team leader because it was a big JavaScript file. It feels very bad when you develop an application and it is rejected by your seniors.

I don't want to feel bad and I want to concentrate on my work. I would like to restructure the code, as the coding structure in my company is very bad and I want to improve that.

I want to work better and grow - how should I proceed?

5
  • 10
    How can a single "big Javascript file" be BETTER than the coding structure of your company?
    – user1249
    Mar 28, 2011 at 15:28
  • This is really about human relations. Do they have Dale Carnegie courses in India? I took one about 25 years ago, and it was a very good investment. It teaches things that many people already know and consider common sense, but I didn't know them, so it was a real eye-opener. Just reading about it isn't good enough. You gotta do it. That will give you the skills to handle situations like this. Mar 28, 2011 at 15:29
  • Here's the outline. They have an office in Mumbai, and probably hold courses around the country. It may look like fluff, but I once lost a job due to lack of interpersonal skills, and that provoked me to try the course. It has served me well. Mar 28, 2011 at 15:53
  • You feel bad cause you value yourself through the eyes of others. Stop that! You should evaluate yourself according to your own personal criteria. No one is going to tell you your worth. Everyone nowadays want to make you feel bad so you don't ask for a raise or something. Solve the 'big-file' issue if its a genuine issue. Mar 29, 2011 at 2:51
  • In my opinion it's also yor bosses' fault for other reason. It's not good keep a salaried programmer busy on something that will never be used. It's a waste of your time, of company money, of your morale etc... Apr 19, 2016 at 8:15

14 Answers 14

12

You should never have reached the point where you consider yourself finished, before your seniors see it. The rejection should have happened at design-time.

Then comes the question if it can be refactored into something acceptable or not. If the first, then just do it. If the latter, you need to discuss with your boss how this situation can be avoided in the future.

0
9

How should you proceed when somebody rejected a good thing you made?

Ask for acceptance criteria before doing any more coding.

  • What should be the scope of this feature?
  • What tools and languages are acceptable (i.e. is it OK to use ExtJS)?
  • What other constraints are there (supported browsers, codesize, ...)?
5

Talk to the senior people about why your project wasn't suitable and what they'd like you to do differently next time. Take the attitude that, however good it was, it wasn't suitable. Don't be confrontational about it. Having a project rejected is painful, but learning what to do next time is far more constructive than arguing about it with people who probably have reasons for rejecting it.

You can also ask about the code quality. Be specific: take a particular part and ask why it's that way. There may well be reasons for what you don't like about it.

Also, try to avoid being seen as the new guy without experience who thinks he knows how everything should be. Learn the reasons why things are the way they are. They may not be good reasons, and you may disagree with them, but you're not going to change anything without specifically addressing them.

0
4

ExtJS IS a pretty big library, and there is a license fee for commercial developers. I'm surprised you didn't get prior approval before using it in your solution.

You also write:

I would like to restructure the code, as the coding structure in my company is very bad and I want to improve that.

This will not be easy. If the rest of the team thinks there is no problem, then it is probably impossible. In that case you will either have to adapt or find a new position with a more sophisticated team.

5
  • 4
    or more likely you need to learn that what you as a junior consider good isn't what's generally considered good. He seems to be the most junior member on the team, but has ideas of being better than his seniors...
    – jwenting
    Mar 28, 2011 at 13:40
  • 4
    Or, instead of conjecture, he could produce concrete empirical evidence supporting using one approach versus another, such as load time or runtime performance data. Junior developers can have good ideas and senior developers can be stuck doing things in less-than-optimal ways. Instead of making the discussion about ageism or experience-ism, make it about data. Mar 28, 2011 at 15:04
  • 3
    @jwenting: if he was able to get something working with ExtJS on his own, I expect he's reasonably capable. He could very well be better than the senior members of the team. We leave school expecting to go work for people who are more technically capable, but we are often disappointed. Mar 28, 2011 at 15:43
  • if he used a commercial product without prior approval and a signed purchase order, he's not better than his seniors. The product wasn't approved for use, he used it anyway, he created a cost/time problem for the company and potentially would have opened them up for legal problems if it had gone unnoticed.
    – jwenting
    Mar 30, 2011 at 7:34
  • 1
    @jwenting - he may be able to produce better code, while lacking business judgment. Mar 30, 2011 at 19:05
3

Think this is a much wider question than something relevant for programmers, but in general: if your team lead has said they have a preference (sounds like they prefer smaller code) then to proceed, make your code fit their preference. Or move to a team which works the same way you do.

Generally, treat it as a learning experience - get them to explain fully what they would prefer you to do.

3

In the title of the topic you suggest you still think that what you created is "good".

The first thing to do is to accept that it isn't. Not because I say so but because it has been rejected. Like everyone else you need to learn. As stated in other answers, get the requirements before you begin. When they do not accept the thing you made, ask them why, accept the answer, fix it and deliver again.

1
  • 2
    For example, you might know how to make an absolutely delicious chocolate cake. When someone tells you they can't eat wheat, it's important you accept that and not try to keep explaining how great chocolate tastes, or tell them their dining room table is messy. The thing you made might be good in general, but it's not good for your team and they've told you why. Mar 28, 2011 at 14:55
2

One of the first things people at my first (and current) job taught me is to ask, especially in the beginning. If someone wants you to do something, ask more closely and when you have an implementation idea, don't hesitate to write up a short (nobody wants to read pages upon pages, but half a page will usually be fine) spec and ask whether that is okay. If what you thought of is good, they might be impressed, if not they can tell you before the situation you describe happens.

1

I'm pretty sure that you're not using everything inside extjs. If their excuse is that extjs is a long file, and since the library is most probably structured in many small functions, put the functions that you're using in another file and go back to your bosses with your new solution (that uses the small file). Their excuse will not make sense.

5
  • 1
    it's a commercial, 3rd party product. Taking bits and pieces of the code and putting them in your own library is probably not allowed...
    – jwenting
    Mar 28, 2011 at 13:42
  • @jwenting That's right. But he can do it just for convincing the bosses, and use the normal file after the project is approved :)
    – sakisk
    Mar 28, 2011 at 13:46
  • 1
    I've more than once worked in environments where the large file would be a problem. Think websites aimed at mobile platforms. I know it was years ago, but I once literally had to count bytes in my JSP output and CSS/JS files to ensure no single http request would generate a response larger than a single tcp package, in order to save cost. Having a 100K JS file (e.g.) or even a 10K one would have been unacceptable in such a system.
    – jwenting
    Mar 28, 2011 at 13:50
  • So then their 'excuse' will make sense again. What's the point then?
    – pyvi
    Mar 30, 2011 at 6:49
  • @pyvi If the size of the file is really a problem (in practice) as jwenting said, then it's a bad design decision and rahul should not complain
    – sakisk
    Mar 30, 2011 at 13:14
1

If you think you have a better way of doing something, prove it. Produce hard evidence that your solution is better in some way. That could be faster load times, runtime performance, higher cohesion, lower coupling, or any number of metrics. You might want to find out what metrics matter to your team or company so that you know what will make a convincing argument. Whatever it is, come up with an experiment and produce some data. And if it turns you're wrong, admit it and learn from the experience.

1

Next time, consider doing the following:

  • Write a design proposal, outlining what you want to do, what modules it will have and what external dependencies are needed.
  • Once that has a "looks nice", write a more detailed design.
  • Once that's been given a "go ahead" (a "go ahead" is stronger than "looks nice"), write your application, seeking feedback through the process.

This gives you ample chance to get feedback before investing lots of time. It gives your seniors a chance to provide guidance, before you've gone down a track they won't approve of. It also provides multiple points where there's a chance to go "actually, this would be better..." as well as "we won't need this anymore, sorry..."

0

Well, if only the size of the js file is an issue, I would check if you could somehow strip it down a little to make it smaller and thereby make them happy. Or make a real test case where people see that the loading time is ok. Afterwards, you could still come back and say "by the way ...I also have this and that feature available ...it just takes so and so many kb"

0

Before you waste anymore time working on unacceptable solutions, ask for the maximum file size and if you can meet that requirement, will they accept you solution.

Is this a first for you or are they in the habit of letting you work on projects that get rejected?

Unfortunately, it will probably get worse until you can read minds.

0

I made some projects which were rejected by client after finished. I felt bad, but, as there was nothing to do about, the best way to not feeling bad is to learn from the experience, hold your head high, trust yourself and go on on new projects.

-2

You were going to improve the code structure, but you created a SINGLE file, that exceeds the maximum acceptance?

1
  • No , the extjs file is big that is not acceptable.
    – WebDev
    Mar 28, 2011 at 13:14

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