About the professional growth of a programmer

    I decided to share my observations on the topic of professional growth, a question that worries many developers. I hear around: “I have stagnation, I want to develop further, but I do not (do not) give such an opportunity. On this project I can’t improve. I am degrading without working with new technologies. ” Let's look at the path that a developer has been following since the beginning of his career.


    1. Hello World period.

    The developer understands what a computer program is, gets acquainted with the concept of a programming language, libraries. Starts to develop something on their own.

    2. The period of awareness

    The developer sees that his crafts are different from the applications that he constantly uses. He begins to copy the missing elements into his system, encounters problems of entropy of program code, comes to understand the need for an elementary process, asks questions of style, gets acquainted with templates.

    3. Maturity

    The developer already has an idea of ​​how software systems are developed, is well-versed in his field, tests, refactors, uses advanced (read simple) development approaches.

    4. Search period (I don’t know what to call)

    Moving from period 1 to period 3, moments of insight were found on the developer, he understood that new knowledge was opening up completely new horizons for him. And so he is looking for step N4. Technology, methodology or benchmark where to go next. Studying more and more new patterns, he realizes that the usefulness of the acquired (assimilated) knowledge is reduced. It is difficult to find something that will radically change his professional level. And now he dreams of meeting the 4th level developers, gaining experience from them. And when he finds "advanced" programmers, he disappointedly realizes that they have only an advanced level of 3, possibly 3.255 but not at all 4.

    So does this fourth level even exist? Perhaps someone ingenious will come up with an approach that will fundamentally change our understanding of software development, will allow you to take a step as significant as when moving between previous levels. Where to grow further?

    I think there is no need to look for level 4 in technologies or methodologies. In the end, technology does not solve anything. The fourth level you need to look for in approaches to UI design, interactions with users, in the “high-quality” solution to your daily tasks.

    In the race for new knowledge, technological knowledge, you need to be able to stop in time and understand that you already have enough technical knowledge to achieve your goals. And another new technology will not take you to a new level. It is much more important to learn to look more broadly at solving everyday problems, from the point of view of knowledge of end users, customers, and investors. The fourth level is at the junction between development and the task. To switch to it you need to become a "less" developer. Kill in yourself "only the programmer."

    Also popular now: