Programming psychology

A friend of mine was dreaming of writing the first book about programming psychology, and after a year of collecting anecdotal material he found out there is more than one book on the subject. This sounds strange and stupid, but smart people try to reinvent the wheel even more often than people who are not …

For programmers: QA and testing

QA and testing deal with the system after all the technical team feels confident with the product features and before the customer get the product. Experienced testers know too well that if anything can go wrong it will go wrong, and it is their job to make sure nothing goes terribly wrong. The biggest issues …

Do mental math

Read about Trachtenberg system for mental math. Now choose a random number. Start with 5 digits, with time try to upgrade to longer numbers. Do mental computations. Expected effects: faster and better working memory access, improvement of mathematical tasks. No program or tools required: everything can be done in your head. Beginner level Multiply by …

Superlearning for programmers: benchmark yourself

How do you know if you are a good programmer? There is no single criterion. This test provides some benchmark for your abilities. What other tools do you have to judge your own abilities? Programming polyglot Just like knowing many languages facilitates some business transactions, knowing many programming languages facilitates your conversation with other programmers …

For programmers: fast and smooth integration

Being a programmer and working on complex projects we may spend almost as much time on integrations as we spend on debugging. This is a bit counterintuitive for a young programmer so I will try to explain the details. As programmers we are a part of a bigger team. Each team member gets a block …

For programmers: UI and front end

Front end and user interface design appear to be the easiest part of the programming problems, but they tend to become very complex if not executed properly. This activity requires discipline, visualization and memory. While the tips below may help they are in no way a replacement for experience, imagination, aesthetic vision and psychological insight …

For programmers: tips for functional programming

When we are talking about functional programming, we are talking about speed, efficiency and cross-platform support. Functional code is very close to machine language. It may use intrinsics of the processor, GPU code, SSE/Neon optimization, and lots of pointers. I love functional programming for its purity and no-nonsense approach. Functional programming may be dangerous and …

My advice for a young programmer

I asked the superlearners on the programming group to send their advice to the beginning programmers. Below I summarize some of their suggestions with my own commentary. Always comment your code. Commented code is not only visually pleasing. We need to pass our code to other people to read. And if we have done something …

Quick tips for object oriented programming

Most of our students who are programmers use Java. This lecture is for them, and not only for them. Many students ask how to use our methods for programming. Actually we took many of the programming methodology and used it in wider context – so using it in original context will be easy. Let us …