Using node. js to make a payroll system, I feel good why does the boss feel low level?

Source: Internet
Author: User

Reply content:

In fact, the question of this kind of doubt I can understand, I believe that many people can understand (of course, most people look at the closed page will not be specifically to answer, I do not sleep at night to say two sentences).

Generally speaking, however, those who have a special love of programming will certainly want to practice what they have learned to solve specific problems after a period of time. It's a good thing, and it's right to apply it. But the programmer at this stage has a feature is that full of passion, fearless, but above his business, but also opinionated. I have no intention of offending, but I am ashamed to say that I have experienced this stage before, for several years. But not ashamed to say that this is not wrong, a lot of us think great programmers have been like this before. Why is it? Because there is no experience ah, see little ah, add a little self-righteous ah. (read here Don't be angry, you want me to emphasize that I have been this way, not only for you, but also for myself)

First of all, I hope you continue to refuel learning, not because of other people's criticism that you feel hurt (if a bit of the pursuit of people in the bones have arrogance, often self-esteem is strong, but also very sensitive), you need to know that these sharp criticism is actually very valuable, because they are pointing out your problem, promote your progress. You have to learn to accept the advice of others, which is the key to progress.

For example, the interface is ugly, to tell the truth they say is right, this is the face of the world, the interface is not humble, has been directly caused by disgust, ordinary people see the first reaction is in the heart of the negative, then you explain in fact can not change anything. So you have to understand that a good software, not only the core to be strong, the interface must pass. And if you have a 10-point interface, you can only hit 1.5 points. That 0.5 was a bitter score. I'm sorry, I really can only give so much objectively. If you can't pass the 6-point line, then really, it doesn't make sense to add more functionality, because no one is interested in continuing to understand.

In addition, some people mention the comparison with Excel+vba I think that people tend to be more experienced, they are particularly considerate for the customer. This for the sake of customers do not simply understand to dare to break through, dare not jump out of Excel to create their own solutions. In fact, they prefer to choose Vba, choose a program that does not highlight their "high technology", but entirely to the user to use the habit of learning costs to consider, which is all successful business software designers must have the quality-user-friendly, not convenient for themselves, user-centric, not self-centered. How did this quality come about? Certainly not born, but experienced like you after the stage by the reality of the beat to pieces after the pain learned. But this can not be said to be a lesson, in fact, a kind of social benign operation of the spirit of service required. We are from the "technology as the art" to "technology as a tool" change, the technology from the altar down, put the position and the mentality of the new understanding. They tell you this, it's definitely not the key to you. Although the words are some upright, but you must first try to ponder and experience, do not rush to deny and argue.

As you talked about letting the user learn SQL statements. I think it's not surprising that I have this idea. Because you think it's "the right choice." And this is a more "powerful" program, learning "There is no harm". But according to this logic, I think you should let them learn Matlab directly. It is well known that Matlab is very powerful and "easy to learn", the difficulty is estimated to be higher than SQL but learned after the various data processing which need other software? If your finances and your boss learn enough, you can also install the artificial Neural Network toolbox, directly to your wages for machine learning, why stop at the automatic calculation of wages (smile)? Do you think that you only let them to learn SQL is not hindering them? Are you afraid they've robbed you of your job? Your mentality is not right. The choice of technical options or selfish, too conservative and not visionary.

Of course the joke is a joke, meaning you should be able to understand. You pull the demands and expectations of your users as high as you can. You feel "this is good for them" in fact they want you to do the more stupid the better, instead of the more powerful the better.

They really don't expect to be strong, they expect simple. Look forward to beautiful, with a face. If you can satisfy these, they are not stingy with your respect. Because you deserve to be respected.

But when they see bad interfaces, unintelligible concepts, and stubborn excuses, they don't feel like you're respecting them. So how can you expect them to respect you?

In the end, you have a problem with the wild path. In fact, do not feel inferior wild path. As long as you are willing to learn, read more and practice, there is nothing to learn in the classroom and you can not learn. It's not inspirational, it's true.

Please keep working on it. Watch you, yo. Similar to the main situation, I have encountered, the specific situation is that the Internet café has a set of Excel-based reporting system, as the end of each class of statistics, but there is a relatively serious problem, is due to the general quality of the cashier is not high, it is forbidden to copy and paste between the cells (because the report is calculated by formula, So copy and paste will break the referential relationship, but there are still a large number of new recruits at random to copy and paste, resulting in various calculation errors.
So the demand is coming, developing a reporting system that will not be affected by the copy and paste, and that can be defined by the manager himself in relation to various data entities.
I think, this demand is not difficult ah? So it took a few days to get a simple reporting system (with node. js), and the requirements mentioned above are basically met.
But faster, not officially on-line, found a serious problem, if the Excel form before it is easy to screw up is a big problem, then the current version is to let employees more confused mind: Because the Excel operation is really easy to learn, and most people can rely on the experience of the previous skilled operation, After all, there are many old employees.
So I think of a way, is to transform Excel, because the previous Excel solution problem is actually only one, but there are many advantages, such as stability; You can simply back up your files by backing up your data (without having to learn something separately); get started quickly, etc.
The specific solution is to use the built-in Excel mechanism to solve this problem, this I explored for a long time, and finally through the Excel built-in VBA to solve the problem, is to directly block the copy function on the menu, and then set a macro for the corresponding shortcut key, manually implement the copy and paste function, only change the value, Instead of updating the formula reference, the problem is resolved and the other party is satisfied.
Why didn't I choose to change what I wrote? Because costAh! Most of the needs of Excel can be met, and you have to build a user to operate according to the existing habits of software, the cost of how much? Even if it's just a subset of the Excel features, it's a lot of work, with this energy and ability, why can't you do anything else?
the value of an alternative project depends on whether it solves a problem while at the same time introducing a bigger problem. New things are always going to be Learning costs, especially in the case of completely different programmes, if the cost of learning is more problematic than the problem it solves, then adoption is a strange thing.
And, can you guarantee that you're writing something that considers the border situation to be much more than Excel? Even if you think about it, who's going to take it back? And the code that the financial staff wrote? such a system is practically not practical, and in addition to practiced hand, practical value is really not high

-----
If you really want to get a plan that can be accepted by your boss, you should collect the demand from the start, and at the very least know where the problem with the original solution lies, the different roles may have different needs, such as the employee's needs may be convenient to see their own wages, and the comparison of previous wages, the reasons for the wage rise and fall- Or how wages are calculated; The boss, the financial needs may be convenient management functions, such as regulating some factors, or the proportion of related performance, add a new influence factor--these I was nonsense, specifically to own research。 Then put these requirements together and then design all the use cases and consider the actions under different scenarios. This is the demand section, this part is not good, do not go to work on what to write. The process of organizing requirements remember to communicate with these people, and if you don't communicate well, the finished product is more difficult to accept.
The coding process is then noted TestSex, it is best to be able to write unit tests, after all, it involves money, if wrong, it is more serious than other problems.
Interface Part Other people also said very well, in fact, I think the interface is really not the core of the problem, because once you design well, the interface can not be useful?
Although I think I really want to do this, the project will be rejected during the demand analysis phase ... My team is writing a personnel management system recently, and is also using Nodejs. I was thinking about customers using our system, never dared to let customers increase the cost of learning, the basic is the customer point a button, the back end of the design of broken legs.
See you say let those finance study use SQL, simply scare urine. Why do you have such anti-human ideas, I usually operate the database either with Sequelize, or with Workbench, directly write SQL is generally used for debugging or adding bulk data.
If you really want to launch your product, do not let the leader feel that your product will have a huge cost of learning. A command line, a SQL enough to make most people smell the color change.
Finally, good-looking interface is the key to attracting customers, our customers never pick the back end of the problem, only select some of the page font size what, after all, they do not understand (´・_・ '). We suggest you use bootstrap to quickly develop front-end pages, flat design, based on jquery, low learning costs, the key is also good-looking.
Sao years, since you think it is not difficult for finance to learn SQL, you should not be difficult to learn bootstrap


Oh, I didn't mean to.

1. Dare to be ugly again?
2. Learn SQL? Is You kidding!

You need to consider a few questions:

1. A colleague is an idiot.
2. The user is an idiot
3. Product is stupid


After reading the above three, you dare to say that you improve efficiency? The main idea of the topic is a talent.
But this work is generally referred to as the pseudo-demand from the user's actual needs.
To do a software, first of all, for people to use.
So the first thing to do is to find the target and actual users of this software.
Then go to investigate and analyze their needs.
Of course, different people have different needs, but also to divide a high and low.
So it's not about what the developers think about themselves.
The developer said no, because not the end user, he does not know what will happen in the actual application scenario.
Your boss is right, the original Excel, financial personnel with very skilled, so-called will not be difficult, they have been accustomed to, no need to change.
The Lord kindly, said two minutes to do 15 minutes of the matter, may be standing in the title of his own technical level, if the exchange of financial personnel, may be reversed.
And there are a lot of training costs in the early days.
and the Master dare to guarantee that the program is not a bug? Do you promise not to lose data due to user's unskilled operation?
Another problem, if you do an improved project, but also to consider the user has formed the operating habits.
Ordinary users encounter things that are not easy to use, the first reaction is not good use.
Then may use the proficiency, can objectively go with the original situation comparison, plainly is the user customary backwards compatibility.
You think about how much controversy win8 came out of that year.
The third question, the title of the page is too shabby, said Nasty point, a cottage atmosphere. The general user is not familiar with the technology, but the GUI is still very concerned about, you are behind a lot of cattle technical means, not good-looking is uncomfortable.
Also, do not tell the user command line, I looked bored, not to mention the general user.
In short, the title of this in the general user's view, is a useless semi-finished, the main problem is to promote, but also need to work hard.
I think the boss will agree with you if your operation is friendly enough and your practical problems can be more effective and convenient. You change the English into German and the symbols to the rune letters.
It's basically what your program does in the eyes of non-programmers. Get a front end, set the input conditions, and let the people go straight.
Want to make muggles use magic? Not to teach them spells, but to sell them in scrolls. You let the business people learn the code. Do you want to learn not to scold you or to learn to replace you? Let the user write SQL statements?? And then you just execute?? When I was in college, I did a lot more than that. Do the software should know, never trust the user input ... Last time I made a spa, a delete button, I tried 3 positions before finalizing.
Once heard a word, "the user as a fool, as the extremely impatient bear children, you are right." ”
I did not agree before, and after a few pits, I agreed.
The user does not consider the complexity of the application. Only consider the use of the cool, Yan value is not high, can be about cannon, can tease sister. The first principle of the procedure is to treat users as if they do not know what fools to look at, so design their own program interface and logic, in order to let the final results do not have problems ...

Obviously, what you're doing is too far away from this goal ...

General previous can manipulate the content of the project, to have different permissions of things, but also have a background management interface, not just to do the display can be, because the direct operation of the database is taboo, generally to encapsulate and then do the perfect data check permissions, administrators also rarely directly manipulate the data, are in the background management page to manipulate the data ... Because people are confused when the hand-slip operation of the database, the wrong way to do? Being cautious is the most important thing ...

You now not only to cram the front-end knowledge, for user experience design things also have a lot of to learn, will not have so many low-level errors appear ...

This system I want to score, out of 100 points, I give up to 1 points ... It's just the interface. You don't understand what the boss means.

What he meant was.

After everyone used the habit, in case you son resigned, who will I find to maintain?
  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.