Jobs: Maxim Shamaev, CTO and CIO of X-Cart
Tips Workplaces / / December 19, 2019
Guest column "Jobs" - Maxim shaman. For more than 10 years he has been developing in X-Cart. In addition, Maxim has participated in projects such as LiteCommerce and Ninjawidget (Family modules Ecwid).
If you too are engaged in software development, it is for you, this post is required for reading. Maxim is very detailed account of his working software, "iron" and directly during operation.
Maxim Shamaev
CTO and CIO X-Cart, and the architect X-Cart 5. As CTO, Maxim has been a platform for the development of electronic stores X-Cart and rising the technological level of the company as a whole (in order to increase efficiency and effectiveness of use decisions). As CIO, he is engaged in an internal infrastructure X-Cart.
How does your workplace?
Well, let's start from the workplace:
What software use?
Oh, it's just here! :) But do not start with the software, and iron.
Iron
This laptop Lenovo IdeaPad Y560p. Noutu 3 years, but it is one of the last noutom on the desktop version of Core i7. As a consequence, the laptop is powerful enough, due to a larger number of cores. I drove him to 8 GB of memory, and as the main set screw SSD. Native screw rose instead of a DVD.
For laptop attached:
- Wireless Keyboard A4Tech - only that the manufacturer has suitable my keyboard with the layout, to which I was accustomed. Yes, Claudia simple, but on the other I'm starting to miss wildly. :) Given my high print speeds - this is critical.
- Logitech wireless mouse.
- Stand with fan for notebook.
Configuration cheap (taking three years ago for 30 TR), strong (has a modern notebooks Core i5 / Core i7 with low power consumption), but heavy in weight. However, due to the backpack, mobility is obtained acceptable. In the next room with the laptops can not approach, but to come to another office - it easily.
Laptop operation - without shutting down. I closed the lid - asleep. Opened - I woke up. Goes to sleep / wake up for 5 seconds, due SSD.
OS and the general concept of software
Operating System - Windows 7 (standing on the laptop from birth). Arranges all, not going to change. On Windows 8, too, I am not going to move, because there is not something like that, that right now I'm desperately need would be.
Next, the most interesting. Since I still strongly programmer does a lot for X-Cart 5, much to explore, I need a linux-server, where I would be, at a minimum, root. Moreover, it is better if the servers will be few. And it is necessary that all this could work without the Internet, and that if I nakosyachit on the server, its fall would be the most expensive. The solution is simple - the virtual machine.
As the virtual machine I use VirtualBox, for sufficient and free. Got a bunch of Windows + VirtualBox has the following advantages:
- I nachhat that falls virtual server or not. I will raise it again.
- I may have many virtual servers, and allows my laptop safely keep active 4 different virtual server. More I never took. :)
- On Windows, I can afford all the programs that I need, from Photoshop to Microsoft Office.
Over the years, this configuration has proved to be better than the pure Linux or than Linux + VirtualBox, as on Linux can not put Photoshop (yes, I know about the GIMP, but you he did not like it) and Office (yes, I know about the analogues, but sometimes they can not open it, I it is necessary). A situation where Linux has a virtual machine with Windows, I do not like, because it runs Photoshop dyuzhe slowly.
Since Linux was funny situation: I initially put Ubutnu, something like 10.04, as the main OS, and leave the Windows as a supporting operating system. Everything worked fine until I actually dropped Ubuntu. Okay, I restored. Another dropped again. Once again restored. Somewhere in the 10 nelly put VirtualBox. Okay, so he worked a year. And then I was the need Photoshop, Microsoft Word, and even all the little things.
Okay, first I overloaded from one OS to another. Then he began to think to put Windows in VirtualBox. Looked at how many resources guzzles Photoshop, realized that not a ride. And then I decided that it is necessary to rebuild all this in a different way. Thereafter turned current configuration. She has been working for 2 years in this mode, and I have never regretted the move, and never has there been such that I have something I can do.
Software for
My development environment - a combination of the following components:
- VirtuaWin - allows me to virtual desktops with the switching of Ctrl + Shift + arrow. Working Tables I 10: 2x5 matrix, where one table - upper left corner, and the table 10 - bottom right;
- putty - a console to the virtual machine. I place them in pairs on 4 desktops (3, 5, 7, 9 tables), as a result, I have 8 consoles to the current virtual desktop machine;
- vim inside putty - net console without a mouse. For a long time, knowledge of the code and my personal high speed allows me to very quickly work in it;
- browsers - chrome + firefox - 2 other desks (8 and 10). The main browser - chrome;
- skype - 2 table;
- truecrypt - kriptokontayner encrypted persistent enough that I kept there all their passwords. Accordingly, on 1 table I usually open the password file; :)
- photoshop (if needed) - 6 table. There is also a player foobar200; :)
- ngrok.com - a client for service ngrok, stands inside the virtual server and virtual server prokidyval out - he gets a URL like 0123456789abcdef.ngrok.com. This is very useful for debugging external services, and to demonstrate to someone something local;
- miscellaneous tools (winscp, WinCacheGrind, jmeter, etc.) - 4 table.
As a result, I always know where it is open. Among the 8 terminals also have a division:
- Terminals 3 table - mysql console + service scripts (X-Cart has a set of macros that greatly reduce the development time, just the second terminal on the table 3 is used to launch them) + start + test run code sniffing;
- Terminals 5 table - viewing log, file operations, servakov settings and so on;
- Terminals 7 and 9 tables - to edit anything using vim.
What else can be noted, if we consider the software in functionality:
- Mail - our company uses Google apps for business, so I have all the email in gmail. I look through it via a browser. This approach saves me from binding to one mailer installation and allows the use of the same postal road settings on all computers, tablets and phones. All useful links - just bookmarks in chrome.
- Quick messaging - skype + hangouts.
- Calendar - a standard Google calendar (in the browser), from the corporate account.
- Quick notes - there are 2 text files: 1 is open on the screw, and the second in kriptokonteynera. Links to them have a right on your desktop. I open them usually on the table 2.
- working time management - using trello.com, kanban board in your browser. It is free and very functional. It serves me a notebook like my works, and some big problems. Is able to bind the card to date.
- Twitter / facebook / vk / other - no individual customers, all through a browser. I open them no more than 1 time per day. The only thing is, how to use vk player. :)
Responding to questions that may arise:
- No, I do not use shared folders in VirtualBox. The data that are valuable to me, are stored either in bitbucket / github, or their copies are on Windows and continuous backups do not require. Other data I have. between the host and guest machine image I drag using WinSCP.
- Something valuable - either kriptokonteynera I bekaplyu home or Google drive. Since we have a corporate account with Google drive, then I have 30 GB of space there. :)
- Version Control System - git. Hosted remote repositories - bitbucket.org. Yes, he loses github in functionality, but it is cheaper, and there we have a business account. Moreover, for a situation where you have a lot of remote repositories, bitbucket much more profitable github.
- Plugins in the browser - a standard set of developer: Web developer + PerfectPixel + YSlow + Page speed + Speed tracker + Awesome screenshot.
- Windows 7, because I was happy with everything in WIndows 8, there is nothing that I would come in handy. The same bitlocker I do not need, as kriptokonteynera does everything I need.
- I check my email often enough. But often I just look at the headlines and it is decided that it is read in the afternoon. Therefore, it reads almost I 2-3 times a day. But the monitor that is in the box, about 1 every 15-60 minutes, depending on what I'm doing now.
- In Skype, and I have always hangouts. If I'm not there, then I sleep, or going somewhere, or died with noutom. :) And, I often do not turn off the laptop at night, so it seems that I am always online.
We should also mention my commitment to master Vim. :) Yes, I know about the benefits of PhpStorm and similar IDE, but so far they can not get together and go to them. :) Moreover, the habit is so strong that all attempts to go, I have been a terrible rejection. :) No, well, actually,: w I type faster than Ctrl-S. :) Probably, if the code for me was a stranger, I would start right away with the use of code PhpStorm... but I know well, its structure initially clear and simple, so, in fact, part of the functional, which takes on the IDE, I realize myself, and I do not pulls. :)
And yet, apart about mobility. When I do not have laptop batteries, but need access to all the services that saves me a tablet (Acer Iconia Tab A501). The most interesting thing turns my lectures. I lecture in UlSTU, and there I sometimes gets the audience, where there are no outlets. In this case, I just use a tablet - its battery and functionality lacking in abundance. Moreover, it also has a post office, and Google docs, and clients all the necessary services, from trello to skype. Virtual machine - that's the only thing I do not have on the tablet. :) But at this moment I do not need. It does not need, and in other similar situations - at conferences, on the train or plane.
Oh, and for the transfer of the spirit - screenshots. :)
How do you organize your time?
Common approaches and principles are simple, have developed over the years. About a year ago, I read about GTD and slightly changed its processes, however, GTD-compliant, they did not. :)
So, I plan to Trello seem very inconsistent, dividing tasks for tactical (the next 2 weeks), strategic (to be done in six months) and thoughts (there is trash, which I periodically review).
Before I entered the recording trello 3 text files. Then he moved on Trello seem very inconsistent, because I was there began to lead the planning of individual projects and not to keep records about the project and its causes separately, in different systems, moved all in trello.
Quick recording thoughts - text files. Later I cleanse them, carrying something in Trello seem very inconsistent, if necessary. In fact, it's the clipboard, where I copy something for later analysis. Faster's nothing these files. They beat and Trell and paper notebook. :)
The very plan I built so that there is a TASK that never fade. This Taxco on the revision of Trell and text files. :) UR - about 1-2 times a week. Often - on Saturday. At the exit I get re-sort and changed card in trello + empty text files.
External "pathogens" that can affect my work, except of skype, mail and personal appeal, can be identified:
- youtrack - it development team X-Cart 5 manages its objectives and future plans;
- statuscake.org - monitoring our infrastructure.
As a result, I have everything electronic, paper-existent. :)
What's your daily routine?
6:00 - I wake up.
7:30 - avert my daughter to school.
8:00 - I'm at work. My initialization begins:
- see post, reply, if necessary;
- see the calendar;
- refresh Taxco for the day, re-sort in relation to the day;
- decide that from Taxco today will do;
- look youtrack, statuscake and others.
9:00 - work on Taxco.
12:30 - Lunch.
13:30 - again looking mail, youtrack, statuscake and others.
14:00 - return to work in Taxco.
18: 00-19: 00 - leaving home, because I want to dinner. :)
21:00 - back to work.
23: 00-00: 00 - sleep. :)
In addition, often I work in the evenings on weekends. At this time, I read some blogs, I see the library, I read changelog'u new versions of some libraries and so on. Let's just say, look around, what's new this week. Then I re-sort the Trell and devastated text files.
As for productivity and procrastination.
Basically, if I get enough sleep, I'm productive all day and night. This helps me to music. I'm a fan of Power metal, and this energetic style. :)
Well, in general, metal respect. :) As to specific groups - Manowar, Running wild, Iron Saior, Powerwolf, Ross the boss, W.A.S.P, U.D.O, Warlock, Virgin Steele, Sister sin, Firewind, Axxis, Battle beast, Amaranthe, Lordi.
Even if there is procrastination, if stuck, blunt - you will lead the music.
Of course, the recipe is not for everyone, but someone will help. :)
The only thing in music is a minus - I have often in the headphones and can not hear when I call. But ping through skype helps fine. :)
What place sport occupies in your life?
Sport... Here everything is bad. :)
I can not get together and do something - eats up a lot of work time. From time to time I make forays into rocking, but I was missing up to a month, then again it is necessary to Th something urgently to do, and I throw it.
Although about a year ago I started to skate, but there has been some Fail: if a winter all skates was good in the summer, standing on roller skates for the first time in my life, I have to go much broke left hand.
In principle, it is not much affected me, although I put the Ilizarov apparatus. I worked in the hospital on the third day, and even with one hand. Well, then I'm with this hand, in the apparatus, It was on our corporate parties and Ulcamp 2013.
But with the summer skates I decided after this tie - painfully expensive fall. :)
Free or "forced" free time I kill, reading something on a tablet. facebook is often, habrahabr, some thematic blogs, articles on technology, scientific and popular articles.
If you want to turn off the brain, solitaire.
On weekends, I play computer games. Usually it is some old RPG. Now it Might and Magic 6. I can pass them for months, because of the shortage of time. :)
At one time he played the electric guitar, but stopped after a fracture. Returned to play somewhere in the area in October 2013, but had to quit in December... Here, I think, in the near future will have to start again engaged (for a broken arm would be useful).
Layfhakerstvo from Maxim Shamaeva
If we go by the standard things (books / podcasts / video), then things like this.
books
I'm a techie, so purely technical literature. It's all classic, which it is useful to re-read:
- "Techniques of object-oriented design. Design Patterns "- E.Gamma, R.Helm, R.Dzhonson, D.Vlissides.
- "Refactoring. Improvement of Existing Code "- M.Fauler.
- "Code Complete" - S.Makkonel.
podcasts
Here, too, all the classic, but not enough, so I listen to a little more I read:
- RadioT $
- IT-compote.
Video Podcasts
Here, everything is bad. Something remarkable, I can not distinguish... Something that just need to see here, this is not. Often something important occurs in the form of slides, but not in the form of video. Although maybe I uninteresting videos. :)
But, in fact, the selection of information - this is very individual.
For example, I'm not interested in a lot of business-literature of marketing. I'm not interested because I was a technician.
But I'm interested in is technology, new approaches and trends. And it is often possible to catch in some blogs, Twitter and so on. In the video, podcasts and it will appear in a month.
But the catch - this, again, search and referrals. For example, I found an interesting report looked twitter author, looked at his blog and found something interesting. But whether or not to subscribe to this blog? No, it is not necessary, as the information appears there twice a year. For all the experts - they are engaged. Just so no one writes. Yes, and does not appear in the life of a particular spetsa something interesting, write about and worth and that I would be interested. Therefore, some blogs that I read all the time, no. Well, maybe, this one - @developerWorks. :)
Is there a dream configuration?
Oh, it's just here! :)
I am a technocrat, so I just want to - my laptop, but the wearable computer format. At the same time, it must remain a physical keyboard, the mouse should replace glove. And I'm ready for the fact that the computer will retain the weight of 3-5 kilograms, despite the fact that it is placed in a backpack on a laptop. Autonomy - not less than 16 hours. Image size - much like the 80-inch monitor at a distance of a meter. The principle of constructing images with glasses - augmented reality. Communication - 4G.
In this configuration, I will be more mobile, able to work at all, I can see more information at one time, I can abandon the mouse for a more comfortable positioning device.
Council layfhakeram
Council is simple: you must be wondering. You have to want what you do. Moreover, thirsty work, to dream of achieving the goals. If you go to work lazily, then it is not your job or you are tired. Therefore, look for any other work or relax. If the rest, but still not rushing, then, did not your job. :)
Well, listen to Power metal. :) No more energetic and inspirational music, set to work. :)