Category Archives: Uncategorized

The Experience Paradox–How to Get a Job Without Experience

One of the most difficult things about becoming a software developer, is the experience paradox of needing to have a job to get experience and needing to have experience in order to get a job.

This problem is of course not relegated to the field of software development, but many new software developers often struggle with getting that first job–especially if they come into software development from another field–most notoriously quality assurance. It definitely seems like it is especially difficult to transition from the role of quality analyst to software developer–even if you can competently write code.

So, how exactly do you get experience when can’t get a job without it?

experience The Experience Paradox  How to Get a Job Without Experience

It’s an interesting problem to ponder. There doesn’t seem to be very many good solutions to the problem. Most software developers just assume you have to get lucky in order to get that first job without experience. The other popular alternative it to simply lie about your previous experience until you have enough that you don’t have to.

I’m not really a big fan of making up a fake history in order to get a job. It’s pretty likely you’ll get found out and it’s not a great way to start of a relationship with an employer.

And, I’m also not that fond of leaving things up to luck either. Counting on luck isn’t a good way to build a successful career. I’d much rather work with things that are directly under my control than rely on chance.

So, that brings us back to the question we started with–or rather a modification of it: Without experience, lying or dumb luck, how can I get a job?

One of the best ways to gain experience without a job is to create your own job.

What’s that you say? Create my own job?

Yes, you heard me right. There is basically nothing stopping you from creating your own company, hiring yourself as the only employee and doing real work that will count as valid experience.

Now, of course, it’s not just as simple as that. You need to create some real valid experience. You can’t just create a shim company, call yourself the lead software developer and use it to get a job. But, what you can do is to work on creating a few simple apps and do it under the name of a company that you create. There is nothing dishonest or fishy with that approach.

Today, it is easier than ever to do, because it is possible to create simple mobile or web application as a solo developer. It is even easy to sell an application you create–although, getting customers might be the hard part.

I usually recommend that developer starting out, who are trying to get experience, start off by developing a few mobile applications. The reason I recommend this approach is because mobile applications are generally expected to be fairly small projects and they are easy to sell and distribute. Actually having an application that is being used or sold bring a bit more credibility than just building something for “fun.”

But, you don’t have to build an mobile application. Really, you just have to build something useful that is a real application–not just a demo project. This means building something end-to-end.

The barrier to entry is extremely low today. Just about anyone can build their own application and distribute it. That means that you can build a real, legit software company all by yourself.

With a few applications created, not only will you be able to claim some real valid experience, but you’ll also be able to show the source code for the applications you built at a job interview. You might even find that you will be ahead of some developers who have 4-to-5 years experience, but have never successfully built an application end-to-end. Many software developer start out getting experience maintaining existing systems, but never learn how to actually build a complete application. If you can show some experience building a complete application, even if you are doing it for your own company, you can put yourself way ahead.

If one of your applications takes off, you might even find that you don’t need to get a job working for someone else. Your own software company might become successful itself.

They key is getting into the interview.

You might be thinking that creating your own company and building a few apps is not the same as having a real job and having real experience. I tend to disagree, I tend to think it is actually more valuable and shows a more practical ability, but I realize that some employers and some developers will disagree with me.

It doesn’t matter though, because the point of gaining this experience is to get into the job interview. It is very difficult to get a job interview without any experience on your resume, and it is fairly easy to make a job at your own company look just the same as a job from any other company on your resume.

Of course, once you get into the interview, you need to be completely honest about the situation. Don’t try and pretend that the company you worked for was anything other than your own creation. Instead, use this information to your advantage. Talk about how you created your own job and took initiative instead of waiting for a job to come to you. Talk about how you learned a great deal by building and distributing your own applications.Turn everything that might be seen as a negative into a positive.

Now, this technique of gaining your first experience might not get you a top level software development position, but it should at least help you get your foot in the door–which is arguably the hardest part.

If you like this post and you’d like to join over 5,000 others who have already become Simple Programmers, sign up here to get the SImple Programmer newsletter.

 

Why I am AGAINST Net Neutrality

No, I’m not saying this just to get a rise out of you, I am actually against net neutrality and here is why:

Net neutrality is this principle that says internet service providers should treat all data on the internet equally. I actually like this idea; I agree with it; I hope internet providers choose to treat all data equally. I agree that it provides greater freedom and opportunity to people using the internet and building businesses that utilize the internet.

But, I am not in support of sacrificing one entity’s freedom for the “greater good” of the rest of the world. Freedom is freedom. Internet service providers should have every right to be complete jerks and charge for the use of their services however they see fit.

chained Why I am AGAINST Net Neutrality

No matter how much I generally despise ISPs, I can’t in good conscious argue that we should limit their freedoms in order to increase our own. Why?

… Because, the two are the same.

Once you are willing to go down the slippery slope of taking away the rights of others in order to placate the masses, you are in real danger of completely losing the idea of personal freedom. Our individual liberties can’t be evaluated solely on how they impact other people.

If we refuse to let people or entities deal with their personal property in a way that doesn’t suit us, simply because it doesn’t suit us, we will quickly have the entire world at a standstill, because just about every action anyone takes could be considered to be harmful or undesirable to another.

Now, normally I avoid political discussions on this blog. So, you might think I’m being a bit hypocritical here—and to some degree I am—but, this political discussion is deeply rooted in technology, so I am giving myself a pass here.

So, in essence, I am actually in support of the idea of net neutrality, I am just not willing to join the mob in stripping away the rights of legitimate holders of personal property in the name of an ideal all the while violating another, overarching, more important ideal: freedom.

Don’t get me wrong, I’m not saying that the government shouldn’t ever regulate and prevent monopolies. I’m not trying to push a political agenda. I guess, I can just see myself in the position of owning a company that provides a service and being told what I can charge and how I can provide that service.

Perhaps it is because I am a landlord and I rent out property that I have a bit of a different perspective than most techies. When I hear about forced net neutrality,  I immediately think of someone telling me that I can’t charge whatever rent I want for a property I own, because it isn’t in the best interest of the people.

Damn the people! I am in business to make profit and so is every other legitimate business in the world. Comcast, Verizon and the rest of the internet service providers don’t provide internet services to make the world a better place and to equally spread ideas and give you personal freedom, they provide internet services to make a profit. And, if you are a shareholder of one of those companies, this is exactly what you want them to do.

I didn’t bust my ass working extra hours, saving money and living frugally so I could create cheap housing for the poor, I did it to make money. Now, that doesn’t mean I’m a heartless bastard—I give away 10 percent of my income to charity—but, no one should be able to force me to do it. If internet providers want to be dicks, so be it—it’s their right.

(Oh, look, I’m not the only one against Net Neutrality, someone wrote a book. Although, I admit, I have no idea how good it is.)

I’m not afraid

Even if the internet service providers succeed in earning the right to charge how they see fit for whatever level of service they provide to whoever they want and “destroy the internet,” I think there is still hope.

I have a bit more confidence in the internet than thinking that just because internet service providers choose to violate net neutrality principles it will spell doom and disaster.

Think about what would happen if Comcast started giving Netflix a high-speed traffic lane in exchange for a hefty fee. First of all, it might not be that bad. I don’t watch Netflix, but I hear that most of the world does, so for those people, there might be some real benefit in getting super-fast Netflix.

But, let’s suppose that people don’t like their super-fast Netflix, they’d rather have all their internet traffic arrive at the same speed. They’d like their torrents to download just as fast as House Of Cards. What then?

Well, if there is truly a demand for net neutrality internet providers, it will be profitable for Verizon to move in and start expanding their service to unhappy Comcast customers. They’ll promise completely neutral internet access and people will pay for it.

I don’t think that will happen though. I think that if net neutrality disappears, we won’t even notice it. For the most part, it won’t affect small businesses who don’t generate much traffic anyway, and for bigger businesses, it will be worth paying some extra fees to deliver content faster. It might even bring down the cost of internet service for the end-user. (Especially if it creates more differentiators in the market and thus more competition.)

Plus, let’s not forget that internet speeds are increasing all the time and technology is not going to stand still either. Sure, they are lagging behind in the US, but Google is putting some serious pressure on ISPs with its fiber offerings. You can only consume so much “internetz.” As speeds increase, bandwidth issues become less and less of a concern.

And let’s not forget about other technologies like Clear, who provides pretty fast internet wirelessly. Just because big ISPs already have cables laid in the ground doesn’t mean that other companies can’t lay new cables and that internet service can’t be provided wirelessly.

Overall, I’m not really all that scared of ISPs providing unequal internet service. Sure, I don’t like the idea. I would rather if they didn’t, but I think the pundits are really over exaggerating the effects.

To all those naysayers out there

As I am writing this post, I already know what the likely response will be: A bunch of flaming insults talking about how stupid I am and how I don’t understand the big IPSs are monopolies and that we have to protect the people against monopolies.

naysayers Why I am AGAINST Net Neutrality

How could I be against the internet being more free?

Well, it is pretty interesting because I have found that the people who claim to be the upholders of freedom the most seem to be the same people who secretly hate it. They hate that I could hold a different opinion than they do. They hate the fact that I don’t just go along with the masses and say that net neutrality is good and should be enforced—regardless of how we do it.

Like I said, if it were up to me the net would stay neutral. But, I believe more important things are at stake. I was against SOPA for the exact same reason that I am against the enforcement of net neutrality: we shouldn’t try to tell providers of a service how to provide that service.

But, like I said, this is just my opinion. I have pretty strong convictions about it, but I’m not beyond reasoning. I very well understand and accept that I could be wrong, but I’m not just going to assume I am just because everyone else on the internet says I am. And that is actually the beauty and real value of the internet, I can express my opinion freely, as can you. I don’t think Netflix streaming loading up a little bit faster than this blog post will change that.

For more infuriating posts about software development, technology and self-improvement, join over 5,000 other Simple Programmers and don’t miss a post.

Whitepaper on Getting QA and Developers To Work Together and Upcoming Webinar

Just wanted to do a short post to talk about a whitepaper I wrote for one of the companies that has been a big supporter of this blog, Zephyr, and also invite you to check out a webinar I’ll be doing next week on “How trying to learn too much may actually be hurting you–and what to do about it.”

Zephyr is a company that creates test management software, but they are also establishing themselves as thought leaders in the development and software testing space by creating and sponsoring quality content, so I was pretty happy to help them out by sharing some of my experiences.

You can check out the whitepaper here: “Getting QA and Developers to Work Together.”

(You do have to sign up using a form on their site, but don’t worry, they won’t spam you.)

whitepaper Whitepaper on Getting QA and Developers To Work Together and Upcoming Webinar

In the paper I tried to address the difficulty of getting QA teams and development teams working together, especially in an Agile environment. I’ve seen many teams adopting a staggered approach to development where they have the development team work on one iteration while the QA team tests the previous iteration.

If you’ve been in that situation, you know it doesn’t work.

And as for the webinar, if you are interested, you can sign up here: “How trying to learn too much may actually be hurting you–and what you can do about it.”

The webinar will be live on Tuesday, July 22nd at 8:00 AM PDT, 11:00 AM EST.

I’ll be talking about why I think many developers are overly stressing themselves out trying to learn too much with the crazy pace of technology increases, and I’ll be talking about some ways to be more effective in your learning, while keeping your sanity.

It will be a very interactive session and I intent to answer many questions live.

So, if you are interested in either of these, check it out. I’ll probably be doing more work with Zerphyr in the future, since they seem to have many of the same views on software development as I do.

Developer Productivity Tool Review: Telerik’s Devcraft

I don’t do many product reviews on this blog–and there is a good reason for it.

I get plenty of requests for companies asking me to “pimp” their stuff on this blog, but most of the stuff I am asked to write about I just don’t use or would never really find myself using.

However, I was pretty excited when Telerik contacted me and asked if I would be interested in letting them sponsor a post about their Devcraft developer tools, because I actually really like these tools–I’ve always been a big fan of Telerik–and the whole Devcraft package is something that I truly feel increases developer productivity.

So, yes, this is a sponsored post. Those of you who follow this blog know that this blog is one of my main income streams. But, as I am sure you can tell if you read this blog regularly, I hardly ever allow sponsored posts or guest posts, because the money is not worth trying to make up some crap about how some product I’ll never use is so great.

That that said, here is my honest opinion of Telerik’s Devcraft offering.

What is it?

I guess, before I can really get into what I think of Devcraft, I have to address what it is.

You can check it out for yourself here: Telerik Devcraft.

devcraft Developer Productivity Tool Review: Teleriks Devcraft

But, essentially it is a collection of almost all of Telerik’s .NET focus tools–all together. So, if you aren’t a .NET developer, you might not find all that much value–although, I have to say that the Kendo UI part (which is a jQuery-based framework with a bunch of responsive widgets and and other nice HTML components, including an MVVM framework) is great for any kind of web development.

Here is roughly how it is broken up:

Web

There are a bunch of different UI controls for ASP.NET AJAX, ASP.NET MVC, Silverlight and even SharePoint. Plus, the Kendo UI framework that I already talked about. It is really a crazy amount of controls, and they look really good.

Desktop

Again, tons of controls, and all of them look really great. I designed some custom controls for Windows Forms myself back in the day and these controls put everything I ever did to shame. They have controls for both WPF and the old Windows Forms.

Mobile

As you might have guessed, the mobile side has Windows Phone 8, Windows 8 XAML and Windows 8 HTML controls. I would have liked some Android and iOS controls, but I guess you can’t have everything. I haven’t done a lot of Windows Phone or Windows 8 development myself, but I played around with some of the controls and I was really impressed. Again, polished top-notch controls that were really easy to get working.

Also, on the mobile side I found I could combine Kendo UI with PhoneGap to create some pretty nice mobile applications. (Although, I knew Telerik has their AppBuilder platform, which basically does this for you–it used to be called Icenium)

Dev Tools

Telerik doesn’t just have UI controls, they have everything else as well. They have an NUnit-like testing framework–which is actually free.

But, they also have JustCode, which is a Visual Studio plugin that makes you more productive and adds all kinds of automatic refactorings to Visual Studio. (Think Resharper, but faster.)

JustCode Developer Productivity Tool Review: Teleriks Devcraft

And, I really like the JustMock tools that is part of Devcraft. I found this mocking engine very easy to use and I liked how it had the power to mock non-virtual methods, non-public members, sealed classes and even static methods. (Although, I’d suggest using that power with care.)

There were even tools on the debugging side. JustTrace turned out to be a very robust .NET memory and performance profiling tools–with a very nice and easy to use UI. I finally felt like I could actually us a profiling tool and understand what it was doing.

I’m also pretty well acquainted with JustDecompile. I’ve been using that .NET decompiler ever since that whole Redgate fiasco over .NET reflector. Telerik has done a pretty good job of making this decompiler easy to use.

I’ll also include the reporting and data access tool in this grouping–although I suppose you could argue that they aren’t really developer tools. Devcraft also has a reporting solution that is pretty lightweight and seems to be nice for generating reports and they also have a data access component that is basically a visual object-relational mapper. (The data access component is free.)

I’m not too much into reporting or data access these days, so I didn’t really use these parts very much–but they looked pretty nice to me.

So, what do I think?

Well, I have to say, many of the tools in Devcraft I was already using. I have been familiar with Telerik’s products for quite a while, but I never really had a chance to dig into many of their controls until now.

I was always very impressed with how the controls looked, but I now I am equally impressed with how easy they are to use and especially with the documentation available.

It was obvious that controls for desktop apps and ASP.NET AJAX would be fairly easy to use, but I am most impressed with how easy Telerik made it to use their ASP.NET MVC controls and the Kendo-UI bits.

kendo grid Developer Productivity Tool Review: Teleriks Devcraft

Without knowing anything about how the ASP.NET MVC controls worked–and without reading any documentation ahead of time–I decided to just pick a few controls and see if I could get them working.

I found that for each control there was a live demo on Telerik’s site. I could simply go to the control, see how it worked, and see the source code below. This made using any control I wanted extremely easy. I didn’t have to memorize how to use each control, since I could just learn how to use a control when I needed to use it.

The big problem I have now is that I don’t see how I can go on using regular controls or trying to create my own UIs for ASP.NET MVC apps anymore. I know that sounds a little lame, but I am actually a bit worried. I have to figure how to convince clients I do work for that they need to invest in these controls, because I can’t see recreating some of this stuff, like I did before, now that I know it exists and how easy it is to use.

It’s also crazy how well all this stuff fits in together. The ASP.NET MVC controls are actually wrappers around the Kendo UI stuff, so you can actually utilize the same Kendo UI controls in your ASP.NET MVC applications very easily.

There also seems to be controls for just about everything you can imagine. I spent hours just looking through the controls and trying them out. I was getting great ideas for applications I could build, just from looking at the controls. I’m really excited now to use some of these controls on my next project.

Productivity enhancements

All together though, the biggest thing for me about Devcraft was the productivity enhancements. I am all about developer productivity, so that is one of the main reasons why I like Devcraft.

I know what it is like to spend days trying to make a custom grid control or customize a grid control to do what I want. I know how much time can be wasted looking for that perfect jQuery plugin to use for your app. I think there is a huge value in having all of that in one big package.

It’s also pretty nice to not have to hunt for different solutions for testing, mocking, refactoring, tracing and more. Having everything together without me having to think about it, and knowing the quality is high, makes things much more simple and allows me to focus on what is really important.

Overall

So, overall I would have to say I am very impressed with Devcraft. I’ve been using bits and pieces of Telerik’s software here and there over the years, but until I did this review, I didn’t realize how well it all integrated together and just how much stuff there was available.

Now, the price is a bit high. At the time of this writing, there are three editions:

  • The UI Edition at $1,299
  • The Complete edition at $1,499
  • The Ultimate edition at $1,999

pricing Developer Productivity Tool Review: Teleriks Devcraft

But, with the value in these collections, I still think it is a pretty good bargain. I’ve purchases–or been responsible for the purchase–of many of the individual components in the past, and it seems like a no-brainer to me to get everything all together than trying to buy them piecemeal.

Also, Telerik has kindly offered to give away a license for Kendo UI Professional. To enter the contest, just leave a comment below. I’ll randomly select a winner in a week.

 

 

 

Do Software Developers Really Need Degrees?

When I first started out my career as a software developer, I didn’t have a degree.

I took my first real job when I was on summer break from my first year of college. By the time the summer was up and it was time to enroll back in school, I found that the salary I was making from that summer job was about what I had expected to make when I graduated college—only I didn’t have any debt at this point—so, I dropped out and kept the job.

But, did I make the right choice?

Do you really need a university degree to be a computer programmer?

The difference between education and school

Just because you have a college degree doesn’t mean you have learned anything. That is the main problem I have with most traditional education programs today. School has become much more about getting a degree—a piece of paper—than it has about actually learning something of value.

To some extent, I am preaching to the choir. If you have a degree that you worked hard for and paid a large amount of money for, you are more inclined to believe that piece of paper has more value than it really does.

school Do Software Developers Really Need Degrees?

If you don’t have a degree, you are probably more inclined to believe that degrees are worthless and completely unnecessary—even though you may secretly wish you had one.

So, whatever side you fall on, I am going to ask you to momentarily suspend your beliefs—well, biases really—and consider that both views are not exactly correct, that there is a middle-ground somewhere in between the two viewpoints where a degree isn’t necessarily worthless and it isn’t necessarily valuable either.

You see, the issue is not really whether or not a particular degree has any value. The degree itself represents nothing but a cost paid and time committed. A degree can be acquired by many different methods, none of which guarantee any real learning has taken place. If you’ve ever taken a college course, you know that it is more than possible to pass that course without actually learning much at all.

Now, don’t get me wrong, I’m not saying that you can’t learn anything in college. I’m not saying that every degree that is handed out is a fraud. I’m simply saying that the degree itself does not prove much; there is a difference between going to school and completing a degree program and actually learning something.

Learning is not just memorizing facts. True learning is about understanding. You can memorize your multiplication tables and not understand what they mean. With that knowledge, you can multiply any two numbers that you have memorized the answer for, but you would lack the ability to multiply any numbers that you don’t already have a memorized answer for. If you understand multiplication, even without knowing any multiplication tables, you can figure out how to work out the answer to any multiplication problem—even if it takes you a while.

You can be highly educated without a degree

Traditional education systems are not the only way to learn things. You don’t have to go to school and get a degree in order to become educated. Fifty years ago, this probably wasn’t the case—although I can’t say for sure, since I wasn’t alive back then. Fifty years ago we didn’t have information at our fingertips. We didn’t have all the resources we have today that make education, on just about any topic, so accessible.

A computer science degree is merely a collection of formalized curriculum. It is not magic. There is no reason a person couldn’t save the money and a large degree of the time required to get a computer science degree from an educational institution by learning the exact same information on their own.

Professors are not gifted beings who impart knowledge and wisdom on students simply by being in the same room with them. Sure, it may be easier to obtain an education by having someone spoon-feed it to you, but you do not need a teacher to learn. You can become your own teacher.

In fact, today there are a large number of online resources where you can get the equivalent of a degree, for free—or at least very cheap.

Even if you have a degree, self-education is something you shouldn’t ignore—especially when it’s practically free.

You can also find many great computer science textbooks online. For example, one the best ones is: Structure and Interpretation of Computer Programs – 2nd Edition (MIT Electrical Engineering and Computer Science)

So, is there any real benefit to having a degree?

My answer may surprise you, but, yes right now I think there is.

I told you that I had forgone continuing my education in order to keep my job, but what I didn’t tell you is that I went back and got my degree later. Now, I didn’t go back to college and quit my job, but I did think there was enough value in having an actual computer science degree that I decided to enroll in an online degree program and get my degree while keeping my job.

degree Do Software Developers Really Need Degrees?

Why did I go back and get my degree?

Well, it had nothing to do with education. By that point, I knew that anything I wanted or needed to learn, I could learn myself. I didn’t really need a degree. I already had a good paying job and plenty of work experience. But, I realized that there would be a significant number of opportunities that I might be missing out on if I didn’t go through the formal process of getting that piece of paper.

The reality of the situation is even though you and I may both know that degrees don’t necessarily mean anything, not everyone holds the same opinion. You may be able to do your job and you may know your craft better than someone who has a degree, but sometimes that piece of paper is going to make the difference between getting a job or not and is going to have an influence on how high you can raise in a corporate environment.

We can’t simply go by our own values and expect the world to go along with them. We have to realize that some people are going to place a high value on having a degree—whether you actually learned anything while getting one or not.

But, at the same time, I believe you can get by perfectly well without one—you’ll just have a few less opportunities—a few more doors that are closed to you. For a software developer, the most important thing is the ability to write code. If you can demonstrate that ability, most employers will hire you—at least it has been my experience that this is the case.

I have the unique situation of being on both sides of the fence. I’ve tried to get jobs when I didn’t have a degree and I’ve tried to get jobs when I did have a degree. I’ve found that in both cases, the degree was not nearly as important as being able to prove that I could actually write good code and solve problems.

So, I know it isn’t necessary to have a degree, but it doesn’t hurt either.

What should you do if you are starting out?

If I were starting out today, here is what I would do: I would plan to get my degree as cheaply as possible and to either work the whole time or, better yet, create my own product or company during that time.

I’d try and get my first two years of school at a community college where the tuition is extremely cheap. During that time, I’d try to gain actual work experience either at a real job or developing my own software.

Once the two-year degree was complete, then I’d enroll in a university, hopefully getting scholarships that would pay for most of my tuition. I would also avoid taking on any student debt. I would make sure that I was making enough money outside of school to be able to afford the tuition. I realize this isn’t always possible, but I’d try to minimize that debt as much as possible.

What you absolutely don’t want to do is to start working four year later than you could be and have a huge debt to go with it. Chances are, the small amount of extra salary your degree might afford you will not make up for the sacrifice of losing four years of work experience and pay and going deeply into debt. Don’t make that mistake.

The other route I’d consider is to completely get your education online—ignoring traditional school completely. Tuition prices are constantly rising and the value of a traditional degree is constantly decreasing—especially in the field of software development.

If you go this route, you need to have quite a bit of self-motivation and self-discipline. You need to be willing to create your own education plan and to start building your own software that will prove that you know what you are doing.

The biggest problem you’ll face without a degree is getting that first job. It is difficult to get a job with no experience, but it is even more difficult when you don’t have a degree. What you need is a portfolio of work that shows that you can actually write code and develop software.

I’d even recommend creating your own company and creating at least one software product that you sell through that company. You can put that experience down on your resume and essentially create your own first job. (A mobile app is a great product for a beginning developer to create.)

What if you are already an experienced developer?

Should you go back and get your degree now?

It really depends on your goals. If you are planning on climbing the corporate ladder, then yes. In a corporate environment, you are very likely to hit a premature glass-ceiling if you don’t have a degree. That is just how the corporate world works. Plus, many corporations will help pay for your degree, so why not take advantage of that.

If you just want to be a software developer and write code, then perhaps not. It might not be worth the investment, unless you can do it for very cheaply—and even then the time investment might not be worth it. You really have to weigh how much you think you’ll be able to earn extra versus how much the degree will cost you. You might be better off self-educating yourself to improve your skills than you would going back to school to get a traditional degree.

If you liked this post and would like to learn more about improving your software development career, join over 4,000 other Simple Programmers here.