A Few Ideas To Improve Your Web Developer’s Personal Productivity

The benefit that a person brings to society is, on the one hand, extremely subjective, on the other hand, it measures salary, contribution to history, authority and many other “aspects” of a person’s life. Moreover, the finiteness of the time of life forces us to do more at the same time or to do the same in less time. Moving from philosophy to practice, I want to introduce a few ideas that I tried and that helped me increase my productivity.

I used these ideas as a web developer, but some of them will be useful in other areas - design, working with data, etc.

Throughout my career, two things have annoyed me:

  1. Slow iron . Popular CMS, especially CMS curves, especially PHP-Nuke, whom I met at the dawn of my youth, are usually pretty slow. Server code is heavy, pages are too large, scripts and styles, including unused ones, megabytes. Yes, it happens ... And the weaker the iron, the greater the hell to work in such conditions.
  2. The need to switch windows . It was annoying when I had a 17-inch CRT monitor (1024 × 768), it was annoying even when the monitor began to have a resolution of 1680 × 1050, even FullHD did not save the situation much - in almost all the routine tasks of a web developer you have to switch windows.


In order to solve these problems at different times, I tried (and still apply):
  • SSD . I put the SSD in first place, because it was from him that I was most delighted with the installation. Work - work, not listening to music and watching movies - has become much more comfortable. Those who already use SSDs will probably agree with me, numerous tests show that in a modern system (even Core 2 Duo is enough) replacing a processor will not give such an increase in performance as an 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 cache disk in a conditional home computer for relatively small 2-3 thousand rubles, and you will have to spend about 4 thousand on the main storage medium (price for 2TB HDD), that is, an SSD from an expensive toy is gradually transformed into a system disk, which many use.
  • Power . A fast storage medium is good, but when it comes to executing scripts, opening many programs, storing a lot of information, other computer components come into play. It is important that the system does not slow down due to one weak component - be it the processor, the amount of memory, or even Internet access. It is important to keep a balance - if the computer is not used for games, it makes little sense to buy 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 used. Lack of memory will force the computer to use a swap file, which is several orders of magnitude slower than RAM, while RAM is now worth a penny - 4GB can be taken for symbolic $ 25, so if there is not enough RAM, be sure to buy another card or two, good now it really cheap.

    And, of course, the processor. By the nature of my work, I sometimes have to perform some long operations - generating migrations, import-export databases, data processing, etc. Many of the operations (especially when using SSDs) rest on the processor. However, when choosing a processor, it is also important to maintain a balance - if the application you are using is single-threaded, there will be little point in multi-core processor, and in multi-threaded everything is not always obvious, especially when comparing processors from AMD and Intel. Also, the new generation is not always so much better than the previous one, as many ask for it. And, of course, overclocking. This interesting process allows you to squeeze the maximum out of the available piece of silicon. Of course, it is necessary to prepare for it, including mentally - a stone can simply be killed. However, risk is a noble cause.
  • Dual monitors . It is great. There was no less enthusiasm for this than for SSDs, and there were also quite a few benefits. Two monitors allowed us to see both the layout in the PSD and the layout, 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 that have the ability to connect 1 external display in addition to the main display. You can increase the number of connected monitors using modern advanced video cards (4-6 monitors), by connecting additional video card 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 gains popularity, the problem of connecting more than 1 monitor to a laptop will disappear, because TB allows you to connect monitors in a chain to one port.
  • Dedicated Server . If you work on a laptop like me, sometimes its power 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 single developer, however, with team development, or if you need to use iron more powerful than laptop, it is practically a necessity.
  • The IDE . It just saves time.
  • Virtual machines . One of the most useful things I've come across. Allows you to test software in different environments, under different OS, in different resource conditions, etc. At the same time, VirtualBox, for example, is free.
  • Fast software . Over time, our favorite programs tend to grow fat, begin 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 did not want to change FF to Chrome, but I decided and did not regret it, it was the same with the transition NetBeans -> PHPStorm.
  • Continuous Integration . A very useful thing, especially for team development - allows you to quickly see problems, set up a uniform environment, speeds up deployment - in general, coupled with other things like virtual machines, tests, etc. It allows you to save time on uninteresting things.
  • Last but not least, Silence . Working in a calm environment, less effort is spent on distractions. However, it’s not worth souring at all, of course. And, of course, silence is useful for a programmer in working on a task that requires concentration, but communicating with colleagues and 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 of hot keys (hotkeys). Almost any software has hotkeys, so if you use the mouse frequently for some operations, it makes sense to look for a hotkey for it.
deetriple and Di_zed talk about the importance of ergonomic workplace - a chair and lighting. Indeed, the noise of the workplace is only one of the characteristics, lighting and various radiation (for example, radiation) are also important. About the documents regulating the required indicators of the workplace, you can read on Wikipedia .