📜 ⬆️ ⬇️

Do not put all your eggs in someone else's basket (from the book Passionate Programmer by Chad Fowler)


I continue to translate the chapters from the book Passionate Programmer, which are published in the author's blog . Chad Fowler, author of an unusual book, is a well-known speaker of Ruby and IT conferences, a former jazz saxophonist, now CTO 6Wunderkinder.

While working as a development team manager, I once asked one of my subordinates: “What do you want to achieve in your career? Who do you want to become?". I was terribly disappointed with his answer: “I want to be a J2EE application architect.” I asked him why then not with “Microsoft Word Designer” or “RealPlayer Installer”?

This guy wanted to build his career around a certain technology created by a certain company in which he did not work. What will happen if this company goes out of business. What will happen if his “new and sexy” technology becomes obsolete? Why do you want to entrust your career to some software vendor?

For some reason, in our industry, we sometimes start fooling ourselves, assuming that the market leader is the same as the standard. Based on this, some people find it quite natural to make the product of a company a part of their identification. Sometimes it happens even worse, some build their careers around such a product, which is not a market leader, and suddenly find themselves in a depressing position, so they have no choice but to reconsider their views on the further development of their careers.
')
Let's stop for a second and remember that we should take our career as a business . Of course, you can build a parasitic business, for example, there are companies that sell their programs that struggle with spyware, covering the maple leaves inadequate security model browser from Microsoft. These software companies usually adapt to changing market rules (for example, such as an unexpected security change in Microsoft’s browser or its decision to develop its own product to protect computers from virus threats). At the same time, independent developers do not have enough resources to dramatically change the direction of their career.

The sad moment in a world centered around certain software vendors is such that usually the implementation details of their programs are kept secret. You can know the work of proprietary software exactly in that volume, until you reach a professional "support barrier". A professional “support barrier” is built up artificially between you and the solution to the problem, so that the software provider can sell you its support services. Sometimes such a barrier is built intentionally, sometimes as a side effect of protecting intellectual property (by closing source codes).

Despite the fact that sighting investment in one particular technology is almost always a bad idea, if you still find yourself in such a position that you are forced to do so, consider the option of immersion in an open source solution that competes with a similar commercial product. For example, you have the desire to become an expert in J2EE application servers. Instead of focusing your efforts on the nuances of configuring and supporting a commercial solution (after all, anyone can figure out how to tweak the settings in the configuration files, right?), Download the open source JBoss or Geronimo server and make time not only to learn their basic opportunities, but also their internal structure.

After some time, you realize that some changes have occurred in your perception. This J2EE thing (or whatever you choose to dive) is actually not that special. Now you see the implementation details, you see that there are high-level concepts and patterns. You begin to realize that Java, whether it is or some other language or platform, distributed enterprise architecture is a distributed enterprise architecture. Your vision becomes more inclusive, and the mind begins to open up. You become aware that the concepts and patterns sorted by your brain are starting to be more scalable and versatile, rather than centered around the same vendor technology. “Let software vendors come and go — I know how the system is designed!”

Act!


Try to make a small project twice. Once with your core technology and a second time with the competing technology that is closest to yours.

PS Even during the preparation of the first part of the translation, I could not find a more or less suitable hub for publication, so I submit a poll to the court:

Source: https://habr.com/ru/post/192876/


All Articles