вторник, 16 июля 2013 г.

Right tools

Tools

Spade is OK if you dig the ground all your life laying down tubes, pipes etc... Excavator is excellent thing when you run your own business in highway construction. But if you choose software development field then your tools depend on projects. You can't dig with a spade where you have to build a wall. If the customer requires to paint that wall then that high power excavator can't do that!
But during all of my life I meet people that insist on use of they favorite spades and excavators. And it is so funny to watch someone who prises "Java (or Microsoft.Net) is suitable for any kind of task" OR somebody honoring "C++ is capable for any type of project". Stop for a minute. Think. Research the successful projects. Get experience and don't use your favorite spade for everything. You will see that some project built with PHP are still earn money (www.facebook.com). And Microsoft.Net is not in every hardware platform and OS (Java does it much better). And even Java is not in iOS!

Money

Money comes from clients. Clients almost don't care the tools you use - C++. .Net, PHP, RoR or Java. But you care! For some tool you know the best. Therefore the reason you we (programmers) run our "holy wars" is we ourselves. And these "wars" confuse clients. So I doubt you choose C++ for small dynamic Web site. Or that you choose RoR for operating system utility.

Conclusion

30 years ago programmers use C and Pascal. Internet brought us HTML, JavaScript, Java, PHP and tons of other languages and tools. C++ with STL and later Boost (www.boost.org) inspired thousands of system developers over the world. Therefore: learn the most popular tools (languages and libraries). Do what clients want and earn money. This way programmer stays programmer (but not a "perforated card dinosaur").

среда, 24 апреля 2013 г.

Software Project Management Is Extremely Important (especially in Russia)

In case of oil company (or related to that business) almost nobody cares of software project management efficiency. Even many project managers don't. Sometimes top managers care. As soon as top managers start to care of projects progress they start to kick PM's asses and finally they may fire PMs. This should be some regular process in any kind of company even in oil - related industry. And it should take place not only after shareholders meetings :-)
Otherwise shareholders have losses quarter by quarter.
The reason for that is very low top managers' competition in IT sphere and bad staff policy.
There are some steps to avoid the pitfall:
1. hire (top) managers that got excellent financial results and best reference letters; test the candidates using 3-rd party agency, no other better way; diplomas mean nothing in the country of curruption;
2. set measurable goals for the managers; check achievements every quarter using transparent data;
3. hire very good IT professional; test coming candidates (using 3-rd party agency or internal test policy); also see #1.

The truth is that best companies hire best professionals to stay the best.