Introduction to .NET

September 1st, 2004 | Posted by Vidya Vrat in .NET - (0 Comments)

Introduction

The .NET Platform consists of a set of technologies and tools designed to simplify development of distributed applications, including Windows applications, Windows services, console applications, and Web services. The .NET Platform also helps you to build applications using a collection of Web services and supports the existing Internet infrastructure such as Hyper Text Transfer Protocol (HTTP), Extensible Markup Language (XML), and Simple Object Access Protocol (SOAP).

The .NET Platform provides:
• A consistent programming model
• Multi-language support
• Easy migration from existing technologies

Components of .NET Platform

The following are some of the key components of the .NET Platform.
• .NET Framework
• .NET Compact Framework
• Visual Studio .NET
• Visual Studio Tools for the Microsoft Office System (VSTO)
• XML Web services

.NET Framework

The foundation of the .NET Framework is based on the CLR. The CLR manages the execution for all .NET-based applications. The CLR provides a common set of services to the applications that you can develop by using any of the .NET compliant languages. A .NET compliant language adheres to a set of common standards defined by the Common Language Specification (CLS). The CLS standards form the basis on which the common type system provides a set of common data types that can be used across all .NET programming languages.

.NET Compact Framework

The .NET Compact Framework is derived from the .NET Framework architecture. The .NET Compact Framework provides a hardware-independent programming environment to devices that have limited system resources such as pocket PCs and mobile phones, and other custom devices with Windows CE .NET operating system.

Microsoft Visual Studio® .NET

Visual Studio .NET provides an integrated development environment (IDE) and key technologies to simplify the creation and deployment of .NET Framework–based applications. The .NET Framework–based applications are Windows-based applications, Web applications, and Web services.

Visual Studio Tools for the Microsoft Office System (VSTO)

With this new technology, you can write managed code for Microsoft Word and Microsoft Excel®, which responds to events within the automation models. While the Visual Basic for Applications (VBA) and COM-based automation will continue to be supported in the .NET Platform, VSTO provides you the complete power of the .NET Framework, including a familiar coding experience that includes F1 Help support, full-featured debugging, and IntelliSense in the Code Editor. You also get full use of managed controls, improved deployment and maintenance of solutions, improved security, and the ability to consume and expose Web services directly from Office programs.

XML Web services

An XML Web service is a software program that can be accessed by applications locally and remotely. One of the primary advantages of the XML Web services architecture is that it permits programs written in different languages and on different platforms to communicate with each other. This multi-language communication uses unified class libraries, intermediate language and the dynamic execution environment of the CLR. An improvement in the XML Web services now is, that the XML Web services work with standard Web protocols—XML, HTTP and TCP/IP. XML Web services use SOAP as their communication protocol. SOAP is a specification that defines the XML format for messages. XML Web services are described with a Web Services Description Language (WSDL) file to allow interoperability between programs, regardless of the language and the platform. A WSDL file is an XML document that describes a set of SOAP messages and how the messages are exchanged

Abstract

Many technical people have the dilemma at some stage in their technology career, whether they should choose a technological role, like Lead, Architect and so on or Managerial role like PM.

In my view all the roles are good and have many great career opportunities. But it’s up to you do decide what you want to become and what steps you have taken to fulfill your career aspirations.

Define your own Career

In my view, it’s up to an individual to plan his/her career. It may happen that you are influenced to accept the role that you didn’t want to take. I believe that, rather than being influenced by someone, you should develop the skills to influence others and put you into that role.

 Any organization can define your Job, but only you must define your Career

 Job Vs Career

Many people don’t understand the difference between the two and that’s a very common thing. Let me help you.

A career is the pursuit of a lifelong ambition or the general course of progression towards lifelong goals that provides you a sense of fulfillment and comes out of you naturally with all your passion and creativity. Besides, you get paid well while doing that.

A Job is just an activity through which an individual can earn money. It is a regular activity in exchange for payment. But you have no passion for that work, it doesn’t matter if you don’t do that for a few days. You don’t miss it and you don’t seek any areas of improvement in that.

Situation Trap

Many times people are influenced to become what they never wanted to be. In my long tenure in the IT industry I have learned that most people just accept a role because their manager told them to slide into that role and then that becomes their career path.

I am not saying that it’s totally wrong. I have been into such situations and I did all I could to detour from that and return to the right track and keep moving towards where I wanted to be.

“So it’s not always people who drag us into a situation; it’s us who must come out of it.”

How to come out of Trap

I get many emails and messages from people saying that their employer is forcing them to become a test engineer, handle a team, work on maintenance and many other off-track tasks that they have no interest in.

Now, in many situations you can’t avoid it, because you need a job and money and this is a bitter truth of life. However, the key is what steps to take to get out of it.

  1. Before accepting such role/assignment, discuss the duration with your manager and so on.
  2. Provide yourself limited time to come out of that and share that with management; have it in writing and include HR also if you can. In many cases the company will say 2 months but you dragged yourself for 2 years in that.
  3. If nothing works then it’s time to move on.

Deciding Whether to Move On

In general, people look out for options when they are frustrated and not prepared at all. Being not prepared causes a delay in getting shortlisted for jobs in the industry and this causes further frustration. People often end up in the same place and doing the same thing.

In my opinion, changing a job needs to be well-planned, unless you are lucky that you have the tendency to land into the right opportunity every time.

The following procedure will help you.

  1. Your decision to move must be driven by motivation rather than frustration.
    I have observed that many people just wait until appraisal and soon after that they look for a job change. Well, this is right, since as I said above, due to the need for money, but money is not everything all the time.
  2. Always have your resume/cv ready and updated, I still do that. I continually update it for the projects I do and new skills I develop.
  3. Have a LinkedIn profile, you can’t build it overnight. Seek good like-minded connections.
  4. Continue applying for jobs, even when you don’t want to change immediately. So you know if your CV / resume is getting some traction in the job market or not.
  5. Also focus on non-technical skills and continue to refine skills like communication and presentation and so on.

Techniques to work on your career goals

  1. Have a road map in place that defines all that is expected from your desired role.
  2. Think global, people often only focus on job-related skills that are local to their country. This again can’t help you to build a career.
  3. Invest in learning the right technical / non-technical skills.
  4. Find a mentor who can help you elevate yourself, preferably who has done it by him/herself. Learning from people who havn’t experienced what you want to be will lead you nowhere.
  5. Invest in learning, skills building and the right type of social networking.
  6. Your current job is the best place to learn and experiment with new skills you are building.
  7. Make yourself visible at the organizational level.
  8. Have a reputation in your company.
  9. Have a command of the English Language. You must be able to learn, listen, speak, read and write in English. You can read my article on 10 Rule of English Communication for Developers.
  10. Seek for opportunities and meet like-minded people.

What I do to take charge of my career

  1. Always focus on your career goals.
  2. Work on cultivating skills for that role
  3. Invest in learning
  4. Apply your learning and skills
  5. Set Targets

Always focus on your career goals

Let’s say you are a developer and you want to be a Tech Lead, or a Tech Lead wants to be an Architect. Then you need to understand what the industry expects from that role, regardless of what people tell you to be or become.

Work on cultivating skills for that role

You need to understand that each role requires some specific skills and personality traits and that’s why some people are in Sales, Marketing, Management, Technology Leadership and so on. They all have their own place and I believe that is what they always wanted to be.

But at least we need to try what we want to become, after knowing what we want. We need to start working on those skills, whether technical or non-technical. Be aware that each role in the industry expects some different level of technical knowledge and different personality and behavioral traits in a candidate. This is how people are offered positions like a Dev, Lead, Architect, Project Manager and so on. I highly recommend a proper road map for your desired career path.

Invest into Learning 

Investment in learning gives the highest return, not always in terms of salary but how people look at you and what perception they have of you. Every year I spend a good amount of money on books, courses, certificates, conferences and so on and many other things that keep me polished, sharp and competitive with the latest industry trends in my area of technology and career aspirations.

My latest accomplishment was the TOGAF Certified Architect level. This certification exam itself costs anywhere between US $495 – $640. What I want to share is that even after having so many Microsoft and other certificates I didn’t stop. Well, this is my personal thing and perhaps someone will find motivation from it. That’s’ all.

Apply your learning and skills 

After you have learned what the industry seeks in a candidate of your desired career goal then look for such opportunities to apply those skills. For example, a tech lead role demands the following:

  1. Participate in technical discussion with client and onsite manager
  2. Perform code review and resolve the team’s technical queries.

Now, if you are just a developer then start learning these things and see if you can either shadow or pair with your lead or silently observe how someone is doing it. Then look for the opportunity to do this by yourself. Make sure you don’t make a mess of a client call, so take it slowly.

Set Targets

You need to be a goal-oriented person, so set targets for yourself and ensure you are working on those goals, for example:

  1. In the next 30 days I will learn to communicate in English.
  2. In the next 15 days I will learn to kick off client calls.
  3. In the next 30 days I will make a sample application using MVC concepts.
  4. In the next 60 days, I will apply for jobs and see the response from companies/recruiters.

So, now you have a plan but remember “Plans won’t work until you work on the Plan”.

Don’t seek comfort

Sometimes, people think my job is all good and I am all set to be here as long as I want; you feel like you have just settled in. My last job was for 8.7 years in the same company. But I made sure that I kept moving and I made quite a shift in the organization that required similar efforts in terms of learning, applying for a job and being interviewed. I made my own way and made progress towards my career goals.So if you really interested in getting promoted and receive new shiny titles on your promotion letters and experience letters and so on then you must work hard, regardless of whether you are seeking that change within or outside the organization.

So always be restless, seek knowledge and motivation to get closer to your career goals and keep learning.

Best Wishes.