⬆️ ⬇️

The end is only the beginning.

On Habré, it is customary to report on startups, but I never reported on my own , but the case was as many as four years ago. And just now, I understand that I have found the right letters (and there will be a lot of them) and the right meanings.



In 2011, I didn’t seem to realize that the start-up was not the romantic lovepinger project, but I was a start-up myself, or rather: I didn’t have a start, but a reset, which led to significant changes in my life.





')

But before you begin, note. This is the fourth attempt to write a post for the Habr, because I always lacked something, some kind of completeness, completeness. She was not in 2012, in 2013 and a year ago, either. But I don’t want to throw away the old records, and I decided to use them partially in the “From notepad” rubric. This can be quite interesting. Therefore, consider that this post was written four years in a row.



I stopped supporting the project Lovepinger back in 2012. Although the number of registered users exceeded 25 thousand, their activity was not great, and there were only three coincidences. But I just didn’t want to give up and believed, if not in a miracle, then at least in the need for a mobile application. Free, of course.



I will not go into explanations (for this you need to write one more note), I’ll just say that the choice fell on Windows Phone, which means hello C #.



Can you imagine what a C # newbie is? After a superficial study of JavaScript and PHP. From scratch. At thirty years old. With economic and legal education. I had no idea, no idea at all.



From a notebook, 2012, somewhere in the winter.

Solved. We download Visual Studio, SDK under Windows Phone. Order a couple of books on C #.



That's how I saw her for the first time, my Charly (C #). After Scarlet (JavaScript), Charlie seemed strict and disgraceful to disgrace, because she must have everything to be classy. Even if you do a trifle - do it in class. She is like a tough spouse, for whom the main value is family (logic), and the husband is the one who should protect this value.



Charley was Scarlet's complete antithesis: she does not tolerate confusion; she has everything in place; you need to communicate with her only sober. And with her, I was incomparably more difficult, more difficult and more tiresome. And when she opened my reflection, I just wanted to shoot myself.



But very soon I began to notice beauty in her severity, grace in her approaches, full of love for all that is class. Here it is - object-oriented programming, which is not just a set of notorious objects, not just a set of declared classes, interfaces, and God is all else, but the principle of interaction.




I really was shocked. Even before C #, I met a description of OOP, but reading one and realizing something completely different. Already later, a year later, I will discover refactoring for myself and finally get stronger in the thought that an expandable and easily followed application should, if it should not be executed in the OOP, then at least should borrow some principles and approaches.



Running a little ahead, I will say: it seems to me that a developer’s maturity comes when he suddenly realizes that a programming language is just a tool — it’s a screwdriver. And the whole essence is hidden in the structure and logic of the code, that there is a drawing, a scheme, if you wish. And, continuing this thought, one can say that there are no bad languages, although they are not convenient.



By the time the application was published in the Microsoft store, I was no longer in Russia. I left, at the beginning of 2012.



The feeling that you are busy with something wrong and somewhere not there did not leave me, probably, the year, that year that I studied Lovepinger. And for his (project) completion, I was already ready, ready to spit on everything and change my life (I’ve mislead, if I don’t mention that my decision had a strong influence on the fact that in 2011 it became clear who would be the next president in the Russian Federation )



Here that it is important to notice, I was a man of success (it seems so called). Head of medium size company; co-founder of a small but promising business; what is, and reputation; different high-quality characteristics in a professional environment; apartment, car, tv.



When leaving, I had no illusions. In Europe, Russian economics and, even more so, legal education, as it were, to put it mildly, is useless. Other laws, other approaches, other standards. I perfectly understood that the only way to self-realization is to move in the direction of web development. And I was ready for this: ready to stay up at night; sometimes ready to read unbearably boring books; ready to learn, try, make mistakes and study again. But…



You know, you will not prepare for everything, and personally in my history the most difficult test was misunderstanding and condemnation. Misunderstanding on the part of everyone, except my clever spouse, who believed in me.



From the pad, 2012, autumn .



Sometimes it seems to me that only a Russian person can so wish good luck in your endeavors, that it would be better simply and directly sent. It would at least be honest.




Well, imagine it yourself. Quite a successful person, breaks down, throws everything and starts life from scratch, and even not at home. And this is not “downshifting” any, no - this is a challenge. Friends are perplexed, relatives condemn, acquaintances do not understand. Suddenly you are alone in every sense of the word.



The main lesson I learned for myself was “Yes, they all went!”. My life is my choice. Sorry for the pathos, but the only way really serious steps are made - without looking at someone else's, even if very valuable, opinion.



After the application for lovepinger by mid-2012, I did another thing - int.SMS, all under the same platform. It was the manager of sms-messages with the ability to send them through my gateway, which seemed to imply a significantly lower cost of the message. The cost was at that time approximately three, four times lower than the market average (for roaming, for which regular users were relied on).



The fact that the project was not as disastrous as lovepinger, but the interface solutions I invented were successful, confirmed by the fact that 2-3 months after the release of int.SMS they “broke”, and the “uncorked” version of the application was adorable at w3bsit3-dns.com. The war with the administration of this site did not lead to anything - copies of both lay and lie.



I blocked the "illegal immigrants" manually, but stupidly could not keep up with them. I updated and implemented the protection both in the logic and in the code, but from this side they let Microsoft down, that they could consider every update a week, or even longer. In short, I stupidly lost money on the Russian audience more than I earned on an honest, mostly European. Int.SMS had to close.



Having finally parted (for the time being) with the thought that I would not shake hands with Sergey Brin in the near future, I came to the conclusion that I should fill my hand with as much practice as possible. I made a bet on web development and ... well, it started: a library factory (JavaScript); module for working with CSS animation, with animation in canvas; your own WYSIWYG editor (javascript); resource loader (javascript, php, c #) and many, many more. I just took and invented a task for myself, and then solved it. And invented again. And decided again. Actually, it was almost the entire 2013 year.



Of course, after C # and the understanding that there is OOP, as well as a couple of books on professional JavaScript, my approaches to this language have changed. And it opened from a completely different side - the flexibility that JavaScript gives, with the right approach, transforms the code, making it structured, understandable, extensible.



From a notebook, 2013, summer.



It turned out that the freedom inherent in JavaScript can be turned into a completely different direction, in the direction of orderliness and transparent logic. Probably, JavaScript could be one of the most vivid examples of the fact that the language (syntax) is nothing, design is everything.




But besides all this romance, sometimes there is a desire to eat. And the money from everything sold quickly ended. Somewhere in the middle of 2013, I created my first developer summary. It looked poorly who argues here, but this is only the beginning. After 3 months of raising of HR sites and recruitment agencies - bingo! I found my first job in Europe.



As I understand now (and partially I know from the words of my colleagues), the decisive factor in the choice of my candidacy was just that I experimented impetuously, filling my hand, which was reflected in the examples of my works. Creativity, as they say.



And the most difficult was not the work itself, no, but the language. After all, I have not mentioned yet that my English was limited to "crooked tourist." Therefore, I had to delve into the language “on the fly”, which was extremely difficult (in general, languages ​​are difficult for me).



From the notebook, 2013, autumn.



There is a stereotype and a fairly stable one, saying that you can find work in Europe only if you know the language of the country where the work is. It really is. Finding a job in, say, Germany will be easier at times, knowing German. But ignorance of languages ​​is not a sentence, because we often speak the language of your profession, and if what you say with your code, with your logic, if this is really interesting, then the factor of the language becomes secondary.



You can also confidently highlight a number of countries where English takes root poorly and mainly uses the local language. These are: Germany, France, Norway, Belgium and the Netherlands. In other European countries, as it seemed to me, it is easier with English, and it can be used as the only one necessary.



As for the level of English and especially its phonetics, a pleasant surprise awaits here, for the overwhelming majority of Europeans speak English in a Russian that we know, but we speak English from May Hart.




In 2014, by the will of fate, I fired up the thought of my blog. Well, you know, these are found on the open spaces of the network. Like the gurus themselves advertise, simultaneously trying to make money on advertising. That's about this and I wanted myself.



However, very quickly I came to the conclusion that I didn’t want and couldn’t write about development. First, I do not want to offer solutions that will be worse than others, but it’s still too early to apply for a Jedi level. Secondly, I want to write about many other things: about society; about the economy; about movies that impressed; about books that helped; yes, just fix your thoughts in digital.



Create an account in a cozy zhzhshke, you say? Well, yes, an option. But not interesting.



In general, this is how I met WordPress and decided to try to write my own template . First, it may turn out to sell. Secondly, I can make a website for myself with all my Wishlist.



Sell ​​failed.



After seven months of development and three months of trying to get through to ThemeForest, I realized that the guys there are only interested in design. Let us, of course, argue, if you wish, but it is unlikely that I will change my opinion that appearance is the determining factor, and sometimes replacing. That is, even if the product has obvious glitches and obvious shoals in the interface, but this product is pretty damn good and made in strict typography standards, then with a high degree of probability they will not pay attention to errors.



In general, over the course of several years, using examples from various software stores (whether it is the Microsoft MarketPlace or the same ThemeForset), I realized how much the profession of a programmer, developer, designer, all those who decide to arrange their own lives, and not through an employer, is rightless. As a lawyer, I counted dozens of violations of the provisions on fair competition and protection of the rights of the manufacturer (not the consumer). The most striking of which was the response from EnvatoMarket, where I tried to place my plugin. Close to the text and in Russian: "Your plugin largely repeats the functionality already available in our store." It is difficult to imagine a grocery store, where there would be only one type of milk, one brand; but in the world of EnvatoMarket there are only such shops.



Perhaps, someday, I will sue someone in court, having thoroughly prepared myself).



From the notebook, 2012, deep autumn.



Microsoft's amazing position. I tell them, guys, my application requests a unique phone ID, and the store itself warns about it - they say the application is going to identify the device. Well, since I, you and the buyer of my application know that this unfortunate ID will be determined, then why don't you give me this ID in the statistics of those who bought the application? What legal restrictions may you refer to? And why don't you give me a direct link to the law? After all, such a disgraceful simple approach will simply negate piracy.




After unsuccessful attempts to place my template in stores, I decided to make the website for myself, or rather, what I consider useful and necessary. The idea of ​​my last project is connected with my own immigration (which is obvious, as it were) and revolves around one simple thought - the information should be free. Everyone who tried to collect data on emigration from the Russian Federation will understand me very precisely. In addition, I found a person who helped with the primary content. I will not particularly promote this project here (since the message of the post is somewhat different), I will give only a link to it for your assessment (if you consider it necessary).



My first deep acquaintance with CMS on the example of WordPress gave me the understanding that this thing should be done in OOP and / or at least correspond to the MVC model. Neither one nor the other in WordPress, as I saw it, no. In general, this engine seemed to me, how to say it - cornered. It would be rewritten with an emphasis on OOP, made more logical, more manageable; but hundreds of thousands of already implemented solutions do not allow this. Either the developers, stupidly do not want to bother on this score and rely on the availability of novice programmers (who still like to call themselves the stupid word "Saito-builder"). In the end, I chose WordPress myself, because it was easy to start with.



From a notebook, 2014, summer.



It felt like hooks in WordPress were introduced not as a solution, but as a way out. In other words, as a “crutch”, designed to solve the problem of engine controllability. After all, from the point of view of logic, it is unacceptable to interfere with the engine code (to replace, for example, some functionality) only in order to prevent the execution of some default action. But this is in this CMS very often, when you need some serious immersion inside.




In general, one and a half or two months after the first experiments with this CMS, I started developing my own small framework for WordPress in order to somehow structure the code and not get lost in the "spreading" logic. The criterion was obscenely simple: to separate data from logic, logic from presentation, that is, to get closer to MVC. And, I suppose, I have got something out of this, because despite the fact that the template includes more than 1,500 files, I understand perfectly well what is and where it lies, and easily add the necessary functionality to the engine itself. And I didn't do that much: I introduced the concept of a data provider (the controller responsible for delivering data from the database and processing it); developed the “component” element (specific functionality, which is only included when necessary) and made the view controller (completely separating the logic from the markup, which made it possible to use “clean” html files instead of php templates and scatter the styles for each element across individual files (css )).



From the pad, 2014, autumn.



I now wonder why the overwhelming number of WordPress developers will inevitably push all styles into one file, getting a style sheet of 10 thousand lines? And then how to search, how to rule? Why it is impossible to collect one file from many, save it on the server and transfer it to the client, and when updating a part, simply reassemble this, say, the resulting file? Or why you can’t write twenty lines of JavaScript and 10 lines of PHP and save resources to localStorage from there, loading them when you re-open the page?




In general, I must honestly say that I have never worked so much. Being “on the other side of the barricades” (expression from the first post), the duration of my working day was on average about 10 hours (yes, some directors work this way). Plus, almost always one of the weekends (6-7 hours) was also donated for work. But, you know what the salt is - I did not get tired. I could get tired, hesitate, get tired in the end, but hardly get tired.



Immediately quite a different matter. A developer is, as I now understand, quite difficult, especially if you are looking for a solution. Do not copy and paste, as it is fashionable to say, “best practices”, but you understand, you try to understand everything to the last if and else. 5-6 hours of sleep is normal. 7 is a holiday. But ... this fatigue, it is a thrill, it is pleasant, because you are doing what you like, what you turned out to have been doing all my life, but did not dare to admit it to myself.



* * *



So, today is 2015. Almost four years have passed since the start of my StartUp (sorry for the tautology). That post, I completed several tips for beginners. Now, I would like to do the same, but, perhaps, not only for beginners, but also for those who are thinking. And may my today's advice be much more philosophical than practical, yet I still hope that they will prove useful to someone, timely to someone.







Thank you very much, those who read it, I hope not bored. Good luck, light and warmth.



PS

In the examples I have temporarily disabled registration to prevent potential failures and reduce server load (there are other things on it that are critical for performance). Registration will open a couple of days after the publication of this post, if someone is interested.



Pps

I draw your attention to the fact that what was written above is a description of my own experience, which means that the conclusions that I made are a priori subjective.

Source: https://habr.com/ru/post/262349/



All Articles