开发者

How to convince boss to substitute Java/Netbeans Platform for Python/PyQt? [closed]

开发者 https://www.devze.com 2023-01-09 15:49 出处:网络
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references,or expertise, but this question will likely solicit debate, a
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. Closed 12 years ago.

I'm working for small company, which operates in the automation industry. The boss hired me because he wants to sell/give some desktop applications to his current costumers. He imposes me to use the Netbeans Platform (a generic desktop application framework). A software engineer friend of his advised him to choose this framework.

At the moment I created 3 desktop applications with Netbeans Platform. I like Netbeans Platfom. I really take advantage of modularity, Window System and Lookup. Unfortunately I'm frustrated to known that I can do the same works with Python and PyQt in a fraction of time.

I've already illustrated to my boss the main advantages of Python, but he doesn't like the idea to us开发者_如何转开发e a language that he never heared of it.

I'm the only programmer who codes desktop applications. And except the framework imposition, I'm free to use whatever I want.

I'm looking for good motivations to convince him to leave Netbeans Platform for Python/PyQt.

P.S: My english is bad, sorry.


If your selling skills are not working in discussion format I highly suggest that you document it. Some managers/bosses really respond well to this.

Make a matrix of all the metrics that you yourself use to grade the two frameworks (I leave the level of objectivity to you there: for example if objective it should analyze the cost of transition and the loss of institutional experience; but it might not be high).

Finally, send it by e-mail and viola you have:

  • made a report/analysis of the situation providing options for improvement
  • this shows that you are thinking towards future and that you show initiative

EDIT: You can also ask your boss to show your analysis to his friend if he trust his friend that much, but ask for a written counter-analysis so that you can address the critique.
It is a good thing to do it openly and document the decision process well, since ultimately, if your suggestion is accepted, you will share responsibility for the decision.


The problem is that development time is usually nothing compared to maintenance. Who cares if it takes two days instead of four if the app has a 1-5 year lifetime?

You'll have to convince him that if you get hit by a truck or leave the company (perhaps to work for somebody who uses Python exclusively) that he won't be left in the lurch with a bunch of applications that nobody else knows and can't maintain or upgrade.


The basic problem here is that your non-technical boss is getting conflicting advice from you and from the friend who advised him in the first place. If you want him to take your advice seriously you need to prove that your advice is likely to be trustworthy. And that will only come with taking the lead and being successful with significant projects in the company. Right now, you haven't earned his confidence.

The other thing to consider is how your preferences mesh with the company's objectives. For instance, you want to be able to write code fast. But the boss / the company needs code that is going to be reliable and maintainable ... if you decide to take another position. He doesn't want to be left in the awkward situation where the company is contractually committed to deliver code that doesn't really work properly, and the only person who understands it has left.


First, results speak for themselves: if you can piece together another version of one of your applications in pyqt, and tell him how long it took, it might be motivation enough.

Or, next time you're starting a project, you could prototype four or five different versions of the interface in pyqt in the morning, ask his feedback after lunch, and then say, "if I keep going on these, it'll be done in two days; if I redo this in netbeans, it'll be done in four."

And as for the "never heard of it", feel free to point out that Google uses python extensively, and even hired many of the python developers.


Some people will tell you to try to convince your boss verbally. Others will tell you to document the time savings you think you can make. My opinion is that you just go ahead and do it. Do it in your own time if you strongly believe its in your best interests.

I'm yet to meet a software manager who turned down a working piece of software when it comes in on time and under budget. This is by far the best method of persuasion I've used in my career. Its also a great way to show you have initiative. Just be prepared to work for free if it doesnt work out.


Have you emphasised the point of the lower development time. Any person that doesn't want a shorter turn around time is an idiot. This is the only main issue i can think for the change. Or what you could do is develop it on the side and when you have errors say this is what i have been doing in my spare time(have a working copy written in python).


Perhaphs showing him

a)Time spent in developing in Python and Java b)lines of code in Python and Java

with these two metrics maybe you can make your case stronger


I would guess a lot, in terms of risk management, would depend on the separation/isolation of the various softwares you develop, and their life cycle.

If you don't need to further a central set of libraries, or have (or can develop) Python bindings for those, and the projects are relatively self contained, say a turn around of two to six months, you could give him a quote for a project in Java that is reasonable and he's familiar with (to make sure it doesn't appear artificially inflated). Then give a much reduced quote for the same in py+pyQt, and see if you can get him to invest on your advice.

Without tangible evidence coming from inside that a change in route will bring benefit the more management and economics savvy people who are technically ignorant will not buy into a new platform when the old one never prevented from realizing and selling.

Without a decent assessment of why he doesn't want to switch platform and what he considers risks it's kinda hard to give more pertinent advice.


Just use Netbeans as an IDE and he'll never notice :P

Speaking more seriously: a side by side comparison of strong and weak points behind each of technologies will certianly be more convincing. Just don't cheat too much in favor of Python ;)

0

精彩评论

暂无评论...
验证码 换一张
取 消