One of the things I remember being told that has stood the test of time, goes back to my University years. It is about what is expected of you at each stage of your higher-level education and where the knowledge you achieve leads you.
First and foremost, to obtain a bachelor, you must prove that you can research. In other words, gather enough information on a subject that will help with your understanding of the problem.
As a practitioner of software engineering, that could be doing research on design patterns and being able to write code in the one that is best suited for the task at hand.
For a master’s degree. Not only you have to research but also draw your own conclusions from that research. You have to be able to put two and two together. You need to prove that you have mastered the knowledge enough that you can wield it.
Each individual knowledge of generics, asynchronous programming and http may not be enough. You will need to be able to combine them in a meaningful way to write an http client capable of sending requests, serialising responses and calling back with results.
For a PhD, you have to read on existing research, draw your own conclusions, do your own research that leads to something new which in turn can be added back to the knowledge pile. That could be because you realise that existing knowledge is not enough. You need to break new ground.
In a programming language that you use, that could be working on the interpreter or the compiler to introduce new features to the language that help you write code that previously wasn’t possible.
It is fair to say that each stage takes hard work. It certainly can’t be done on a whim. It takes time to do research, evaluate, comprehend, apply and expand your knowledge.
This mantra of knowledge gathering and application isn’t unique to a University study. It is very much true as part of a professional career too. It has been my guide to a professional conduct and in critically evaluating my place on a subject matter.
- We need to raise the bar on software development “Finally you, the developer, study, practice, challenge, repeat. Read books, attend courses. Get structured, formal education.”