Bill Goldberg, the wrestler, had this way of saying “You’re Next” that made whoever realise they really where next in line to get smashed. There is no next person for me though rather next objectives, but what I can say is that I have come to realise and understand several things in the last 6 months about myself and where I see myself going career-wise for the next 12 or so months. I have been to several interviews in the last while, say two years or so, and admittedly I did not succeed in all of them, but what I did take from them was that you kinda have to keep going and you have to try and get better at what you do, and more importantly get better at where you want to see yourself. I am the only one capable of making my life what I want it to be, or as Ghandi put it “Be the change you want to see”. I see myself being a great C# developer firstly. I love abstracting requirements into functional pieces of code, because it allows you to think and it allows you to do things. Becoming a great C# developer will require lots of discipline and the measure of being a great C# developer might be becoming a C# MVP, which is kind of a peer review system. Getting to that point will mean taking time to understand code and delving into the detail of what the code does. It also means compartmentalizing things into smaller understandable chunks and building to a bigger picture of things. Being a C# developer means not only focusing on just the language itself, but also focusing on the environments that what you are developing run in. WCF for instance does not simply use C#, but it also uses other aspects of Windows and the .NET framework, which require some understanding. Another way of measuring my way to becoming that great C# developer is being able to answer most of the demands of any interview! Look at these questions, taken from Scott Hanselman:
- Describe the difference between a Thread and a Process?
- What is a Windows Service and how does its lifecycle differ from a “standard” EXE?
- What is the maximum amount of memory any single process on Windows can address? Is this different than the maximum virtual memory for the system? How would this affect a system design?
- What is the difference between an EXE and a DLL?
- What is strong-typing versus weak-typing? Which is preferred? Why?
- Corillian’s product is a “Component Container.” Name at least 3 component containers that ship now with the Windows Server Family.
- What is a PID? How is it useful when troubleshooting a system?
- How many processes can listen on a single TCP/IP port?
- What is the GAC? What problem does it solve?
I don’t know all the answers unfortunately, and if you visit that link you will see a whole list more, which I don’t all know either. But I guess the upside is that now you can find it out and make sure you do.