Currently I’m gearing up to take a few Microsoft exams to get my MCSA and eventually a MCSD. I’ve read quite a few articles debating the pros and cons of getting any certification regarding software development and like a lot of things in this industry, the comment sections seem strangely gate-keepy, asserting that real developers don’t need certifications. I don’t subscribe to this thinking at all and I think it’s never a good look to try to shame someone who is only trying to better themselves.
Why Bother Getting Certified?
I think the reason some people are so hostile to the idea of getting certified is because in software development is because at the end of the day your application either works or it doesn’t. A sheet of paper saying you know something is cool, but if you can’t properly implement anything you were taught then who cares.
I find that this line of thinking is more in tune with intuition rather than reality though. Chances are, if you spend all of this time outside of work to improve yourself, it shows that you really care about what you’re learning and that you’re the type of person who is dedicated, serious and professional.
Another major reason a certification may help you is in overcoming imposter syndrome. Sounds really cheesy I know but confidence is a big deal and being able to speak with greater authority makes a huge impact on people’s trust in you to deliver on what you say you can.
During my time in IT I grew accustomed to studying for certifications and getting that badge on my resume that says, “I definitely know this thing. I dedicated my own time to go in-depth in this subject and earn something that proves I know this thing.”. Honestly, I love the journey of learning that ends in a satisfying reward, like a well told narrative with the final acquisition of the certification being substantially gratifying because you truly earned it.
So why am I going for the MCSD? Well right now I live near Seattle and there are a couple of major players here, namely Amazon and Microsoft. Both of these titans have sent waves across the industry. Amazon are known for being hungry for Java developers and Microsoft obviously want engineers knowledgeable in a language they own: C#. These two languages are pretty similar so what’s important is getting the fundamentals down and building projects that can reflect your skill in that language. Personally I chose C# because I could easily put my newly acquired knowledge into visible, functional code using the video game engine Unity that I’m already familiar with using which uses C# to program game logic. Microsoft certifications are also a boon to some employers as they need a certain amount of Microsoft certified employee’s to maintain partner discounts.
Let’s say you’ve decided you actually want to pursue a certification, below you’ll find the tests you need to take to get yourself certified.
Java Certification Path
You can find the path here.
Oracle is the company that owns the Java language so you’ll be taking their tests. They are multiple choice and cost $245 each.
There are two tests you must pass, Java SE Programmer I will earn you the title, “Oracle Certified Associate”. The second is the aptly named Java SE Programmer II bestowing upon you the label, “Oracle Certified Professional”
Microsoft Certification Path
Microsoft exams are a little different. You can find the path here.
As you can see they have a branching path depending on what technologies you want to specialize in. If you want to stick to web development, I suggest taking the top path consisting of “Programming in C#”, and “Developing ASP.NET MVC Web Applications”. Finishing these two multiple choice tests will net you the MCSA certification leaving you with one of three tests left to earn your MCSD. Take the one that looks most appealing to you.
Each test costs $165 for every try.
You take two exams of three possible choices to get your Microsoft Certified
The first thing I do to prepare for these exams is to look at the learning objectives, book mark the page and continually come back to make sure you’ve covered everything. If you get squeamish just looking through the list of what material you’ll be tested on, it’s probably a sign that you need more practice. Some people may say that the first thing you should do is actually schedule the test and this to force you to stop procrastinating and get a move on.
Remember, diamonds are formed under pressure.
In my studies I’ve found some fantastic resources for learning and reinforcing concepts. I find that I am the type of person who needs multiple types of learning materials in order to solidify my understanding of a subject. Sometimes I can watch a few hours of lectures, then perform the tasks on my own. However, I’ve also found that just picking out a feature and reading about where to get started or only resorting to the internet when I get stuck can be incredibly helpful.
Currently I’m using Pluralsight for the bulk of my studies but I find that if I’m not explicitly following along in my own code editor I can drift and end up rewatching sections over and over.
To alleviate this, I try to recreated major milestone projects that I went through during my time at Flatiron School in order to get real hands-on experience.
These projects include (in order):
- Creating a database and populate it with info pulled from a web api like pokeapi.
- Creating a CRUD (Create Read Update Delete) console application that can manipulate that data pulled from the web api.
- Serving up web pages and handing forms (again CRUD)
- Creating your own API that a front-end can talk to in order to store and manipulate data.
To me this is real development, you’re actively learning and applying concepts in order to create a functional product. What more can you really ask for?