Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
8  
How can a single "big Javascript file" be BETTER than the coding structure of your company? –  user1249 Mar 28 '11 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. –  Mike Dunlavey Mar 28 '11 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. –  Mike Dunlavey Mar 28 '11 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. –  Imran Omar Bukhsh Mar 29 '11 at 2:51
add comment

13 Answers

up vote 9 down vote accepted

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.

share|improve this answer
1  
Perfect answer. –  Vitor Mar 30 '11 at 13:43
add comment
> 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, ....)?
share|improve this answer
add comment

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.

share|improve this answer
3  
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 '11 at 13:40
3  
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. –  Isaac Truett Mar 28 '11 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. –  kevin cline Mar 28 '11 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 '11 at 7:34
1  
@jwenting - he may be able to produce better code, while lacking business judgment. –  kevin cline Mar 30 '11 at 19:05
add comment

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.

share|improve this answer
1  
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. –  Kate Gregory Mar 28 '11 at 14:55
add comment

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.

share|improve this answer
    
+1 for knowing your history... –  user1249 Mar 28 '11 at 19:24
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
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 '11 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 :) –  faif Mar 28 '11 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 '11 at 13:50
    
So then their 'excuse' will make sense again. What's the point then? –  pyvi Mar 30 '11 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 –  faif Mar 30 '11 at 13:14
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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"

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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

share|improve this answer
    
No , the extjs file is big that is not acceptable. –  WebDev Mar 28 '11 at 13:14
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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