views:

2263

answers:

23

This is tangentially related to my previous question regarding using a "fringe" technology. I am the "IT Manager" (read: sole IT person) for a tiny company with 5 other employees including the owners. As such, I'm in charge of everything that goes on as it relates to technology. I am in the process of initiating a complete, ground-up rewrite of our existing ERP system, which was hacked together using VBScript and SQL Server about 5 years ago and is quite literally a cesspit of horrible code and bad practices.

Let me first say that the business I work for is incredibly cheap, and my budget to do anything is pretty much $0.00; I cannot hire additional people to help me out (unless I want to send modules to a site called AffordableProgrammers.com that outsources to India for $10/hour), and I cannot requisition any technology components. I don't even have a copy of Visual Studio in the office (not that I need one, since all the current maintenance work is done in Classic ASP). Our company has a single license of SQL Server 2005 that runs our database(s) but it runs on a two-processor server because the company won't pay for an additional license, saying the $5,000 price tag is "ridiculous" and that they already spent $5,000 on one license.

My programming skills are, I admit, mediocre at best. I know a little C# but haven't touched it in around 2 years; most of my day job right now is either patching stuff in the terrible VBScript code or writing SQL queries to aggregate/load/query data. Before I get too into architecting a new database schema and gathering requirements for the new application, I need to determine what technology stack I'm going to use. The biggest issue here, of course, is that I have zero budget since my boss(es) are unwilling to spend money even on something relatively trivial.

I'm not terribly proficient in any programming language, really - 95% of my career has just been doing maintenance of existing programs, and I've never been in a situation where I can actually develop a brand new application from the ground up, my way. I'm not sure which route to take as far as picking a technology stack, because once I choose one I want to stay with it. While the logical course of action would be to use ASP.NET/C#, the application cannot be scaled properly due to zero funds to get additional equipment; for instance I would like (and we really need) to have a small data warehouse spun off of the OLTP database (the current database mixes the two together and runs slow as molasses because of it) for reporting, but with .NET and SQL Server this would require at least another $7,000 or so which just isn't available for use. The benefit of course is an easy-to-use interface, since a lot of my activities involve importing data from Excel and manipulating them via SQL Server - it's something I want to get away from and implement some actual workflow processes, but we routinely have tight deadlines due to the fact we update our product listings every 3 months; our main (only) customer is the government and we are only allowed to update our prices quarterly, so each quarter is a rush to get data updated, processed and loaded.

My options here seem very limited, and compounded more by the fact that I'm by no means an expert at programming (I admit I'm trying to improve my programming skill). I've been increasingly looking at open source to cut costs without sacrificing efficiency at the hardware and application level, but I'm still a little reluctant to do it on the software level even though the price is right for my bosses because I would have to learn a new list of technologies simultaneous with writing an ERP application (although even with that, I would be able to write it better than my predecessor) for what I call a "VSE" - Very Small Enterprise (as we are a really small business but require a lot of "big boy" features). I have too many choices that can fit the bill, but the one logical choice is nearly ruled out because it costs money that the company is not willing to spend, no matter the benefit they would obtain. Technically speaking, I own an MSDN subscription but I can't use the stuff included in that for work (as it's licensed to me as a person and I'm an employee of the company, not a consultant) and even so I couldn't use it for production systems.

Should I look at and evaluate open source technology stacks, since I know for a fact I won't be able to requisition any money to spend on new development? At this point in time I can't just up and leave the job, either, I'm stuck for the foreseeable future and I want to make a difference at this small company that has never had a knowledgeable technology person who wants to automate/document/do things properly.

EDIT: We aren't an ISV nor a startup, so I can't make use of Empower and/or BizSpark to get free/reduced cost Microsoft tools.

EDIT (10:22PM): I was originally evaluating use Ruby on Rails for our applications, since speed is always of the essence with this company. However, Java is another good alternative and would let me leverage my C# skills as well as be less restrictive as Rails; the current implementation has a lot of weird quirks that seem tacked on, and there are quite a few workfows that need to be implemented; not being an expert with Rails (I admit I've done little more than a couple of the tutorials) I'm not sure if Rails would be working against me to implement things of a more "enterprise" nature such as workflows and custom logic such as 'authorization is required to override shipping costs on quotes for more than $500' or 'if the item added is one of a specific group of items that must be substituted for another equivalent item and the customer type is government, replace the item entered with the equivalent; if no equivalent item is found show a warning and do not add the item to the quote'. Since we're a federal supplier there are is fair bit of somewhat complex business logic.

I think Rails would be a great idea for the customer-facing storefront, but maybe not for the ERP/CRM/Fulfillment system in the back end, where the real "enterprise" stuff has to take place. So maybe something like Rails for the front end, where it shines, and then Java for the back. As long as the database is the same there should be no problem, and if I really had to I could run Windows/Tomcat/Postgres/Java (WJAP?) on one server for the back office system, since we already have a Windows box, and a Rails front end on a cheap Linux box and have it talk to the Postgres database. I need to investigate Rails as a solution a little more, since there will be existing data from our supplier to use and it doesn't quite fit into Rails' assumptions and conventions. Python is another option, as well, and more customized with something like the Django framework, although I'm less familiar with Python/Django than Ruby/Rails.

FINAL EDIT: After a great deal of thought and topics discussing it, I've ultimately decided to stick with what I know, that being the Microsoft stack. I see a lot more .NET jobs in my area than I do open source (or anything other than .NET, actually) and I feel that my best move, career wise, is to brush up on .NET while earning a steady paycheck, and then head for the hills as soon as I get a better offer. As much as I'd like to turn this company around, it's nearly impossible without buy-in from management and my bosses don't seem to care about anything apart from turning a quick buck.

They don't just not want to spend money on IT, they don't want to spend money on anything related to this business - for example, they only buy residential DSL, won't pay for a water heater (so there's no hot water), won't let us turn the heat on when it's cold, etc. However one of the owners has started 4 additional businesses in the time I've been here, including two non-profits and spends 90% of his time focusing on those (he runs them all out of our office - he's in the conference room with his non-profit partners right now) and talking about how it's going to change the world.

FWIW we are a supply company that sells products to the government, so the reason for my "enterprisey" tone is because we have a lot of compliance rules to follow and the owners want to have it all automated since right now I get dumped some spreadsheets and have to manually load data from them together, usually 4 or 5 times because my boss isn't sure exactly what he wants to do.

I think my best career move is to leave, because my skills are stagnating here.

Thanks everyone for your advice!

+25  A: 

LAMP (Linux, Apache, MySQL, PHP) would be your best bet. Everything besides the server will be free, and it's a decent platform to develop on.

It's also got one of the largest userbases in the software industry, so getting help if you need it will be easy.

Alex Fort
+1 /agree If you try and stick with Microsoft products or the like, you will end up having to spend lots of money. And if your going to go open source/free, might as well go with the most proven of the technologies.
Dustin Brooks
Unless you feel like using Mono ;)
Alex Fort
+2  A: 

I would take a long, hard look at a LAMP (Linux, Apache, MySQL, PHP) setup, unless you need to stay in the Microsoft sphere. Aside from commodity hardware, it's free, heavily used, and therefore pretty well documented. If you need to do heavier programming than PHP allows, there's always Java.

Matt Poush
Wouldn't Java be a little heavy for a 5-person company? I thought of this because I can leverage the bit I know about C# to use Java, and for some reason I cannot stand writing or looking at PHP. I was looking at using Rails but might need something "meatier" for the ERP features
Wayne M
Not at all - I was one of two developers in a five-person company, and the LAMP+Java setup was what we went with. Java doesn't have to be enterprise-y or huge; it's what you do with it.
Matt Poush
Rails is a shockingly beasty framework, if you're not prepared for it. It's more like a DSL (Domain Specific Language) written in Ruby, which may take more getting used to than PHP would.
Alex Fort
Both C# and Java are capable for the complexity of large projects, but that doesn't mean that they wouldn't work for small projects. And since you already know C#, learning Java would be quite simple. Learning PHP is also very simple, but IMHO PHP is not good for large projects.
Esko Luontola
PHP just.. I don't know, it just disgusts me to look at it. Bigoted, I suppose, but I've tried to learn it in the past (I have like 3 PHP books) and every time it leaves a sour taste in my mouth when I try to sit down and learn it.
Wayne M
PHP has it's place: quick and dirty applications -- with the emphasis on *dirty*. At least that's my opionion. Then again, it runs reasonably well with good performance and is as maintainable as you make it (depends on your coding standards).
Parvenu74
+1  A: 

You could give Mono a try, it's an open source .NET framework.

Eduard - Gabriel Munteanu
A point of clarification: It is open source, and a SUBSET of the .NET framework.Another general statement: Works better for ASP.NET solutions than Winforms solution.
pearcewg
Hm, I wouldn't say it's accurate. Yes, Microsoft's .NET has some Windows-specific features, but .NET itself is intended (at least allegedly) to be platform-neutral.
Eduard - Gabriel Munteanu
+3  A: 

I would add Java to Alex's suggestion. It's also free, which goes a long way towards explaining its continued popularity.

Bill the Lizard
+6  A: 

The problem is this,

At this point in time I can't just up and leave the job, either, I'm stuck for the foreseeable future and I want to make a difference at this small company that has never had a knowledgeable technology person who wants to automate/document/do things properly.

The whole reason they get hacked together code, is because they aren't willing to shell out the money for anything, as you say. For what it's worth, I'd run from this company as fast as I could. Now, knowing that that's not an apparent option for you, we move on.

The obvious answer is absolutely you should look at OS stacks. LAMP is one that comes to mind right away, which runs a good portion of the internet. However, there are other free technologies that fit into this that are better suited to you and your skills. Python as a programming language, supplanting PHP (the P in LAMP) might be a better choice moving forward. This would accomplish a couple of things, it would help your current company AND give you a relevant skill for looking for work.

Having mentioned Python however, it's my understanding (and I don't code in Python), that it's integration with SQL server leaves a bit to be desired at this point in time. Python experts can weigh in here.

Another option (and SQL server seems like overkill for an office of 5) but you could leverage Access as a front-end for SQL server. Access licenses generally run $99 per person or they could even be included in your version of office.

Edited to Add Based on your other responses, it sounds like you already have Access. Access makes an excellent front-end to SQL server. While this wouldn't necessarily be cutting edge, it does allow you to leverage your existing technologies and not have to spend a lot of time relearning something else. It would keep you current on SQL server if you could redesign the DB. Also, once that's all said and done you could use one of the free express editions of Visual Studio to replace the front-end that you create in Access. You could also leverage SSRS for reports out of your newly designed database.

GregD
To be honest, I'm looking at giving up on SQL Server and moving to something like Postgres - they already spent the $5K on it, true, but they're technically illegal since it's on a 2-processor server with a one processor license and I can't get them to realize that.
Wayne M
There is a command that you can use in SQL server to turn off one of the procs....I believe. When I find it, I'll mention it.
GregD
Oh, wait. I think you have to physically remove one of the procs. There are 2 physical processors right? This isn't a dual-core proc?
GregD
It's a dual core, but there are two physical processors (appears as 4 in task manager). The license is, I believe, per *physical* processor but I'm not an expert on it.
Wayne M
You are correct. The licensing is per physical processor. That being said, I believe that you can remove one processor to be in compliance and I was looking at "degrees of parallelism" as a potential way around the licensing scheme...
GregD
A: 

Ruby on Rails + MySQL running on Linux is a good way to go.

Also, be aware that Microsoft offers quite a deal for startup projects, called Empower, where you get a lot of software (including Windows Server, Visual Studio, Office, Windows, SQL Server and a whole lot more) for about $400.

Tim Sullivan
Thanks - I looked at Empower but we aren't an ISV, so I don't think we qualify for Empower. I personally have a BizSpark MSDN subscription but I obviously cannot use that for the company :)
Wayne M
+5  A: 

LAMP might, work, but you can also do an awful lot with the "free" stuff from Microsoft.

SQL Server Express, Visual Studio Free editions etc. Sounds like you already have at least a Windows Server and SQL Server license. Even if you paid for a VS license yourself, you'd be investing in your own marketability.

With your limit budget, and experience, you don't necessarily want to take on learning an entirely new set of tools (i.e. LAMP). If you go LAMP, where are you going to run it? You'd need another box to put it on, but you already have a box with SQL Server on it to use, don't you?

I'd be surprised with a company of just 5 people if you are already maxing the potential of SQL Server. I suspect a tuneup to the database, new indexes faster disks etc are a good place to start.

How much data is in the database anyway?

EJB
quite a lot - my predecessor was an Access guy who just dumped data into tables - there's pretty much no indexes, or referential integrity, or anything. The main database is around 7GB
Wayne M
7GB is a very small database for SQL Server. Id say you are bogged down because it is designed wrong, not because of any limitations of the technology. You could probably double performance just by finding a few key indices that need to be built.
EJB
Whoever voted this dude down, that was cold.
Mark Rogers
I could probably fix it by redesigning the data model to actually be a database instead of dumping queries ran from Access or imported from Excel. There's still the aforementioned licensing situation, though.
Wayne M
So run it on a single processor...I run *much* bigger databases on single CPU machines and they perform great. You already paid for one license, right?
EJB
Nothing is "free" from Microsoft. Sooner or later you will have to pay for those CALs. Definitely start with revamping the database schema. LASP it or WASP it. Linux/Windows/apache/SQL Server/PHP
jim
Jim, you crass, license-fee-centric individual, there are indeed free things from MSFT... you just need Windows on which to run. MSFT knows they have to give away some things in order to deter edge cases like Wayne's company from going all open-source.
Parvenu74
Wayne: how complicated is the CRM in question, and would access to source code inherently divulge company secrets? What would your boss think of you writing a new version of the app as an open source project under something like the MIT license? That would be one way to get "free programming"...
Parvenu74
A: 

Stick with Microsoft, and look for ways to license. For example, if you're paying $5000 for SQL, then someone didn't do their job -- you should be able to get discounts. (And I'm assuming you guys paid $5000 because this is externally facing... right?)

Microsoft has nice licensing programs. For instance, if you are writing software as a product, you may qualify for BizSpark. This gives you pretty much all the software you can use for free. If you do "software as a service", then you get production licenses too, for 3 years. (So, all the SQL Enterprise you can install, for instance.) Of course this also includes TFS, Visual Studio, etc. Edit: I've actually signed up for this, and we'll save a few hundred K over the first few years of business.

There are other programs, such as Empower for ISVs. There's also Action Pack, and other assorted partner programs which you may qualify for.

So, in short, don't let licensing "problems" decide your entire tech path. While you may end up deciding you cannot afford Microsoft software (or Oracle, IBM, etc.) -- you should fully evaluate it first.

Edit: Oh yea, I forgot, there's all the Express stuff too, which might fit the bill in some situations.

MichaelGG
I've looked into that, but we aren't an ISV and not creating SaaS applications, so we don't qualify (business has also been around longer than 5 years). I have a BizSpark MSDN license personally but I can't use it for the business.
Wayne M
So whats the SQL proc license for? Or you have that many partners connecting? Anyways, just saying, if it's more than 5 years, and they still have no money to do things right... run.
MichaelGG
Proc license is just to run it on the server, I mean a regular per-processor license, not the External Connector (which I don't think we need since nobody is actually connecting to the server, just some front-end stuff)
Wayne M
Oh, but you have more than a few users using the SQL server then. External Connector is only when you need lots of Windows-Authenticated users, afaik.
MichaelGG
+1  A: 

I understand it, that you need the stack and want to rework the new ERP from zero .. alone ? maybe you can look at Wikipedia:List of ERP Software Packages and combine the decision with the Stackquestion ?

Michael Lange
+1  A: 

Others have mentioned the LAMP stack, and while I agree that it is a robust stack, after reading your question I'm concerned that LAMP may be too much of a learning curve for you. How familiar with Linux are you? You can stay on the Windows platform and still run Apache, MySQL, and PHP. It's not too difficult to get those running on windows. Of course, you still have to pay the Windows license, but that may be a good trade off for you if you're not comfortable with Linux. I've personally used the WIMP (Windows, IIS, MySQL, PHP) stack a number of times and haven't been disappointed. Actually, just disappointed with the acronym. :)

Hope that helps.

Notorious2tall
I'm a relative beginner with Linux; I know the basic commands and can set up a LAMP server though; I have a Linux admin book that I'm working through as well :)For personal reasons I've wanted to get more into Linux and open source to better my career, anyways
Wayne M
Then look at it as an opportunity, and I hope you find few unsurmountable opportunities in your future.
David Thornley
If you're comfortable with Linux, then its hard to beat the LAMP stack. Free is pretty cheap!
Notorious2tall
+1  A: 

I agree with GregD on this. If you are a good intellegent worker do not pigeon hole yourself by sticking around helping some business out of the kindness of your own heart. Please trust me when I say that it will most likely NEVER pay off. The only thing that will pay off are the skills you aquire while on the job.

As most have said, take a look at LAMP, if you have a windows network, look at WAMP (it's the windows stack that installs super fast and easy).

Again though, I can't say how detrimental it is to work on a team - not rogue, and not to waste time working for a company that will not treat you with the same courtesy you've treated them with. Business is Business and Christmas is Christmas, don't give away great work to cheap people. If you are above their level and they can't afford to do things right you will just cause yourself grief and frustration in the end. Especially if no one understands how you are actually improving things for them.

Syntax
+23  A: 

Let me get this bit off my chest before answering your question:

Any company that's not willing to pay for the technology needed to implement the solutions it demands is invariably also failing to pay its developers enough to put up with that level of bushwah.

Maybe you're at a non-profit whose cause you embrace and get so much job satisfaction that the money doesn't matter. For that matter, maybe you're working at a start-up that is paying you in sweat equity that will potentially make you a millionaire on the IPO. If it's the latter, I'd still be wary. Stinginess on IT is a sure sign of pending failure for a start-up.

One of the reasons the world has not rushed to universally embrace OSS is because of something called "total cost of ownership." If you pay a developer US$20,000 to implement a solution that saves you from spending US$5,000 on a license, that's a bad investment.

The advice that comes next is probably only of limited utility because companies that won't pay for software are rarely generous with the developer hours needed to make the solution fit their budget. We can guide you on what you need to do, but not what your bosses are going to let you get away with.

For scalability on the DB side, I would look towards getting away from SQL Server all together in favor of a free-as-in-beer DBMS like PostgresSQL or Firebird. Of the two, PostgresSQL is probably the best choice based entirely on how many ISPs have come to rely on it.

With ASP.net, you again run into the problem of licensing fees. Any of the free .net tools come with a license restricting how you can distribute the code you create using them. And, as you hinted at, any significant solution will probably require server licenses and the like, which means money. ASP classic is a dying, deprecated technology that will only become harder to use to implement modern solutions. PHP and Ruby-on-Rails, in comparison, are modern, supported, and free.

But, my real advice is this: use the technology that will look best on your resume. Spend the next few months filling in the holes in your knowledge. Then, get out. You're almost certainly a better developer than you've been led to believe and you can do better.

Jekke
Points well taken, thank you. FWIW the business is neither - it's a for profit corporation run by people who don't want to spend money on it, and which loses money every year (and it's been in business for around 7 or so years). I'm probably being naive but I'm trying to turn things around here
Wayne M
Trying to turn a money-losing business into a money-making one is enough of a challenge when management isn't sabotaging your efforts. I wish you the best, but I'd be running for the door in your position.
Jekke
Where exactly did you get the information about having to pay licenses for asp.net development? I don't remember seeing that anywhere.
Donny V.
An ASP.net environment requires an OS license and often a SQL Server license. It's possible to work in free tools, develop in Mono/C#, and use a free database, but I don't see it done very often.
Jekke
@Jekke: Well said.
Chris Lively
It's not a given that OSS tools have a higher TCO. In many cases they require a higher up-front time investment to configure, but less on-going maintenance.
Adam Lassek
And what will YOU get out of turning it round?
Benjol
A: 

Disclaimer: I have no idea about ERP software, but:

If you are still here: You might take a look at ERP5, which just came to my mind while reading your question. It even has a chapter in beautiful code, so it can't be too bad I guess. Free as in freedom and beer AFAIK.

HTH

André
A: 

Remember that you can mix and match. I'd recommend sticking to Windows Server since you have a lot to learn and Linux adds a lot to that. Complement with Postgres as a database server and look into frameworks rather than languages to decide what route you want to go. Frameworks and your own code is much more important than the programming language you choose.

svinto
+10  A: 

Your employers are very short sighted, and they are probably spending way more to maintain this stuff as buying the proper licenses would cost. The way I see it you have 2 choices :

  1. Move on. Get another job in a licensed Microsoft company.
  2. Use this as an opportunity to ramp up with a LAMP stack and open source. This way, you can learn on the job, and should have no problem sitting there reading a book when your boss walks by ... because after all, this was his decision to use free software right. ;-)

Good luck.

EDIT: If you go with option 2 ... you might want to move on after you get all this experience ... because it doesn't sound like the kind of place you will ever be valued.

John MacIntyre
I'm going to have to sit down with my bosses and explain the situation, and mention that I know since cost is an issue I can build everything we need using free/open source technologies, but it might take a bit longer since I have to get up to speed on it while I implement our solutions
Wayne M
I might even start before that; Here's what I think it will cost to go MS. Here's what I think it will cost to go OS. What do you want to do? If they choose OS and you are interested in OS, this can be turned into an awesome opportunity for your career...paid to learn...gotta love it! ;-)
John MacIntyre
I am interested in OS, that's why I'm considering it so much for this situation; I know they won't want to pay but will want "top quality" tools.
Wayne M
A: 

Get the most flexible and interconnectable and easiest to learn/use language you can find. If you're really open check out the Rails, CakePHP, .NET framework of your choice, or an open source version of Coldfusion. Compare each by functions, and features available built in that would cost extra in others as libraries either by buying them, or wasting a lot of time tying them in..

I would suggest a very strong look at the Coldfusion or Rails, they are two of the best rapid application development languages out there.

Since you are looking at rebuilding an ERP, and want to look at java, Coldfusion might actually be the best bet. First, it compiles natively to Java byte code. It can be deployed on a Java server.. Second, it natively is able to use J2EE and .NET without missing a beat. It has thousands of dollars of libraries built in (pdf generation, email generation, reporting) that cost no time or money to start using. Also, you can find an open source Java ERP like jFire or OpenBravoERP and build on top of it, or build your own from scratch. Have a look at Railo or OpenBD as they are great alternatives to the commercial offering from Adobe.

I promise you that you will find little that is so clear and simple at building, running and maintaining business logic as Coldfusion. Every tool has it's strength and this is it in this case. It's not for everyone, but it's used heavily by large corporations and government.

Do share what you end up doing!

Jas Panesar
I'll look but honestly, I always heard CF was dead as a language. It's bad enough that the area I live seems to have nothing for Java, Ruby or Python (it's all .NET) without looking at ColdFusion, but I'll take a look at it, evaluate it and decide for certain. Thanks for your reply!
Wayne M
Coldfusion is anything but dead. It gets as many updates and new features as anything else, if not up there with the most. I have coded in ASP/PHP/JSP/some Ruby as well. The neat thing with CF is you can access the entire Java world directly from it, much simpler than programming JSP. Ask any q!
Jas Panesar
+1  A: 

I can relate to wanting to make a difference in a place that really isn't the best for you; a couple months ago I left a job after 12 years where that was somewhat true for me, and I still find myself going back there to help them sometimes.

Anyway, if you're still looking at this, some CMS systems may be able to help. E-commerce is really out of my realm of knowledge, but I believe Plone has some pre-built add-ons you might use for the that kind of thing. Alas, I found Plone to be a tough beast to get my brain wrapped around. but I don't know anything about any CMS's.

Also, you may want to look at Allan Benamer's Non-Profit Tech Blog. The focus isn't a perfect match to your situation, but he is interested in doing tech on a shoestring.

PTBNL
Thanks for the link. I'm making a list of various technologies to evaluate... the main issue is I want to standardize on a platform/group of platforms and stick with that, so they aren't totally screwed if I ever leave them. It's just hard because I only know .NET so I have a lot to learn :)
Wayne M
Okay, that link is great; thanks so much. It gives me an idea at least although I can't use everything since he assumes that you're at least willing to spend *some* money, while in my case they don't want to spend *any*
Wayne M
+1  A: 

Coming late to the party but I would say look at open source. In an economy like we have now, there are gonna be a LOT of companies that will be looking to cut costs. If you pick up open source stuff right now, there's a good chance you'll be in a position later to help other places with it.

Jack Of Hearts
A: 

You mentioned you are stuck in your current job and that your bosses are rather stingy. Are they too stingy to accept the help of experienced programmers for free under the condition that the resulting code be licensed under something like the MIT or BSD license? I'm thinking that CRM apps would be of interest to lots of companies and if developed in a modular manner to make it easy to mold the app to each user's needs, would draw the interest of lots of developers, maybe even with permission from some of their bosses to work on the project "on the clock."

Just a thought...

Parvenu74
A: 

Learn Django. It's very easy, comes with an easy to run development server, and you'll never want to go back to PHP. WAMP is nice if you must use PHP, though.

Josh
What is the best reference for learning Django? I've been wanting to get into Python web programming but am not sure which framework/toolset is best. I just know that, as a language, Python passes the "Google uses it" which puts it WAAAY ahead of Ruby/Rails, IMO. In the meantime, PHP works great...
Parvenu74
The main Django site has a great 4 part tutorial, and decent documentation. I used that and I hung out in the IRC channel, on freenode I think.
Josh
+1  A: 

I've implemented a number of successful projects using just SQL Server 2005 Express and VB 2005 Express. Cost = £0. The Express tools get a hard time but in my view the feature set is pretty good and, of course, they are FREE, even for commercial use. There's a built in upgrade path there for you as well.

I also have a number of business critical apps built in Access which front both SQL Server and Access databases. In all these cases the apps deliver the benefits demanded by the customer, regardless of the tools used.

The best thing about your current company? The door out...

Simon
I've pretty much all but decided to jump ship ASAP. I'm getting fed up with them wanting top-quality work but giving me shit to work with and then wondering why it's taking more than a month or so to develop software.
Wayne M
+2  A: 

Just don't do it. The technology does not matter in this case. Creating a complete ERP system with complex business and compliance rules in a programming language that is still to be learned with no support from management and no budget is next to impossible.

+1  A: 

Re your last edit.

GET OUT GET OUT GET OUT!

I've been exactly where you are, so much stuff screws up your thinking and keeps you from leaving:

"How will I be able to find a job, my skills are so rusty?"

"After all, I could stay, and really make a difference, maybe the company will change?"

"What will happen to this business without me, I mean, I know the system?"

"I hate myself!"

I had friends telling me to get out, for my health's sake. Spent months hesitating. In the end, what pushed me over the edge was all my colleagues leaving! The idea of being stuck with all that legacy stuff (ASP too) to maintain on my own was too much.

That and walking past the boss's speedboat every day, and then having to battle for months just to get him to invest in new hardware for HIS company...

I was lucky enough to get a job just at the right time, too.

It's a question of confidence in yourself, in the end. But you can build that. I don't know how much time you have outside of your job, but how about starting to try and build your ERP in your own time, using your MSDN subscriptions for a .Net stack? Not to give it back to your company, but just to have a real problem to work on. You can ask any questions here, get help, build up your confidence.

Lots of us have favourited your question, so be sure to tell us how it works out! Who knows, maybe someone here might hear of a job opening for you?

Benjol