Some ideas for increasing web developer’s personal productivity.
The benefits that a person brings to society, on the one hand, are extremely subjective, on the other - it is used to evaluate salary, contribution to history, authority and many other “aspects” of human life. Moreover, the finiteness of the lifetime makes us do more in the same time or do the same in less time. Moving from philosophy to practice, I want to present a few ideas that I tried and that helped me improve my productivity.
I applied these ideas as a web developer, but some of them will be useful in other areas - design, work with data, etc. Throughout my career, two things annoyed me:
Slow iron . Popular CMS, especially CMS curves, especially PHP-Nuke, with which I met at the dawn of my youth, are usually quite inhibited. Server code is heavy, pages are too large, scripts and styles, including unused, megabytes. Yes, it happens ... And the weaker the iron, the more hell to work in such conditions.
Need to switch windows . It was annoying when I had a 17 inch CRT monitor (1024x768), it was annoying even when the monitor began to have a resolution of 1680x1050, even FullHD doesn’t save the situation much - almost all routine tasks of the web developer have to switch windows.
')
In order to solve these problems at different times I have tried (and still apply):
SSD . I put the SSD in the first place, because it was from him that I had the greatest delight when installing. To work - to work, and not to listen to music and watch movies - has become much more comfortable. Those who are already using SSDs will surely agree with me, numerous tests show that in a modern system (even Core 2 Duo is enough) replacing the processor will not give such an increase in performance as SSD. Plus at the moment (summer 2012), the structure of the drive market is such that you can buy an SSD as a system or a caching disk for a relatively small 2-3 thousand rubles in a conditional home computer, and you will have to spend about 4 thousand on the main storage medium (price for 2TB HDD), that is, the SSD from an expensive toy is gradually transformed into a system disk, which is used by many.
Power Fast media is good, but when it comes to the execution of scripts, the opening of many programs, the storage of a large amount of information, other components of the computer come into play. It is important that the system does not slow down due to one weak component - be it a processor, memory size or even Internet access. It is important to keep a balance - if the computer is not used for gaming, there is little point in buying a gaming video card, it is better to invest this money in other components - the same SSD.
It is very important to monitor the amount of RAM occupied. The lack of memory will force the computer to use a swap file, which is speeds orders of magnitude lower than the RAM, while now the RAM costs a penny - 4GB can be taken for $ 25 symbolic, so if RAM is not enough, you must purchase another plate or two, the benefit now is really cheap.
And, of course, the processor. By the nature of my work, I sometimes have to perform some long operations — generation of migrations, import-export of a database, data processing, etc. Many of the operations (especially when using SSD) run into the processor. However, when choosing a processor it is also important to keep a balance - if the application used is single-threaded, there will be little point in multi-core processor, and even in multi-threaded things are not always obvious, especially if you compare processors from AMD and Intel. Also, a fresh generation is not always as good as the previous one, as they ask for it. And, of course, overclocking. This interesting process allows you to squeeze the most out of the available piece of silicon. Of course, it is necessary to prepare for it, including morally - the stone can simply be killed. However, the risk - a noble cause.
Two monitors . It is great. There was no less delight from this than SSD, and there was also quite a lot of benefit. Two monitors allowed to see at the same time the layout in PSD and the fixed one, the script code and the result of its work, etc. Moreover, now almost all computers have the ability to connect at least 2 monitors, including laptops have the ability to connect 1 external in addition to the main display. You can increase the number of connected monitors using modern advanced video cards (4-6 monitors), connecting additional video cards, plugs (2-3 more monitors), or using USB-HDMI video cards. At the moment I am using this on my laptop. Over time, when Thunderbolt becomes popular, the problem of connecting more than 1 monitor to a laptop will disappear, because TB allows you to connect monitors in a chain to a single port.
Dedicated server . If you are working on a laptop like me, sometimes its relics may simply not be enough - for these purposes I have a separate powerful system unit on a 4-core processor with a large amount of memory. This is not the most profitable investment, especially for a lone developer, but with team development, or the need to use more powerful hardware than notebooks, this is almost a necessity.
IDE . Just saves time.
Virtual machines One of the most useful things I've come across. It allows you to test software in different environments, under different operating systems, in different resource conditions, etc. At the same time, VirtualBox, for example, is free.
Quick software . Over time, our favorite programs tend to become overgrown with fat, start to slow down, lag behind the market in features, etc. Such tools have to be changed to something more convenient. The first time, of course, is unusual, but over time the habit comes, and the choice becomes justified. At one time, I didn’t want to change FF to Chrome, but I decided and didn’t regret it, it was the same with the NetBeans -> PHPStorm transition.
Continuous integration . A very useful thing, especially for team development - allows you to quickly see problems, set up a uniform environment, speeds up the deployment - in general, along with other things like virtual machines, tests, etc. allows you to save time on uninteresting things.
Last but not least - Silence . Working in a relaxed atmosphere, less energy is spent on distractions. However, absolutely not sour too, of course. And, of course, silence is useful for a programmer to work on a task that requires concentration, but also to communicate with colleagues, sharing experience is also useful, the main thing is that it does not take up all the working time.
I hope some of the above ideas will help to take a fresh look at your workplace, help you improve it, so that work brings more joy.
UPD1: Additions from comments: Tabasov reminds about hotkeys (hotkeys). Practically in any software there are hotkeys, so with frequent use of the mouse for some operations, it makes sense to look for a hot key for it. deetriple and Di_Zed talk about the importance of ergonomic workplace - chair and lighting. Indeed, the noise level of the workplace is only one of the characteristics; so is the light, various radiations (for example, radiation). On the documents governing the required indicators of the workplace, you can read in Wikipedia .