Fremus.co.za

Demistifying Life and Web Development

Whats next?

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.

  • Share/Bookmark
Tags: ,
posted by fr3dr1k in Personal and have No Comments

My personal growth – sustaining it

My manager asked me today to give him some insight into the things I would like to learn more about, with a particular focus on my own development, and I thought it a good idea to spend a few minutes posting a blog on the topic. My personal interests lie in a few areas at the moment, and when I say personal interest the context is work, and more specifically the technologies that I work with. One area I really want to focus a lot on in the coming months is the C# language itself and in particular:

  • Generics
  • Delegates with the specific aim of better understanding Linq
  • Linq to Objects
  • Linq to XML

I would like to know and understand the C# programming language in a comprehensive manner. In addition to the language I would also like to understand design patterns and overall system design, with a very strong OO flavour. I think if I can spend the next 6 months learning C# I would be a better developer for it. In addition to C# I would like to learn a second programming language and I have been thinking Python is a good candidate in this regard. I would like to apply the knowledge directly into what I do though. So if I learn Linq to XML now, I want to start using it now. If I learn the yield keyword now, I want to use it now.

Other aspects that I would like to incorporate in my learning of C# would be areas of social media such as Facebook, Twitter, Youtube, etc. I really enjoy SEO (search engine optimisation) as well, I love the metrics and the art that goes with it. I believe I can develop many aspects of this in C#. I also believe I can develop a total marketing solution that encompasses email and social media.

I am interested in topics such as ASP.NET MVC and Silverlight, but I am also interested in developing full-blown client applications in WPF.

My manager also mentioned that each new thing that we learn should be set as a target for each day. You have set yourself some goals and stick to them. One way to determine a few goals is to reflect on yourself and see what you do each day, and through that reflection set some ideals and goals.

We are at work for a purpose after all.

  • Share/Bookmark
posted by fr3dr1k in Personal and have No Comments

Starting a new job…and setting goals for 2009

I resigned earlier this month, the 1st of December 2008, to be exact to go join a group of .NET developers. I have been going for interviews for the last six or seven months, and honestly it has not been an easy trip. Simply because I realised the amount of time I spent working at my current job (4.5 years) didn’t relate as well to hard core experience, but I felt I had to make a move into an environment I wanted to be and where I see myself. I fell a little short in a view technical interviews, but also managed to outstrip a few guys with way more experience than me, but I just didn’t cut it for those employers. But eventually I found an opportunity, and I start on the 5th of January 2009 at this new job, which is both exciting and nerve racking at the same time, because I will not be permanent.

My goal for 2009 is to become a proficient to intermediate/advanced C# developer for any platform (mobile, desktop or web).

  • Share/Bookmark
Tags:
posted by fr3dr1k in General,Personal and have No Comments

3 things I learned from 2008

2008 has been an interesting year, my 28th, and in this year I have learned a few things, but some really stand out:

  • Do not isolate yourself in your field of expertise. If, like me, your goal is to become a proficient C# developer then you have to make sure that you constantly measure yourself against best practices. I realised that even though I was achieving business goals I was not doing myself any favours with the way I was programming in C#. I realised that my ways arent that great when I went for several interviews at several companies, and did their tests. The tests made me aware that I am not up-to-scratch with what I have in mind for myself and where I want to be.
  • Consistent hard work over a consistent period of time is way better than less work and a big performance once in a while. If you get the big performances wrong then you have done nothing, but if you do things consistently over a period of time, then you achieve two important things:
    1. You build and prepare better for a bigger performance
    2. And you would not have done nothing

    This applies to programming in particular. Programming is tough, but if you spend enough DISCIPLINED time on it then it becomes less difficult, and it becomes easier to put bigger things together.

  • Knowledge management is important, and knowledge transfer is also important.
  • Share/Bookmark
Tags:
posted by fr3dr1k in General and have No Comments
Get Adobe Flash playerPlugin by wpburn.com wordpress themes