Solo developer rant
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Hmm, it sounds like you have a lot on your plate atm and you're probly thinking of too many things. Reorganise your tasks and put a few things on the back burner for the time being. I'm thinking maybe if you could get a part of the software running (fudge it a bit maybe?) you could show the manager and get him off your back too. You might need to come up with a good analogy to tell him so he shuts up for a bit. If you job hunt you'll need motivation too so where you are try and code the things you want to, so you can at least be productive and improve your skills without going nuts. It'll be harder to job hunt (and stay motivated and positive) if your going nuts in your day job.
-
My advice is to be open and honest with them - admit you have bitten off more than you can chew, and part amicably.
MVVM# - See how I did MVVM my way ___________________________________________ Man, you're a god. - walterhevedeich 26/05/2011 .\\axxx (That's an 'M')
Would love to do that right now, but I'm broke, need to tough it out and see if things improve.
-
Would love to do that right now, but I'm broke, need to tough it out and see if things improve.
IN that case, I would look at the project carefully, break it down into doable parts, and agree an implementation schedule with the employer If you can meet some deliverables reliably, you will gain respect and trust, and then be more likely to receive a favourable ear when they get the 'but this lot isn't going to be finished until after the year's up' message.
MVVM# - See how I did MVVM my way ___________________________________________ Man, you're a god. - walterhevedeich 26/05/2011 .\\axxx (That's an 'M')
-
Not sure if you've been there longer than the previous 2 devs, but if so that's a good sign no? They can't just keep going through developers because they're losing time & money in the process. If you're confident you can deliver the software, tell them you're committed & confident, and that you want to set realistic expectations on what can be built within X timeframe. You can't have a sky scraper in a week, and the same goes for building reliable software.
"For fifty bucks I'd put my face in their soup and blow." - George Costanza
CP article: SmartPager - a Flickr-style pager control with go-to-page popup layer.
Well previous devs failed to deliver 3 years after first estimating 1 year, so hope I'm not here that long :~. Thing that irks me is that manager is on my case about running about 2 months behind when the previous guys never delivered anything of real value after 3 years. Good advice though I probably need to communicate this better.
-
Many years ago I was employed to support a sprawling access application that had been written by a subject expert who taught themselves database development from a book. Fortunatly they knew their business domain. Unfortunately, they didn't know how to write a maintainable application. The whole thing was a mess and it had lots of similar issue to your current ones. Constantly changing feature list, large user base, conflicting requirements (user A wanted something that would prevent user B from doing something vital, etc). They way I dealt with it was to break it down into small deviverable projects. Push the complex ones to the end and ensure that refractoring acheived something visible to users - I.E. something they would notice. I'm very happy I don't have to do that sort of thing any more, but it taught me that managing expectations is just as important as writing code, especially if you are going solo.
Yes! This is exactly what I'm dealing with. Thanks for the advice.
-
Hmm, it sounds like you have a lot on your plate atm and you're probly thinking of too many things. Reorganise your tasks and put a few things on the back burner for the time being. I'm thinking maybe if you could get a part of the software running (fudge it a bit maybe?) you could show the manager and get him off your back too. You might need to come up with a good analogy to tell him so he shuts up for a bit. If you job hunt you'll need motivation too so where you are try and code the things you want to, so you can at least be productive and improve your skills without going nuts. It'll be harder to job hunt (and stay motivated and positive) if your going nuts in your day job.
Yeah, definitely finding I get caught up too much in the larger scope of the application. I'll think of a nice way to encapsulate some functionality in class A and then think of how that links with Class B and so on and so on until my brain shuts down with despair from trying to juggle this mental object graph and the realisation of all the other features I still have to implement. Got to keep focused on one piece at a time, good advice.
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Like other fellow members said, the only way possible if you want to continue in the current job. 1. Chop the requirement in sizable (chewable) chunk. 2. Take part from a quadrant of most important (company perspective) and medium complexity. 3. Make sure the owner of that part is one of the most influencing in the company. 4. Quote estimate of your real estimate + few days buffer 5. Deliver it little earlier than given date. Now you have a reputation plus protection from one of the influencing person in the company. 6. Go and repeat 1-5 for same person and one requirement for other manager. That's the best way I can think of. All the best
Thanks, Milind
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
As with everyone else, break it down to small deliverables, agree with the client what is going to be the focus of stage 1 and don't deviate. When some pillock comes up with a this would be nice/must have the first question should be is it in stage 1 if not then piss off. Make em write out their requirements/requests/wish list, don't allow them to simply bend your ear and get away with "but I discussed it with you". Writing it down also makes them think about the requirements in much greater detail. Show this thread to the boss, if he is at all reasonable this will establish that you are serious about solving their problem, not just making a buck. That attitude is essential to anyone in your line of work, been there do that!
Never underestimate the power of human stupidity RAH
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
If you plan on sticking with what you are doing here is a suggestion: I have found myself in a similar position on a couple of occasions and the one thing that has helped me was to isolate myself from all work and queries not related to the project for a week. If you can get a room for yourself where you can have the code printed out and sprawled across the floor or a big desk that will help. Then you can concentrate on understanding the current problems and planning on how to refactor rewrite or fix them. It can take a bit to convince management of the value of having this isolation and in my experience taking myself off for a week to do this has helped on two occasions when I found myself getting interrupted or going around in circles trying to understand and fix an issue. Good luck with whatever you decide to do :)
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
I see this all the time. A few years ago I was contracted by a company to convert their Clarion application to .NET. The inhouse devs were all Clarion programmers with no knowledge of the .NET framework and no knowledge of any .NET language. The database was non-normalized, and even worse, fields like (I'm making one up, but you get the idea) "sky_color" that obviously mean one thing had been hijacked to "season of the year" because "sky color" became obsolete and it was too nasty to go back into the Clarion code and fix it and the database, so instead of the label in app for "sky color" was changed to "season." The business logic was smeared across Clarion client code and PL/SQL, and, for an app that was responsible for records management of local and state government services, none of the business logic that had evolved over the years was documented. Oh, and I did mention that no one was using source control, so you could even see the evolution of the work? And it was a huge application with hundreds of screens and tables. And that was one app, which "integrated" via the data it manipulated with other apps. When I did an estimate (and a very optimistic one at that) of how long it would take to simply get a baseline document of "what and how" (gleaning the why was an impossible task) of the existing application, no new code, simply documenting what the current app did, I came up with a 3-5 man-year estimate. Actually, I didn't come up with the estimate, I led the senior management through the process. Quite simple actually: Q: "So, how many forms do you have?" A: X Q: (to devs): "So, how long do you think you need to document what this form is doing?" A: Oh, about a week for each form. Conclusion: "So, you're telling me it will take X weeks to simply baseline this product?" Result: Shocked looks by management. But the answers came from their own employees!!! And they never bothered to ask those questions until I came along. Then of course, was the realization that they couldn't normalize the database because of the interdependencies with other apps. So the idea of a "data bridge" was proposed, which would shuffle data automatically between the legacy DB instance and a normalized DB instance. That concept didn't even manage to taxi onto the runway, let alone take off, before... ...the whole project was killed, the company bought an upstart competitor (including their dev team) for a couple million dollars. Who knows where they are now? So, I hear your pain. As others
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
In my analysis, this is a perfect project to implement using Agile methods. Some of the most important features: - Involve the stakeholder continuously, and hold daily scrum meetings. - Look at the feature/bug list and completely fix/implement a bug/feature before moving on to the next. Don't try to fix everything at once and release a year later. You might get whacked in a month. - With an uncertain/unsophisticated stakeholder, the feature creep will be massive. This is what Agile was made for. - Continually produce and maintain the product in a constantly shippable state. You will get job security and better job satisfaction doing this.
-- Harvey
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
"I am confident I can get the application done for them and have it perform well but not in the time allowed" You need to clearly communicate this. If your initial time estimate was wrong then apologize and move along. You are the supposed expert. As such do not ask, tell. '"it would be great if we could do that", blah, blah, blah'. Tell them they can have it but this will move the time frame by a month. Give them clear options, eg, we can do X but the outcomes would be Y and Z. Alternatively we can do A with outcomes Y and Q. Clear communication is the key here. If you are getting bullsh*t requirements then say so. Insist on getting the basic application functioning well first and then add additional features. Have a clear plan on how you are going to build the application and then stick to your guns. Simply point out that them controlling the development process did not work out previously and if they are going to keep on making changes and breathing down your neck for unrealistic deadlines this attempt will go the same way as the others. "Complex requirements and convoluted business logic that are difficult to provide a nice solution for." You can not cry about this one :-) To reduce this to simple logic is your job as the developer. If you can not do this then you are the 'code monkey' and need to get hold of a developer. Harsh, but true.
Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction. ~ Albert Einstein
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Well, I can give you a hybrid horror / triumph story.
In early 1990, I was slapped with a task I'd have changed my name and gotten facial surgery to avoid. That I not bore anyone with unnecessary details, here's a summary:
- It involved an exotic communications device developed by another shop;
- The device was engineered to go into the backplane of a DEC VAX 8650;
- It was a microprogrammed device with three semi-cooperating processors;
- The documentation was exceedingly sketchy;
- It came with a primitive microassembler, a rudimentary microprogram, and no debugging tools;
- It was my mission (and I had no choice about accepting it) to interface that device to VAX/VMS, to write both a device driver and a proper microprogram for it, and to equip it with an API that would serve the needs of a legacy 80,000 line C program.
Inasmuch as there was no one else even remotely qualified to do that sort of work, I shrugged and bent to it. I assumed, as I was being given no help, no requirements, and no guidance apart from "make it all play together," that I would be left alone to do the job in some approximation of peace.
I was wrong. Boyoboyoboy, was I wrong.
The worst trial an engineer trying to concentrate can face is the demand for "status." Management above my head wanted daily status reports. That's right: daily. Mostly I was able to fend off my tormentors with a growl and an "I'm working on it," but now and then they'd press me for details. Early on, I developed an aversive tactic: I'd actually give them details: low-level technical details. Eventually, they realized that they hadn't a hope in hell of understanding what I was telling them, and the demands for "status" faded to nothing.
Then came the twin tortures of "We need it to do this" and "When do you think you'll be finished?" No one likes requirements changes in-stream, and as I'd received essentially no requirements up front, I resented them more than usual. But worse were the requests, eventually rising to demands, for a firm completion date.
As it developed, that legacy C program needed a lot of re-engineering, and it was as badly documented as my nightmare device. So the job expanded to embrace that item, as well...and I was still entirely on my own, without any assistance of any sort.
About eight months after the inception of the project, I was able to release a package of all the aforementioned items, tailored to work together as if they'd be
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Oh man I know this feeling all too well. Besides a few details, this is my latest job right here. The first you need to do is build up user confidence, it makes life A LOT more easy for you, as they are more patient for the results because they will know you deliver, and not yell death at the first sign of trouble. Also, release early, release often. Even if it's not 100% perfect, if it's usable without messing up something else, then show it to the users. It gives them something that they can see and play around, while it gives you the time to finish and perfect it while they are playing with it.
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Apart from the other valuable advices that you have received, be sure of being calm down when deciding what to do. Everybody has days when a project seems more than we can manage and the future looks darker that it is in fact. You seem to be having one of that days So, that days it is better to walf for a walk or something similar, and free your mind. Next day sit in from of the project specificactions, cut them down to achievable parts and create a realistic schedule. Remember, sometimes things look better with the light of a new day :)
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Been going 5 years on an upgrading project I estimated as 3 months - talk about feature creep! As part owner of the company I have job security but hardly get any real time to work on the project as I am always called to do other things. Tried getting another programmer but that didn't work out. Tried subcontracting but that didn't work out. I can really sympathize with your items 2, 4 and 6 - I am now just concentrating on the parts of the system that the clients use most and will get to the rest one of these days.
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
1 & 2 : Looks like you've got some work to do. Try not to freak out and just focus on what they *really* want for a workable prototype (they want everything done; you need to decide what's critical.) 3 : Prioritize the list. Work on getting a solid prototype out first, cutting features that the buggy version may have already had. All they are going to care about is seeing progress. If you don't have *something* to show them every now and then, due to you trying to tackle the whole project at once, then they are going to wonder if you're doing anything at all. 4 : This is why you need to have *something* to show him. He doesn't understand the scope or complexity of what you're doing so try to appease him by showing off what you have working and explain how it's *better* than the previous version (in simple terms; ex. "Fixed some bugs, it's a lot faster, and look at this new feature.") 5 : That's programming though, solving problems. Research the business til you understand it or you'll never be able to provide a decent solution. Find someone nice in the company to explain it to you if you can. 6 : We're here, you also have stack overflow, or you could make a blog and try to get people collaborating in the comments. Obviously, not everything you do can be shared outside the company, but if you abstract the problem, then you should be fine.
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Hah legacy Access applications seem to be everywhere, my last job was eerily similar, I feel your pain! Good luck!
-
I'm working as a solo developer for a small/medium business and I need to have a rant. I've been at the company for 5 months or so. A little background first, the company's original in-house application was built using MS Access and it was decided to replace it a number of years ago. Attempt 1: Someone was contracted to rewrite the application and to my knowledge it wasn't going well and the company decided to end or not extend the contract and the application was left unfinished with no source code available. Attempt 2: Another developer was contracted later and had previously developed similar software that was to be leveraged and customised for the company. 3 years later (after 1 year estimation) a buggy, horribly unperformant, partially complete application was delivered. Company decides to not continue any longer with contractors. Attempt 3: I come in and inherit buggy mess from Attempt 2. Originally on the assumption I was to complete Attempt 2 and add some features but I find out that a lot of the source code has not been provided because it was previous contractors IP and that the source code I have is a mess. I ask company do they want to continue with the application as is or rip out what I can and repackage it into the long awaited application. We decide to rip it apart to remove the dependency on a closed source poorly supported code base. So I have been contracted for a year to do this and have to deal with: 1. Maintaining compatible UI "feel" and data from original Access legacy application which has poor data integrity and in need of normalisation. 2. Trying to pull code from Attempt #2. 3. A huge feature list and constant feedback like from users like "we really need this" or "it would be great if we could do that", blah, blah, blah. 4. A manager with no understanding of software development or even computers breathing down my neck. 5. Complex requirements and convoluted business logic that are difficult to provide a nice solution for. 6. No other developer to bounce ideas off or cry on their shoulder. :(( I'm losing motivation fast. It is becoming such a huge task and it has been very difficult for me to provide delivery estimates given the legacy system and data, failed attempts, tight time frame and requirements communication. At the start I was too optimistic and was dealing with too many unknowns and now I'm behind on where I want to be, I know that, they know that and I get the feeling they are getting ready to cut me off as well. When I started I could see the w
Many of us have had similar experiences; seems to often come with the work. I could tell you horror stories but I don't think it will make you feel better :) Can you break apart some piece[s] and dole that out to another coder to meet deadlines? You have my sympathy esp on #4 ...
-
Apart from the other valuable advices that you have received, be sure of being calm down when deciding what to do. Everybody has days when a project seems more than we can manage and the future looks darker that it is in fact. You seem to be having one of that days So, that days it is better to walf for a walk or something similar, and free your mind. Next day sit in from of the project specificactions, cut them down to achievable parts and create a realistic schedule. Remember, sometimes things look better with the light of a new day :)
+1 Completely agree. My first day at my current job was my first day as a software developer (at least professionally.) I had to start a project entirely from scratch, by my self, using some technology I didn't even know at the time, and try to keep up with the other platform's team that had 2 developers, one of which worked at fidelity for 20+ years, with a head-start and a similar project to pull code from.... I was panicing for a little over a month. XD Eventually I calmed down and took it one feature at a time, focusing on small tasks instead of stressing the bigger picture. It's now a solid product. :)