Friday, January 14, 2005

Week 2, Day 5

Well, I was supposed to cover chapters 4, 5 and 6 today. I covered chapter 4 on Monday, but the book has set on the shelf since then. Hopefully I will have time over the weekend to catch up.

I've been checking out the MCAD and MCSD newsgroups on the Microsoft public server (microsoft.public.cert.exam.mcad and microsoft.public.cert.exam.mcsd). All I can say is wow! There are some stupid people in this world. There are many posts that consist of a single question in the vein of "How do I get my MCSD?" Seriously folks, if you have to go to a newsgroup and ask a question like that, do you honestly think you are even remotely qualified to take a certification test? Go to Google and search for MCSD Certification. Go ahead, I'll wait. See that first result you get? It's the homepage for Microsoft MCSD certifications, with all the requirements. Some other fool posted about 100 questions starting with "What is CLR?" in all caps. I think we need to form small groups of true developers all over the world and track down these types of idiots. Once they are found, the local group gets hyped up on Jolt cola, goes to their house, beats them with Nerf bats and uninstalls the Visual Studio preview edition from their computer. Contact me if you want to start a group in your area.

Friday, January 07, 2005

Week 1, Day 5

Today is review day, even though I didn't stick to my schedule this week. I've read the first 3 chapters before, so I'm just going to review.

Chapter 1 is Introduction to Web Programming. I basically hit the highlights because I know all of this already.

Chapter 2 is Creating Web Forms Applications. This chapter was more interesting than the first. It's stuff I already know, but it was nice to go back over it in a more "formal" setting.

Chapter 3 is Working With Web Objects. Now we're getting to the important stuff. Creating objects, namespaces, Session state, ViewState, etc.

Even though I didn't follow my schedule during the week, I still feel like I have done what I needed to do this week. I will need to stick to my schedule in the later chapters.

Thursday, January 06, 2005

Week 1, Day 4

1/6/2005

I stayed on schedule for a grand total of 1 day. It was hard to get motivated to study something I already knew. But if I can't make myself do it, I'll never complete this. I am going to use Friday as a catch up time and review the first three chapters.

Monday, January 03, 2005

Week 1, Day 1

1/3/2005

I sat down with a highlighter and went through Chapter 1. It is just basic information that I already know, but I went over to get a feel for the wording they use. If they word it weird on the test and I miss it, I will feel like a fool. One day in and I'm on schedule!

Making a Schedule

If I don't write it down, I won't remember to do it. So I printed out monthly calendars through Outlook and sat down and planned out my year. I've decided that I should spend 2 months preparing for each exam and take it the first Friday of the next month. I chose Friday because I only work half a day on Friday, so I can schedule the tests in the afternoon. I chose 2 months because, well, I wanted to finish by the end of the year. I guess I could have split it up in to 10.4 week groups (52 weeks / 5 tests), but I figured December would be too hectic because of the holidays. So my plan gets me finished completely by the beginning of November.

At the start of each cycle, I'm going to go through the book and schedule which chapters to study each week. I will do a weekly review on Fridays and reserve the week of the test for a full review. I will decide each week what material I cover on which days.

Here is my schedule for the first test


Jan 07 - 1, 2 & 3
Jan 14 - 4, 5 & 6
Jan 21 - 7 & 8
Jan 28 - 9 & 10
Feb 04 - 11
Feb 11 - 13
Feb 18 - 12 & 14
Feb 25 - 15
Mar 4 - Review all chapters and test on Friday

My first week, I will cover Chapter 1 on Monday, Chapter 2 on Tuesday and Chapter 3 on Wednesday. Friday afternoon I will review. The first week will be hell because the information is so elementary. It's basically stuff that if I didn't know it, I wouldn't be able to do my job. But I am going to make myself cover it.

Sunday, January 02, 2005

Resources

If you are going to pursue you certification, there are a myriad of resources available to assist you in studying. I have chosen to use the Microsoft Self-Paced Training Kits, mainly because I already owned the Developing Web Applications book for Exam 70-315. Since I have been known to procrastinate and not finish tasks before, I am going to wait to buy the other book until it is close to time to need them. View the requirements for each test to see what resources you need. There is a wealth of information on the internet on test prep. There are also practice tests available. Personally, I can't see spending 60-70% of the cost of the exam for a practice test. I'd rather gamble. But that's just me.

Requirements Gathering

Once I made the decision I wanted to pursue the certification, I had to figure out what I needed to do to obtain that certification. A quick trip to msdn.microsoft.com yields a link to Training, Career and Events. There, I found links to MCAD and MCSD Certification. I found that the MCAD requires 3 tests.

http://www.microsoft.com/learning/mcp/mcad/requirements.asp

Core Exam

Developing and Implementing Web Applications with Microsoft Visual C#™ .NET and Microsoft Visual Studio .NET (70-315)

or

Developing and Implementing Windows-based Applications with Microsoft Visual C#™ .NET and Microsoft Visual Studio .NET (70-316)

(you may also take the tests in Visual Basic)

Core Exam

Developing XML Web Services and Server Components with Microsoft Visual C# and the Microsoft .NET Framework (70-310)

Elective Exams

There are several elective exams. One option is if you took the Web App test for the core, you can take the Windows App test for an elective, or vice-versa. You can take those two tests in either VB or C# or one in each. You cannot take the Web C# and use the Web VB test as the elective. The same applies for the Windows tests. This is because the tests are about the framework, not necessarily the language. I decided that since I do Web based apps 99.9% of the time, the Windows tests weren't really applicable, so I chose

Designing and Implementing Databases with Microsoft SQL Server™ 2000 Enterprise Edition (70-229)

since I work with SQL on practically every project.

The MCSD certification requires the 3 exams from the MCAD and 2 additional ones…

Exam 70–300: Analyzing Requirements and Defining Microsoft .NET Solution Architectures

And both Web and Windows is required, so I will take the Windows App test.

I am going to concentrate on the MCAD for now and worry about the MCSD when I get there.

Saturday, January 01, 2005

Decisions, Decisions

The first step in obtaining a certification (any of them, not just MCAD) is deciding if you are going to do it. That's an obvious statement, but it is important. If you are pursuing a certification because your manager told you it was required, then there's no decision. But for the rest of us, we are going to dedicate significant amounts of time and money to this process and we need to make sure it is something worth doing.


I just recently (the past few weeks) started a new job that I plan on staying at for a while. So the typical "resume enhancement" angle of the certifications doesn't really appeal to me. My salary has already been negotiated, so that argument doesn't apply. And while there's a chance a certification might make a 1% difference come review time, it's just a possibility. So why am I doing it? For me, it comes down to a personal motivation to do it. I feel like I can learn a few things by studying for the exams. And it will give me a sense of accomplishment. Plus, I'll get to put some letters after my name and look cool. That's just a joke!


Side note:

A few years ago, during the dot com boom, a training company used to run ads on the radio about getting the MCSE certification. They didn't just imply that any Joe off the street could get the MCSE and start making $60,000 a year, they actually claimed it in the ad. They claimed that even if you had no background in IT, you could take their classes and the employers would just line up to hire you. I admit, during the dot com boom, my 7 year old son probably could have gotten an IT job, but this is 2005. Things have changed. Don't think if you are flipping burgers at McDonald's (which is what my stepfather always told me I would grow up to do), that if you get the MCAD or MCSD you are going to suddenly have recruiters throwing cash and BMWs at you. You're not. Because you don't have any McXperience. Sorry, bad joke. In this industry, I've worked with programmers from many different backgrounds. I've worked with a developer with a Master's in CompSci that wrote such convoluted code that no one wanted to work with him. I've worked with a developer that dropped out of art school and learned on his own and if I was in the position to hire a developer, he would be the first on my list. You don't necessarily have to have a college degree or a certification to succeed, but it does help. What you do have to have is experience of some kind. It's the old catch-22, you can't get a job because you don't have experience because you don't have a job. If you don't currently work in IT and you want to be a programmer, getting a certification will not make you one. Writing code makes you a programmer.

Let the Games Begin...

One of my New Year's resolutions this year is to complete my MCAD certification, then deciding whether to pursue the MCSD. One of my professional goals last year was to take the Web Applications test (Test 70-315), but projects and job changes got in my way. In order to keep me motivated, I thought I would keep a diary of my progress. Perhaps it will help someone else who is interested in pursuing their certification by motivating them.

Just a quick professional bio to let you know my background. I finished my A.A.S in Computer Information Systems in May of 1995. I have worked as a software developer since that time, with just a couple of very short gaps due to lay offs. In school, I studied Assembler (on the mainframe, ugh), COBOL, C, Pascal, Visual Basic and C++. My first programming job was writing Clipper code for a video production company. While there, I also used C++, Visual Basic, Macromedia Director, Java and Delphi. This is where I started learning HTML and developed my first web sites. I left there and moved to a software company that wrote software for telephone companies. I used Delphi and then Borland's C++ Builder to write software that interfaced with telephone switches to transfer call records. My next stop was a commercial mortgage software company using Borland C++ Builder. My job there was outsourced, so I ended up at a bond trading company writing Visual C++ and learning C# and .Net. The company was an early adopter and had a product written in .Net mostly finished before the official .Net release. I learned just enough .Net there to be dangerous and when the funding ran out and I had to leave, I went to work for a consulting company. My first contract was at a major computer manufacturer that rhymes with Hell. I wrote a very cool call metric reporting system in ASP.NET. Alas, due to project mismanagement, the company I worked for screwed me out of money* and I was unemployed for the longest period in my adult life, 2 months. I did a quickie 6 week contract at an insurance company, then hired on full time at a health care company doing intranet ASP.NET development. That is where I first got the bug to get my certification. I left there and went to work at a banking software company for a brief period of time, and when my manager from the health care company called from his new company, I ended up where I am now. I work for an engineering company developing intranet apps in ASP.NET. I use C# exclusively, mainly because VB doesn't look "right" to me.

That's longer than I wanted it to be, but I wanted to give some background.

*Note: If you are in Nashville and have a job offer from New Century Technology, or a similarly named company: Run; run away as fast as you can.