Web system development, “here” and “there”
I deliberately write, hiding my faces. Unfortunately, my little experience in writing reviews about the operation of enterprises suggests that it’s better not to shine on some. On the one hand, they begin to fuss, glad that they were noticed. And on the other - to make an offended look. I do not need it, read offensive comments that may appear. Therefore, the only thing I will mention about the defendants is that the article compares a large company in the United States and a large enterprise belonging to a large, one might even say, state corporation in Ukraine. Enterprises have large turnovers, the number of employees is similar, the number of employees tied to my system is relatively similar, about ten. I have not been working with them for the first day; I have done more than one project.
To begin with - I’ll outline a bit of the problem that I solved “here” and “there”.
Staging tasks
"Task Here": A system of customer accounting and shipment of goods. Document return accounting system actually. Integration with the central base of the corporation, which lies on the Internet and does not have “ends” for connecting
“Task There”: A system for registering customers and submitting offers. In fact, it is a generator of PDF documents with the ability to count a variety of configurations, etc. things.
In both cases, I personally programmed, the programming style was used - “from scratch”, the tool - LAMP / FAR / Chrome. Development was carried out almost in parallel, except that the system “there”, in the volume of the entire task, was a little larger.
So, it all started with the assignment. I’ll tell you a little how it was done “here” and “there”. I need a task, because I am very busy, and just like that, “on my knee” I can’t do a working system. It will not be clear what.
Job preparation
I do not know about you, but what I came across here from the customer companies almost never knew how to do the task. That is, in general - I have never met a normal task. Idiocy, sort of - to make it cool and already - and give 50% kickback - it was like that. But I, as the last fool, do not participate in this. A matter of principle. And my development experience is much more than a few years, which, according to the leadership of some large companies, are sufficient to work as the head of IT departments. Many times more. Almost an order of magnitude more.
Hosting Providers
It’s clear that if I’m developing a web-based system, I need a hosting provider. Here I can honestly and safely call who I used and their advantages and disadvantages
In terms of connection speed, the "mihost" suited me much more. According to my subjective feelings, he was ten times faster than a similar foreign "rakspeys". I will clarify, I am most concerned about the operation of copying from FTP. Mihost also does not allow long pauses between sessions of receiving or sending files. However, in terms of work, all this speed was overshadowed by the client’s system administrator, who could not connect the crown job. As a result, I was forced to make its execution remote, from my hosting, on which I added everything I needed.
At the rakspace, the client set the task, but he didn’t succeed, he gave me the ends and I edited it myself, it took five minutes. Here, - the administrator could not install the crown task for more than a month. As a result - I’d rather work with a slow rakspeysy there than with a fast mihost here.
Development progress, communication with the customer
Design support
Follow up projects. Quality.
Well, you understand, all the work of a freelancer is based on the fact that clients should bring clients. That is, a "freebie" in terms of quality is not acceptable. And if the client said what, then it is necessary to make a run and already.
Performer Control
In the end
I do not want to offend anyone. Like "there" is better. “Here” is worse. Nothing like that! It’s better for me to work - here, with fast hosting, with a Russian-speaking client, with whom we went to cognac more than once, and have been familiar for more than one day. But life disposes - otherwise. And I understand that I have to choose, far, but more stable.
Where would I like to work next time? Of course with a foreign customer. He usually does not hesitate to say "thank you" for what he has done. And sometimes I was asked a question - it would be nice to say “thank you” for this part of the project, and not bad - for that one. At "us", although the customer and a good friend, he paid for the system. as I understand it personally, of course, this did not add enthusiasm to him. The higher authorities simply scored on a working tool, and forced users to keep records further in Excel. In which 10+ thousand lines and which on my "eight-core" opens up to 30 seconds of time.
PS. Here is a couplewords about the system made "here." A few screenshots to generally understand what is at stake. I didn’t write about the “theirs” system, we rule and rule it, and there isn’t much time. I hope that someday I will add a few words about her. But, in general, it is not much different.
In general, it’s very interesting how the Habr community develops work here / there. In order to somehow understand this, to realize and adjust my methods, I am writing this all.
update1,2,3: I want to say thank you to the users of the "Habr" under the nickname Goder, side2k, mytribune, who spent time trying to fix my grammar errors.
To begin with - I’ll outline a bit of the problem that I solved “here” and “there”.
Staging tasks
"Task Here": A system of customer accounting and shipment of goods. Document return accounting system actually. Integration with the central base of the corporation, which lies on the Internet and does not have “ends” for connecting
“Task There”: A system for registering customers and submitting offers. In fact, it is a generator of PDF documents with the ability to count a variety of configurations, etc. things.
In both cases, I personally programmed, the programming style was used - “from scratch”, the tool - LAMP / FAR / Chrome. Development was carried out almost in parallel, except that the system “there”, in the volume of the entire task, was a little larger.
So, it all started with the assignment. I’ll tell you a little how it was done “here” and “there”. I need a task, because I am very busy, and just like that, “on my knee” I can’t do a working system. It will not be clear what.
Job preparation
- There, at the level of the project developer (prof. Designer), an PDF document was generated, in two or three versions, as well as a presentation document for the client. After everyone settled it, they gave me a ready PDF and asked about the deadlines and my comments. I, somewhere within 2-3 days, wrote all the questions about things that seemed incomprehensible to me, clarified the timing of the project. All approved within a couple of days.
- Here, they told me in a personal conversation that there is a problem at enterprise X. They need to print pieces of paper that are glued to boxes with goods. But they, because of the ugly laziness and stupidity of the workers, cannot do this in Excel, and therefore suffer. Yes, the customer base is in this “eksel”. Thousand so on 7 records. And they, they all enter the data in bulk, but they don’t know how to make a page for printing, or God forbid, a macro. As a result, I put in a “blank” system for printing this case, to import data from Excel, and to generate PDF, all on the Internet on your hosting. Further, the people “poked” into this thing, it turned out that it was efficient and convenient. Next, we sat down with a friend who works at this very enterprise, and formed a task, it took about 2-3 hours somewhere.
I do not know about you, but what I came across here from the customer companies almost never knew how to do the task. That is, in general - I have never met a normal task. Idiocy, sort of - to make it cool and already - and give 50% kickback - it was like that. But I, as the last fool, do not participate in this. A matter of principle. And my development experience is much more than a few years, which, according to the leadership of some large companies, are sufficient to work as the head of IT departments. Many times more. Almost an order of magnitude more.
Hosting Providers
It’s clear that if I’m developing a web-based system, I need a hosting provider. Here I can honestly and safely call who I used and their advantages and disadvantages
- “Provider is there” - rackspace, a hosting plan like “pc-sites” is called, I didn’t have access to the panel (I could get it on first request)
- “Provider is here” - the host, I don’t know what kind of hosting plan, I didn’t have access to the panel (I could not get it, they have each login activated to the panel from a mobile, and the phone number is not mine).
In terms of connection speed, the "mihost" suited me much more. According to my subjective feelings, he was ten times faster than a similar foreign "rakspeys". I will clarify, I am most concerned about the operation of copying from FTP. Mihost also does not allow long pauses between sessions of receiving or sending files. However, in terms of work, all this speed was overshadowed by the client’s system administrator, who could not connect the crown job. As a result, I was forced to make its execution remote, from my hosting, on which I added everything I needed.
At the rakspace, the client set the task, but he didn’t succeed, he gave me the ends and I edited it myself, it took five minutes. Here, - the administrator could not install the crown task for more than a month. As a result - I’d rather work with a slow rakspeysy there than with a fast mihost here.
Development progress, communication with the customer
- The customer "there" - everyday reports, and just talking on Skype - were the norm. And we talked for many hours, sometimes. My English is to blame, which I improve only in communication, I don’t want to study. All the nuances were verified so that in the end it was already fun and interesting - when this whole thing would end. The customer was interested in every little thing and helped in every task that I asked to do. That is, - it is necessary to enter the data, please, we are already doing;
- The customer is “here” - well, let's say, the first two weeks I made one form, asked to fill it out. Filled two more weeks. The department, - seven people, just stupidly sat and did nothing in this regard. Then, for another two weeks, they spat on the ceiling, because I was slowly making interfaces. Then the customer asked when, and after the weekend I finished the whole system. After which, about two weeks - his team was again raped. I even made them a “bug” tab so that they wrote what was wrong. For the first day they wrote something there, for the second day they wrote, and that’s all. I decided this whole thing instantly. After that - it took about 15 days. Work in the system is not carried out at all - for about a week. Not interesting apparently. At the same time, I know for sure that the customer has a problem with the data that this system could provide.
Design support
- “There” is a designer attached to the project, who, if necessary, rules from my words, knew my system;
- “Here” - there is no designer, I am a designer, I am a programmer, in general questions of interface designs were not raised.
Follow up projects. Quality.
Well, you understand, all the work of a freelancer is based on the fact that clients should bring clients. That is, a "freebie" in terms of quality is not acceptable. And if the client said what, then it is necessary to make a run and already.
- “There” - quality control was carried out by another leading programmer of my level, suggested a couple of nuances, I corrected it - took the Indian code, took empty templates, made a garbage collector for files. As a result, everything came out very pleasantly. Code cattle - a minimum;
- “Here” - nobody cares at all, no one has questions about how and what has been done inside. I collected the Indian code on my own initiative. Garbage collector is generally difficult to make, Cyrillic in file names. Well, there is no such volume.
Performer Control
- “There” is a logging system, I made it about a year after the start of development in order to catch “glitches”.
- “Here” - before the start of work, it was agreed to make a full logging system to control user actions. There was a suspicion that they could be dirty (!).
In the end
I do not want to offend anyone. Like "there" is better. “Here” is worse. Nothing like that! It’s better for me to work - here, with fast hosting, with a Russian-speaking client, with whom we went to cognac more than once, and have been familiar for more than one day. But life disposes - otherwise. And I understand that I have to choose, far, but more stable.
Where would I like to work next time? Of course with a foreign customer. He usually does not hesitate to say "thank you" for what he has done. And sometimes I was asked a question - it would be nice to say “thank you” for this part of the project, and not bad - for that one. At "us", although the customer and a good friend, he paid for the system. as I understand it personally, of course, this did not add enthusiasm to him. The higher authorities simply scored on a working tool, and forced users to keep records further in Excel. In which 10+ thousand lines and which on my "eight-core" opens up to 30 seconds of time.
PS. Here is a couplewords about the system made "here." A few screenshots to generally understand what is at stake. I didn’t write about the “theirs” system, we rule and rule it, and there isn’t much time. I hope that someday I will add a few words about her. But, in general, it is not much different.
In general, it’s very interesting how the Habr community develops work here / there. In order to somehow understand this, to realize and adjust my methods, I am writing this all.
update1,2,3: I want to say thank you to the users of the "Habr" under the nickname Goder, side2k, mytribune, who spent time trying to fix my grammar errors.