M
Mark Braswell
Hello,
I would like to hear people's thoughts and opinions on the best way
for a VB.NET developer to move into C#. This is specifically from a
job perspective, and specifically from a UK based job perspective.
I am a VB.NET developer, and have been developing in VB.NET (also
ASP.NET) for approx. 3.5 years. Prior to that, I developed in
VB6/VB5/VB4 and classic ASP for approx. 10 years.
Since switching to .NET, I have focused almost exclusively on
web-based development, with my VB6/5/4 years being mostly desktop
application development and the most recent 2-3 years of that
including classic ASP for the web.
I would consider myself an above average VB programmer, who has always
programmed elements of an application (i.e. data access) myself
through pure code, rather than being a drag-and-drop developer. I'd
like to think that this, along with my good analytical skills, is at
least part of the reason that I hold the Senior Analyst Programmer
position that I now do, having worked my way up from a Junior
Developer position many years ago.
Prior to switching to .NET, I understood only the very basics of
things like object-oriented programming as VB6 was a severely OOP
crippled language. However, since switching to .NET, I have studied
long and hard to learn all those things that I never really properly
knew and understood about OOP. Obviously, .NET has allowed me to do
this with my code, it being a full-blown OOP framework (please, no
arguments about a lack of multiple inheritance!
In the last 2 years or so, I have seen the job market (in my area, at
least) for VB-based programmers decline, and the market for C#
programmers increase. So, I decided I needed to learn C#. Having
studied OOP and the .NET framework, and now considering myself very
proficient in both, I resolved to learn C#. Luckily, thanks to my
other study, this was mostly a question of learning a new syntax. I
have been studying C# through many different books and many online
resources (as most of my previous study was done) and I now feel that
I know and understand the C# language quite well.
I would like to make the switch, job wise, from VB positions to a C#
position. My main problem in this regard is my lack of real world C#
experience. I have interviewed for a number of C# positions, and have
been able to answer all of the interviewers questions correctly,
however, I have never been offered a C# position, with the main reason
cited as being a lack of overall experience in the language. My CV
obviously lists my current and former positions as all being VB based.
For the record, I have only one computing-specific qualication from my
education years, although not to degree level.
I am fully aware of the culture surrounding VB (both .NET and it's
predecessors) and the culture surrounding C# (and it's
related-languages - i.e. C, C++ and perhaps even Java to an extent).
Most VB.NET programmers, if they've been programming long enough, have
come from a VB background, and thus are considered "lesser"
programmers than those with C/C++ backgrounds. This is mainly due to
the fact that VB pre-.NET was not considered an OOP language, along
with the ease with which a non-developer could knock up simple
applications with VB. Whilst this is obviously a stereotype, I know
from my own experiences that there is a fair amount of truth in this.
I've worked with some horrendous VB programmers in my time, who simply
couldn't write (for example) data access code, and relied upon toolbox
objects and setting a few properties thereon to do their job for them.
However, I do consider myself well above this kind of programming, and
I'm perfectly capable of building a fully OOP-compliant application,
utilising best practise with regard to architecture, design patterns
etc. in .NET within my job, albeit using VB.NET as the language rather
than C#. I do feel that, as well as my lack of real world C#
experience, some of this cultural stereotyping is also hampering my
efforts.
I feel as though I'm in a kind of Catch-22 position, in that I can't
get real world C# experience without a job, and I can't get a C# job
without real world experience. I realise that I could go down a route
such as acquiring Microsoft Certification, however, I'd have to do
this on my own, and it seems very expensive for an individual to do,
not to mention time consuming. Being the other side of 30 years of
age and married with kids, both money and time are in scarce supply
for me.
Does anyone have any personal experience of this themselves, or can
anyone offer up any tips or pointers as to how I may "make the switch"
from VB.NET jobs to C# jobs?
Thanks in advance.
Mark Braswell.
I would like to hear people's thoughts and opinions on the best way
for a VB.NET developer to move into C#. This is specifically from a
job perspective, and specifically from a UK based job perspective.
I am a VB.NET developer, and have been developing in VB.NET (also
ASP.NET) for approx. 3.5 years. Prior to that, I developed in
VB6/VB5/VB4 and classic ASP for approx. 10 years.
Since switching to .NET, I have focused almost exclusively on
web-based development, with my VB6/5/4 years being mostly desktop
application development and the most recent 2-3 years of that
including classic ASP for the web.
I would consider myself an above average VB programmer, who has always
programmed elements of an application (i.e. data access) myself
through pure code, rather than being a drag-and-drop developer. I'd
like to think that this, along with my good analytical skills, is at
least part of the reason that I hold the Senior Analyst Programmer
position that I now do, having worked my way up from a Junior
Developer position many years ago.
Prior to switching to .NET, I understood only the very basics of
things like object-oriented programming as VB6 was a severely OOP
crippled language. However, since switching to .NET, I have studied
long and hard to learn all those things that I never really properly
knew and understood about OOP. Obviously, .NET has allowed me to do
this with my code, it being a full-blown OOP framework (please, no
arguments about a lack of multiple inheritance!
In the last 2 years or so, I have seen the job market (in my area, at
least) for VB-based programmers decline, and the market for C#
programmers increase. So, I decided I needed to learn C#. Having
studied OOP and the .NET framework, and now considering myself very
proficient in both, I resolved to learn C#. Luckily, thanks to my
other study, this was mostly a question of learning a new syntax. I
have been studying C# through many different books and many online
resources (as most of my previous study was done) and I now feel that
I know and understand the C# language quite well.
I would like to make the switch, job wise, from VB positions to a C#
position. My main problem in this regard is my lack of real world C#
experience. I have interviewed for a number of C# positions, and have
been able to answer all of the interviewers questions correctly,
however, I have never been offered a C# position, with the main reason
cited as being a lack of overall experience in the language. My CV
obviously lists my current and former positions as all being VB based.
For the record, I have only one computing-specific qualication from my
education years, although not to degree level.
I am fully aware of the culture surrounding VB (both .NET and it's
predecessors) and the culture surrounding C# (and it's
related-languages - i.e. C, C++ and perhaps even Java to an extent).
Most VB.NET programmers, if they've been programming long enough, have
come from a VB background, and thus are considered "lesser"
programmers than those with C/C++ backgrounds. This is mainly due to
the fact that VB pre-.NET was not considered an OOP language, along
with the ease with which a non-developer could knock up simple
applications with VB. Whilst this is obviously a stereotype, I know
from my own experiences that there is a fair amount of truth in this.
I've worked with some horrendous VB programmers in my time, who simply
couldn't write (for example) data access code, and relied upon toolbox
objects and setting a few properties thereon to do their job for them.
However, I do consider myself well above this kind of programming, and
I'm perfectly capable of building a fully OOP-compliant application,
utilising best practise with regard to architecture, design patterns
etc. in .NET within my job, albeit using VB.NET as the language rather
than C#. I do feel that, as well as my lack of real world C#
experience, some of this cultural stereotyping is also hampering my
efforts.
I feel as though I'm in a kind of Catch-22 position, in that I can't
get real world C# experience without a job, and I can't get a C# job
without real world experience. I realise that I could go down a route
such as acquiring Microsoft Certification, however, I'd have to do
this on my own, and it seems very expensive for an individual to do,
not to mention time consuming. Being the other side of 30 years of
age and married with kids, both money and time are in scarce supply
for me.
Does anyone have any personal experience of this themselves, or can
anyone offer up any tips or pointers as to how I may "make the switch"
from VB.NET jobs to C# jobs?
Thanks in advance.
Mark Braswell.