How important is my degree?
Beyond having a degree, most software development jobs see it as a check box. You need one to be considered. If you can, look for subjects that relate to areas that interest you. For example, learning SQL and basic database concepts is vital for many positions.
Will good company hire me?
Unfortunately, a degree does not guarantee a job. Whether they will hire you depends on your other qualities (see below).
It also depends on your definition of "good company". As long as the salary is acceptable, I would be looking for roles where you can learn the technologies and business areas you want from smart people over a name or reputation. Remember that a work history gets you an interview (only). The interview (and demonstrating your potential) gets you a job.
What strategies can I employ to help land a job without having a completed degree?
Look at the subjects you have completed and try to match them to new roles. Looking for a Java web development position? That Spring course you did may be useful. Do not neglect non-computing electives, either, since they can round you out or provide other experience.
If you did any extra credit work, particularly research, be prepared to talk about that in an interview, since that shows self-motivation and organization.
Look at activities outside your degree, too. Did you do any part time work? That may be useful. Did you volunteer your time? Put that down and ask your supervisor for a reference.
Outside of your degree, there are lots of things you can do:
- Network (as in talk to people). Attend user groups and conferences about languages or tools you are interested in. Meet other people and get to know them. They can help you learn who is hiring and what they are looking for. Remember to help others out, too.
- Do not stop learning when you get your degree. Most people in IT voraciously absorb information because technology changes so rapidly and IT skills atrophy so quickly. If you are not sure which blogs or books to read, ask about it at a user group or conference.
- Open source. If you can make time, write software in your spare time. Create an account on github, codeplex, bitbucket or whatever site you like, fork others' repositories and start fiddling and tweaking. Talk to the authors and ask whether you can contribute. There are usually lots of bugs, documentation and test automation that needs to be done.
- Mobile apps. Similar to above, if you have an interest, write a small app that is available on an app store. If you want to work with iOS, Android or similar mobile development, this is a must. Store the code on github, too.
- Blog, contribute to forums or otherwise write. Written communication is a massively underrated skill and having something you can point a prospective employer to will help. If you want something to blog about, talk about your mobile app or open source contributions. You will no doubt find lots of little problems that you solve or discover new libraries or features that others may find interesting.
- Certifications. Certifications are regarded better in some countries and some languages/frameworks than others but this can help differentiate you from people that just have a degree by demonstrating knowledge.
There are also the standard things anyone should do when applying for a job or going for an interview, like researching the company beforehand and proofreading your CV.
None of this is guaranteed to land you a job but making the effort to go that extra mile will help. You are fortunate that you have a job and can probably take your time. Just be careful not to stay in your job for too long after getting the degree as many will still see you as junior.