.NET/General Advice Sought

J

Jolly Student

Dear Colleagues:



Thank you for taking the time to read this - I recently posted here with
regards to what was possible with .NET.



I have been working as a systems engineer for about fifteen years now. My
"specialties" have been basically anything it took to get the job done,
although I do have a knack for locking down workstations and servers from
the more "experimenting" employees. I have worked with Cisco switches and
routers to a good measure and know how to build servers and workstations.
My system skills are, in order of proficiency, Microsoft, Netware, Apple and
Linux. I am also a constant experimenter always working on some type of
project. For me there is no Monday night football, Superbowl or World
Series - I am your very definition of computer geek/nerd/brain, whatever you
want to call it. By the company I keep, the raises I have been given and my
propensity to never give up until I find a solution, I would respectfully
consider myself closer to the top of the food chain in terms of IT
professional.



The area that I feel I need the greatest amount of improvement in is
programming/development. Quite simply, I do not know the first thing about
programming in any language and about the closest I have come is modifying a
vb script here and there to meet a particular need (and I do mean basic).



I have been given the opportunity to attend training and I am leaning
towards a .NET program, however, I am told that .NET did not solve the
problem of world hunger, famine, HIV, etc., as all had expected it to - in
short, that .NET, although beneficial to many companies, is still mostly
about a Microsoft solution. To sum up, I want to hone my skills towards
what will be most in need come the next three to five years.



I see that some of the offerings in the Visual Studio .NET package (which we
have but do not use, hence, why I want to learn to do something with it)
involves matters that speak to the Office System. Do I take it that these
can be used to modify applications within the Office System to suit the
particular needs of an organization? In our case, it would be beneficial to
have certain features more readily available for our users, including
something like a print pop up that shows them, with pretty little pictures,
which printers they can choose and where they are located so that we don't
have somebody calling from the third floor yelling that somebody from
accounting just printed out the fourth copy of war and peace!



That being said, my "plan" is starting to look like this (and where I seek
the advice of my learned audience):



Take a class or two on visual basic to get a very fundamental understanding
of what I can do with scripts. I would love to create my own network
scripts not only for functional purposes, but also to be able to learn what
does what and how it does it which will obviously help me wake up the part
of my brain that needs to start "thinking like a programmer".



Second: Take a class or two on network security, a bit more advanced than
security 101, but not quite as high as regular 2600 writers - I think that
security is more about sharing, tinkering and a lot of reading, so I may
forego this although CompTia apparently has some offerings I have to
investigate on the subject of security.



Third: Take some classes that will allow me to add or modifying applications
that we already have. This is where I am most lost. Indeed, if I want to
modify Word 2003 for example, to have extra buttons, or plug into something
else, what do I use and how do I get started? A while back I was told not
to mistake Visual Studio .NET as Visual Basic with .NET added, that it was a
whole new thing, but what could you do with .NET in its ultimate
permutation.



Fourth: Start on SQL in a considerable way. The software that makes our
company go go go is going towards an SQL back end, so I want to be better at
SQL than knowing just how to install the product and stare at it.



Aside from the financial end of things, which is always good, I want to
ultimately be able to have the skills to create business solutions not only
in terms of being able to modify or create applications to better fit the
needs of front end users (e.g. less screens, less buttons to push, simpler
ways of getting to things they commonly use), but also to be able to handle
the back end of things irrespective of operating system platform.



I know it's a long, hard, never-ending road but any advice or resources that
you may be able to provide will be greatly appreciated.

..



Regards,





Roger
 
S

Sahil Malik

Roger,

I had to convince myself for a while to read your long message, so I am
hoping you'll bear with my long drawn answer as well.

My answer is two fold - first on the importance of .NET compared with other
technologies, and secondly job profiles within an MS based organization.

Firstly, is .NET awesome? Without a doubt it is.

Consider this. There is a considerable anti-microsoft sisterhood. There is
considerable anti-microsoftism, and yes to some extent linux is making a
headway. But having worked on enterprise level projects, I can appreciate
and understand the importance of an organized effort, rather than an
incoherent amalgamation of late night coders who are hacking away
maintaining an operating system. The best innovations of tommorow will
undoubtedly come from Microsoft, not Linux or it's likes. Not only that, in
a world where Microsoft is coming up with things like Longhorn and WinFS,
linux is clearly dealing with what I can best categorize is issues of the
past. Forget the rhetoric, but Microsoft OS's are secure and safe - which
albeit they are not locked down, and have their share of negative publicity,
but microsoft has seriously addressed the issue of locking down their
operating systems and the security aspects in managed code (.NET code) are a
good generation better than anything even in close comparison. .NET provides
security from the ground up, but most applications that were built 10 years
into the past, donot use those. 10 years from today most applications will
use them, and clearly microsoft will be a winner .. as it has been in the
last every single war it has been in for the last 30 years. .. and Linux and
Unix DO HAVE security holes that will make you cry, worse even - Microsoft
addresses it's holes in a matter of hours .. Linux Unix .. you can never be
sure if you will *ever* get a fix.

Secondly let me compare Microsoft with Apple. Apple has a different
challenge. While it is true that their products have a finnesse and final
better quality (just my opinion), and yes the G5 looks a lot better than a
P4, and it makes much lesser noise whatever .. but ... Apple has to support
ONE hardware platform. While microsoft operating systems typical contain
support for many thousands. Not only that, microsoft windows is so advanced
that it recovers automatically from so much that linux and apple are nowhere
even close to. If ever their market share increased, and they had to do what
Microsoft does, there is no way they would be able to produce the same
quality as microsoft without spending billions of dollars on research -
something microsoft has already done.

Thirdly let me talk about who works at microsoft. This is a first hand
experience. My interview lasted for a full day, and this was an in person
interview after 3 phone interviews. I had to talk to 7 people thru the day,
including over lunch, and all of them were one of the brightest most
intelligent folks I have ever met. Their interview process is so gruelling
that I cannot compare it with any other. And, they judge you not for our
geekiness, but also for your geekiness without being too dandruffy. Only a
special breed manages to get thu - and they might not even be technically
prima-donnas. You'll know one when you see one sorta.

..NET is really the best platform, and I haven't even begun talking about the
MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH MUCH
MUCH better development tools it provides. There is no way that any other
platform will ever catchup in the near forseable future IMHO. So all the
cynical folks who tell you that .NET did not solve the world's problems ..
ignore the soothsayers, this is the very right place to be.

Moving to my second point, - Job profiles - in the IT industry are getting
very specialized.

You will see a systems engineer (like yourself), a dba, a web programmer, a
windows application programmer, a system architect, a gui designer, a QA
person .. .. these are all guys who are "specialized" and they will continue
to get even more specialized as time goes by. Each one of these has some
overlap with the other, and the way to make a switch from one profile to
other, is to keep gradually increasing the overlap until your previous
specility is a minor compared to what you just moved to. Not only that, just
as I as a hardcore system architect find that I architect my application
better IF I had some clue of what it involves at the database end, or the
systems end, similarly a systems engineer like yourself would find it useful
to learn atleast some .NET programming. As I am architecting an application,
one of the most important qualities of any IT worker is to be able to accept
and learn from other's experience, because guess what - there are people
better than I at Systems, or Databases etc. It is important to listen to
them, and that in my mind is a quality more important than absolute
knowledge itself. Because no one person can know everything - it's
impossible.

(Sidenote: There are 3 kinds of developers. #1 -> Junior, and they don't
know and they are willing to admit that and they will listen. #2-> Mid
level -> They are expected to know so they will not listen as well. and
#3 -> Expert - these guys can do anything but also realize that there is
always a better way to do anything, they will listen.)

Though fair warning - you will not work wonders and architect your next
generation enterprise level application tommorow - that takes years of
experience to do right .. BUT .. you *will* be able to produce useful things
so easily ONLY IN .NET .. it will almost shock you. I have a systems guy I
work with who wrote this simple application in VB.NET that checks what is
deployed on a machine before running stuff from the CD-ROM. He's a systems
guy, but he was able to develop this small useful utility in almost no time.
Small steps at a time, that is how we all started. If I had to do your job
today,

The point I am trying to make is .. no matter how much you'd like to be, you
can be either systems engineer, or Dba, or Web programmer, or Windows
programmer or .. but you can't be everything .. unless you are superman. So
as a true geek talking to another, I would suggest that you should if you
have the time, weigh your interests before you foray into this. Should you
decide that this is indeed where your next "bang for the buck" is .. go for
it. Who knows you might like this better than what you do now, and
eventually might end up making the switch. :) If, not a complete switch, you
will certainly find it useful.

And yes, if you have modified VB script, I can confidently say that you will
be able to produce something useful in a very short time. One useful link
for you -> "VB at the movies" ->
http://msdn.microsoft.com/vbasic/atthemovies/ (hey it just doesn't get any
better than *free* does it?) ,,,, only microsoft my friend .. only
microsoft.

- Sahil Malik
Independent Consultant
You can reach me thru my blog at -
http://www.dotnetjunkies.com/weblog/sahilmalik/
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top