Upkeep + Freelancing = Uplancing!
I'm a freelance software developer who loves the upkeep of existing software. Legacy code is fun code to me. I'm guessing that's not a sentiment you're used to hearing.
That's me. Who are you?
I do mean you, the reader. You're here reading this page and something led you here. Either you already know me and you're just checking in, or someone referred you to me, or you just stumbled across me on the internet (via search, random surfing, or no telling). Allow me to take a stab at who you are...
You’re a passionate developer continually striving to master your craft. You're alone in this pursuit and are exhausted from continually swimming upstream.
When given the opportunity, you seek like minded peers. There's a simple reason for this - you want assurance that you're not crazy. You like being reminded that you're not alone after all. Validation that your efforts are worthwhile and shared by others is incredibly uplifting and empowering.
If this description fits you or your team, let's see if I can help you.
Is your app a web application built on the Microsoft stack (C#, ASP.NET MVC, Web API, SQL Server)?
I do mean a web application. I'm talking about big enterprise web applications or big customer facing applications where someone logs in and has a whole world of functionality. Small company or personal websites that are mostly content (or WordPress sites) are better suited for either website designers or copywriters. Neither of which am I good at.
However, if we are talking about one of those large applications, then I can definitely help you.
Is your app a Windows service or console application written in C#?
Most of the web applications I've worked on needed background services. There are almost always things that need to happen at night, or in the background, or just outside the context of someone being logged in and actually clicking a button.
Sometimes keeping the main web application and these background services in sync can be really tough and confusing. They generally share both code and the database. They sometimes talk via some kind of messaging framework (MSMQ or RabbitMQ). Other times they "talk" by the frontend inserting rows into a table that the backend is watching.
Regardless of the specifics, rest assured that I can definitely help you.
Do you think it's time to rewrite the application?
It's probably not.
Did you take over and existing codebase that's a nightmare? How many developers have seen the code and said the only thing to be done is to rewrite the whole thing? This is common. A codebase can become a maintenance nightmare so fast and so incredibly easy. When an application becomes a big ball of mud, or a mess of spaghetti code, it quickly becomes untouchable by most. The fear of fixing one bug, only to introduce two new ones, becomes palpable.
Having said that, we might be talking about an archaic programming language or tools that just aren't available anymore. Sometimes it's you who wants the application to be rewritten. If either of these is the case, then it is indeed time to rewrite.
However, if you honestly believe it shouldn't need to be rewritten just to add a feature or fix a bug, then I will more than likely agree and I can definitely help you.
No new code ever?
I do occasionally enjoy creating new applications from scratch. Greenfield apps are great for learning the latest and greatest frameworks and to catch up with the rest of the world. It's amazing how fast the field of computer programming changes. Advancement and forward progress is built into the fiber of human nature I think. I also think these ingrained tendencies are amplified in the average programmer. Therefore, keeping up and lifelong learning is most definitely part of the job in this career field.
Having said all that, if I had my druthers, I would prefer to be asked to work on a large existing codebase. The bigger and the nastier, the better. Ah, the challenge of noodling my way through existing spaghetti code!
Have you decided that I can help you?
My standard rate is $160/hour.
I do my best to work a minimum of 25 billable hours per week and try to not go over 30, but I do understand that sometimes it's just unavoidable. I work 100% remote.
To establish contact and talk availability, feel free to send me an email - firstname.lastname@example.org.
Status: September 8th, 2018 - I'm in the middle of an unbounded contract.