94

Update: this situation is solved

Read how it all ended at the bottom of the post.

Background

I am a graduating Software Engineering student, working as a backend application developer. About a year back I encountered this volunteer organisation by veterans for veterans. I cringed at the state of their IT. In fact, there was no IT at all, yet this organisation is based around their Excel-based administration. I offered to help them with their IT issues, which they gratefully accepted. Over time, I managed to help them with various issues, like having them work in a shared document instead of mailing the Excel document over multiple times a day, removing viruses from their computers, but their main issue remained: their Excel-based administration system is bloated, difficult to use and full of mistakes. I offered to have a look at the possibility of rewriting it as a web-app, explaining I am a student and a full-time worker, so I wouldn't be able to spend more than a few hours a week on it and that I have very little experience with web-apps. I told them it could potentially take a couple years. An IT guy with Excel experience also joined and made the Excel a lot better to use, while I continued on the long-term web-app.

Over the past year I have spend quite a bit of time learning PHP, REST APIs and various other necessary skills to build the web-app. It is not going fast, but it is going well. I have completely set up the host and I have optimised various DevOp things like automatically running unit tests and uploading to the server on a GitHub push.

The chairman now wants a website with information as well. He has recruited a good friend of his, let's call him Steve, who, the chairman says, is 'good with HTML', who will work alongside me to make the website and the web-app work together.

The issue

The chairman has given Steve access to the host, even though he would not need that, as I have set up 'uploading' to work through GitHub. Apparently Steve has cancelled the host and pointed the domain name to his server running WordPress. All my DevOps work on that server is gone. He seems unaware of what GitHub is, he completely ignores existing requirements and does not communicate with me at all.

The API for the web-app is pretty far done, but, as with any API, it does not have a visual part. Meanwhile, the chairman is over the moon with Steve's 1-page WordPress website. He thinks Steve is the best software developer ever and I can learn a lot from him, but Steve is actually a WordPress website-maker. The Excel-guy is aware of the extend of his knowledge, but it seems Steve is not. He thinks he knows more about web development than me, because he has made multiple websites for actual clients (and he is good at that), but he does not know for example what a HTTP request is or how version control works. (I am quite certain he knows a lot more about WordPress than me though!)

What can I do?

I would like to convince the chairman and/or the rest of the volunteers that Steve is heavily distrupting and deleting my work. Unfortunately, besides the Excel guy and Steve, none of the volunteers are tech-savvy at all. Most of the other volunteers believe Steve is a far better developer than me. Perhaps the age difference (twenties compared to sixties) has to do with that as well. I have very little credibility left as a 'website builder' (they don't know the difference between WordPress and a web-app) with the volunteers, because of Steve's downtalking and because they cannot 'see' my API. I have suggested a Skype meeting before (since Steve lives far away from the other volunteers), but Steve 'does not have Skype', so this is not possible.

I don't want to abandon all the veterans who need my (indirect) help, but I also want to leave this constant source of stress behind. How can I regain credibility and convince them Steve is actively disrupting my work?

Update: how it all ended

I know you're all interested in how this ended ;)

I spoke with Excel-guy on how to proceed. Excel-guy didn't really follow what happened, but understood I wasn't happy with Steve's actions. We would call about it later. It only took a little bit of time for more problems to surface: Steve's actions also made the email unusable. With the chair and Excel-guy getting swamped with phone calls by volunteers, they quickly figured Steve accidentally created a small disaster.

Meanwhile, a new web developer has joined the team, another friend of the chair. He seems aware of what he knows and doesn't know. He admits to not knowing PHP as well as HTML and not knowing GitHub, but he believes we can learn from each other and I agree. We've decided that a web-app may not be the best way to go. Instead (thanks to the tips of some amazing people here), we've decided to move forward with a PHP-driven Google Spreadsheet.

We've concluded I have most experience with software development in general, Excel guy with Excel and Steve and the new guy with websites. I am in charge of the back-end, Excel-guy is going to be in charge of the Google Spreadsheets-based frontend and we will closely collaborate.

Steve has been put in charge of the website together with the new guy. Everyone has been explicitly told not to change any configurations without consulting all the other IT-people. All those decisions must be approved by everyone now. We're going to work with sprint-like deliverables, so non-technical people can see progress too.

All in all, this has been a huge learning opportunity for me.

  • 226
    @Belle You now have learned one of the most important lessons for your further career. It doesn't matter how great your backend is if you don't have a pretty frontend to show to business. – Wilbert Feb 26 '18 at 11:24
  • 16
    @Wilbert I think the much more valuable takeaway here is the usual, It's not what you know but who you know. – Mark Feb 26 '18 at 14:36
  • 16
    Managers have a tendency to be impressed by new ideas from new people, because they appear to create new possibilities for the managers to work with. Its rare that the new ideas are as useful, or even truly new, as they first seem, but its a pretty common effect. Also sometimes businesses and charities just need a wordpress site because they aren't doing anything very unique or intricate with their web presence. – Mark Rogers Feb 26 '18 at 15:46
  • 6
    @Belle If you were implementing DevOps properly, hopefully 'cancelling the host?' would not have deleted any work... (see devops.stackexchange.com/questions/653/…). The way you have worded your questions and responses leads me to agree with the other people who suggest you may have over complicated this and in fact a simpler solution is indeed better. If one of your API calls fails or they need a new table added, will they be able to get a new PHP developer to help after you have gone? Does it even need an API in the first place? – Milney Feb 26 '18 at 23:44
  • 7
    I think it's important to note that the problem here is not your technical skills. You are having a project management problem. – jpmc26 Feb 27 '18 at 4:10

12 Answers 12

107

So we have three people involved: Charlie (as I will call him) the chairman. He has no idea about anything IT but is aware that his organization heavily depends on computers. Thus he is, of course, happy about any volunteers helping with that.

Steve, Charlie's old friend. He has been setting up small websites (and/or maybe blogs, as he seems familiar with WordPress) before and is reasonably good with HTML. This is why he offered to help with the website. HTML is not one of the most recent hits on the charts, so people "good with HTML" are not necessarily in touch with PHP, GitHub and REST APIs. He might not be aware of their importance and HTML and WordPress can be used in a reasonably "uncomplex" way where you do not need to be.

But then there is Belle (you). And Belle put a lot of effort into learning all those things to produce the best output possible for Charlie and his organization. Charlie knows that, although he also knows he cannot judge her skilled work with his knowledge.

Charlie probably thought it would be a good idea to not load more stuff off onto you. A Web-App (for internal use) and a Website (to show off the organization to the outside) are completely different things in his book and thus it would be a good idea to have someone else (with less knowledge about the complex Web-App stuff) to set up the website while your precious skills can be used for the stuff where they are needed.

Steve probably was not aware at all that he was disrupting and destroying your work, Charlie was not aware that this could happen at all and that Steve would not need access to this stuff to do his work. You both are doing web-stuff, aren't you?

It is unclear if you ever tried to describe the situation as you did here to Charlie (or Steve, or both).

Set up a meeting with all involved people. Take some lead in this, as you might be the most experienced (by education and knowledge, not years). Plan out who is supposed to do what, where those things connect and how those connections are handled. Also, talk through who can and cannot access and change specific things. Make this group of volunteers work together as an organization. This will, in the long run, reduce work and stress for all of you.

If Steve is unwilling or unable to participate in this meeting, do the meeting with Charlie and the Excel-guy anyway. This might show Charlie which people work well together and which sabotage others' work. If he and the other involved people are not responsive to this, you probably have to decide to leave it behind and use your time to volunteer for another case you support and where your skills are both needed and appreciated.

  • 19
    What makes you feel that you have lost credibility? You can try to be "very mature" about this, explaining in your "Let's have a meeting" email that you understand things have gone a little wrong (without blaming anyone) and you feel this meeting is important to improve the situation. Try not to be condescending, but also not apologetic (it is not your fault). – skymningen Feb 26 '18 at 12:59
  • 70
    Your time on this Earth is limited. Every second of it you spend on something could have been spent on something else. The time you give this organization (be it voluntarily) will never be used for anything else. Use it wisely. If you are happy spending it to help people, make sure those people don't see your help as a hindrance. If you are no longer happy spending it there, then don't. If you think it's worth listening to the advice above (which is a very good advice IMO), then do it. Know this however: you already did more than a lot of people would have. You cared, you suffered, you tried. – BoboDarph Feb 26 '18 at 14:23
  • 10
    Did they say to you, that Steve has done more in two days than you did in a year? Because it is very easy to perceive that people think this way. Maybe they just congratulated Steve on what he did more than they ever praised you and you felt unappreciated? Unless someone explicitly told you that they do not trust your abilities anymore, I would assume this is not the case. In any case, you must act under the assumption that you SHOULD have credibility. That will make you sound credible. – skymningen Feb 26 '18 at 15:10
  • 7
    @skymningen I can see how he lost credibility, I have seen the same in a corporate setting. The backend guy was fired because his backend work was invisible and "he produced nothing", the frontend guy wasn't asked, but forced to take over the backend, and the whole project fell apart soon afterwards. The same is about to happen here. It's for a reason that they are still stuck with Excel, I don't think OP was the first one trying to convince them towards a custom application. – Alexander Feb 26 '18 at 15:38
  • 7
    @Alexander Everyone working there is a volunteer as far as I can see, so nobody is going to get fired. Also, that is why there never was anybody before who convinced them a custom application is better. In a corporate setting I would be much more careful about things that have not been said, but with volunteers I would educate the "benefit of doubt" much more. – skymningen Feb 26 '18 at 15:42
52

I don't have any reason to doubt what you are saying about "Steve" and the impact he is having on your work and it's certainly pretty crap having him go around cancelling things like the web host without talking to you. But I think you need to face to hard truths - you aren't "losing credibility as a 'website builder'" because you don't really have any. It sounds like you are doing some good stuff in terms of learning some solid best practice skills (and that's admirable it really is) but from the point of view of the veteran's organisation you've produced precisely nothing in a year whereas "Steve" has quickly turned around something that they can actually see and understand (ie the wordpress site) so it's not unreasonable that as non-technical people that they are going to come to the conclusion that he is the best thing ever.

As for what to do now I think your instinct to have a conversation with Steve is a good one - if he doesn't have skype then how about suggesting a phone call? I'm guessing he probably does have a phone. If you can get an actual dialog going with Steve then you are going to have a much better chance of finding a way to work together and put a stop to him impacting what you are working on.

I'd also suggest losing the attitude.. you complain that Steve talks down about you but aren't you doing exactly the same with the snide comments about him not knowing what Github is etc? That's not going to do you any favors, especially not when you have no real results to back it up. So put your humble cap on, give Steve the credit for what he does know and has successfully done already and try and find a way you can work together and potentially use each others skills to compliment each other.

  • 1
    It also depends on how complex the site is. A simple info page is going to be hard to sell the github, apis, etc stuff because it becomes way too complex for something simple. But if it has events, sign ups, ecommerce, etc, then it would be easier to sell. – Dan Feb 26 '18 at 18:54
  • 1
    I agree with your answer except the part about the OP having an attitude. A bit frustrated, maybe, but not snide IMO. – jcm Feb 28 '18 at 12:25
  • WordPress actually has it's build in version control, so working with it doens't require any knowledge of Git. And maybe Steve is an SVN expert ;) – Hans Janssen Feb 28 '18 at 16:36
38

All of the discussion so far seems to be "Your solution is better, but Steve's giving them visible deliverables." I'd like to throw another possibility out there: Steve's solution might be the better one.

This is a volunteer organization that didn't even have an IT department until you came along. Now, imagine that a handful of years pass, and neither you or Steve are working for this group... what are they supposed to do? It'd probably be a lot easier to find someone that can muddle their way through Wordpress than someone who knows PHP, Restful APIs, GitHub, etc. Heck, I'm a professional software developer, and I only know a few pieces of that stack (generally Soap/C#/Bitbucket for our company.)

Before doing anything more, I'd suggest giving that angle a bit of thought and consideration. Charging forward with the assumption that your solution is simply better... well, you should really weight it and make sure it actually is better.

  • 1
    Agreed. It is very important to understand the back-end use cases. Consider the types of changes your customers are going to be making to their website, and who will be making those changes. – Jay Elston Feb 27 '18 at 0:34
  • 1
    I'm skeptical that this solution is better. Wordpress can run on the same host, especially if it's already using PHP. – Rob Rose Feb 27 '18 at 20:03
  • 3
    Which server WordPress runs on is kinda irrelevant. The issue I'm bringing up is: what's easier for a non-IT person to assume responsibility for: a WordPress site, or a Custom-Programmed PHP/REST app with a GitHub rollout framework? All the comments/answers on the page seemed to take it as a given that PHP/REST was the better option. I was pointing out that... the OP better actually take a long look at whether WordPress (or something similarly simple) might actually be better in the long run for this particular case. – Kevin Feb 27 '18 at 20:17
  • 1
    @VolkerSiegel I intended to write an answer on this thought alone. – brett Feb 28 '18 at 9:04
  • 1
    I can understand how you concluded this, but no, Wordpress is not going to cut it for their administration. It is the complexity of a small CRM. Wordpress is fine for a front-facing website though, which is a separate requirement. Something I did not mention in the question, which I maybe should have: an IT guy made the first administration but left for reasons unknown to me. – Cyonis Feb 28 '18 at 9:35
14

To my mind the problems you have here is that you seem to be developing on the production server.

Until your code is ready to go I would expect you to be using your own dev servers to run and test your code, make sure it works, and do everything like that. If you're running it on your own servers (and this can include just having it working on your local computer, not necessarily some paid host on the internet) then there is no way anybody else can disrupt your work.

Also on another point:

"The chairman has given Steve access to the host, even though he would not need that, as I have set up 'uploading' to work through GitHub"

This is not comparable. Wordpress sites aren't just HTML files that get uploaded, they are a content management framework. It probably could have been set up on the same server but it is harder so all other things being equal its easiest to use an existing provider and just repoint your DNS. The fact they did this and shut down your existing server may just be because they were unaware you were actually using it - after all they hadn't seen anything.

  • 5
    Thank you for the answer. I do develop on a local server, with are the development and lower branches in Github. Upon pushing to master, all tests are ran and if they are succesful, it gets uploaded to the production server. It may now be a good idea to figure out what's easier: recover 'my' host and move his WordPress there or rewrite the scripts on 'his' host. – Cyonis Feb 26 '18 at 14:35
  • 13
    So am I right in thinking then that what is lost is just the setup of the server where you push the code to? Either way I personally think that you were doing things in the wrong order. Write the code first, get it working and then worry about deploying it to the server. While from a learning point of view it might be nicer to think about the deployment stuff at the same time in a real world situation I think that worrying about server deployment too early means that you are then locked into things too early. If things change what then? Exactly this situation. – Chris Feb 26 '18 at 14:41
  • 4
    Yes, not a lot is lost, luckily. You do bring up some good points about the order. Learning opportunity for me :) – Cyonis Feb 26 '18 at 14:49
  • 1
    Yup. While other people certainly didn't handle things well you can learn a lot from your experience. – Chris Feb 26 '18 at 16:08
7

I work for a company with roughly a thousand clients that has been in business for about 20 years. We have, in a sense, the exact same problem as you. You have the opportunity to fix it now and fix it correctly, and I strongly implore you to take that opportunity now.

What you need is a separate third level domain. Leave Steve's wordpress site on www.helpvets.com , and get DNS set up so that admin.helpvets.com directs to your completely different site. In fact, it's best if admin.helpvets.com is not even hosted at the same location, because that will help in figuring out root cause when one or the other is unreachable. I would advise you to (benevolently) get control of the DNS setup, if possible, so that you can keep people like Steve from mistakenly taking you offline in a misguided effort to "consolidate" or something.

Your site is the centralized spreadsheet replacement. Steve's site is "the website". You will be so happy when Steve borks something up in wordpress and your site still runs. So happy. So very happy.

Note that Steve will get all the credit for the awesome online presence and many people will not even be aware of what you are doing. You should be ready for that, is all I'm saying. Good thing all your stuff was in version control when Steve deleted it, by the way. Oh, only the code was, and none of the supporting stuff was? Hmmm, bet you don't make that mistake again. :)

You are learning great lessons very early in your career. You will have this kind of thing repeated at every real job, and what you learn here will be applicable over and over again in many different situations. Strong separation of concerns is a godsend to any organization and you're getting a chance to get that principle in for these vets on the ground floor. No power struggle necessary--you're simply dividing up responsibilities, you do what you know, and Steve does what Steve knows, conflict gone. (Until the next conflict comes up :) ).

Good luck!

  • I was wondering why the internal admin server was even on the same host as the public-facing web site. Sounds like a recipe for disaster. – Simon B Feb 27 '18 at 22:55
6

You mentioned two very important aspects, and let me try to convince you that one of them has a future, while the other has not.

I also want to leave this constant source of stress behind.

This is what you want to make your primary objective. You are in a very tight spot right now. The technical part does not look in your favour (your customers have seen nothing at all from your year's worth of work), and the social/human part is tense.

For every problem there are three solutions: love it, change it lor leave it. You do not love your situation; I believe it will be utterly futile for you to change it (in respect to the stress), so there is one option left: leave it.

This does not mean that you leave the organization! This means that you leave your current position as the IT guru in an otherwise technophobe context. Take a step back, and let Steve take over. It's not like he can ruin the organization; he won't go and delete all copies of their Excel file. At worst he makes all your work futile, but as it stands now you have not even release version 0.1 of your application, so it literally does not exist yet.

How can I regain credibility and convince them Steve is actively disrupting my work?

The only way to gain credibility is to present them with a finished version 1 of your application, which shows precisely how it can help them, and shows a way into the future that goes strictly past what you can do with Wordpress. There is literally no other way, as nothing else counts. Ego has no place here (and after all, Steve seems to win in the "ego" department either way).

You cannot gain credibility (or let's call it respect) by fighting against someone. He can always just point to his Wordpress GUI, and have something to present. There is no way to explain to non-technical folks why your solution (which, as far as they are concerned, does not even exist!) is better, and why Steve is atrocious.

So, what to do

Keep the excel solution running until Steve is finished with his job. Help transform the excel stuff into his Wordpress (maybe transforming it with some tools you program), etc. Be friendly and helpful (and I mean it - don't fake it or even plot behind is back). If it does not work out (because Wordpress is just not suited to whatever problem you are trying to solve), you continue with your original plan. If it does not work out due to persistent personal problems on your side, leave. If it works out => great!

You have to embrace to work together with Steve, nothing else will make your stress go away. If you cannot do that, then leave the organization, this is nothing to work yourself up about.

Enlarging your toolbox

Quoted straigt from user @brett in the comments:

Wordpress is hugely capable of handling a lot of tasks. Programming in Wordpress is a good and usefull skill. I recommend it. You can practically embed into wordpress whatever script you might have concocted as a standalone solution. Helping out with the transition from Excel to Wordpress would help one get more Wordpress skills. In my book this is another win, added to the first win of learning PHP, REST, APIs in this process.

So while we are in the Workplace here and not on Stackoverflow, it still is worth pointing out that adding stuff to your toolbox is always good.

  • Wordpress is hugely capable of handling a lot of tasks. Programming in Wordpress is a good and usefull skill. I recommend it. You can practically embed into wordpress whatever script you might have concocted as a standalone solution. Helping out with the transition from Excel to Wordpress would help one get more Wordpress skills. In my book this is another win, added to the first win of learning PHP, REST, APIs in this process. – brett Feb 28 '18 at 9:10
  • Thank you, @brett, that is a great point. I hope you are fine with me adding your comment to the answer verbatim. – AnoE Feb 28 '18 at 9:23
  • Sure, go ahead. – brett Feb 28 '18 at 9:33
3

How can I regain credibility and convince them Steve is actively disrupting my work?

You probably can't. They're not technical, so anything you say is going to go over their heads, and will probably be perceived as finger-pointing. I'd suggest your only approach is winning over Steve, somehow, but I'm not sure how you'd do that, given that he sounds less than technically competent, and what you're doing is going to get in the way of his Wordpress crap and involve more effort on his part. So you're probably out of luck on "fixing" this like you want. The only suggestion I have along these lines is that if you can figure out a way to approach Steve and frame what you've done as complimentary or even helpful to his Wordpress garbage, he's going to be a lot more receptive.

What can I do?

Well, treat this as what it is - a learning experience. In so many ways.

The first, or at least most glaring to me is that people don't value things that they get for free or cheap. And, you can (and should) use this fact to determine what people value by what they spend money on. If, in your professional career, you encounter a workplace that doesn't spend "appropriately" on IT, you have discovered a workplace that doesn't value IT, and you should run away. This applies doubly to you, because you're a volunteer here. I'd bet money that Steve's friend is not. The other takeaway from this is not to fall into the typical engineer-y trap of taking or making a lowball offer in your professional career, because doing so means you will be undervalued by the business.

Next, the fact that an incompetent friend of the boss is being given the lead, and treated as though he can do no wrong, while a competent individual who doesn't have a personal connection to the boss is being treated as you are... shows what really matters. It's more who you know than what you can do, so cultivate those personal connections. They're at least as important as your skills. It's also not a coincidence that the guy getting all the love from management has a shiny front end to show off. I can code, I can manage complex systems, I have a deeply technical skillset that I probably share with only handful of people in the world, but more often than any of that, what actually impresses management is my ability to punch up a Pivot table in Excel, or throw up one of those useless attack maps or some other shiny visual aid.

Finally, there's a valuable lesson here for when things go wrong (which happens more often than everything going right). Assume the worst case happens, and Steve's Wordpress garbage wins out over whatever useful solution you had in mind. You'll have gathered a lot of valuable experience that your peers won't have, you have a great resume item that many of your peers who are already a good ways into their careers don't have, and you (hopefully) come away with a lot of soft skills and wisdom about dealing with management. That's a pretty big silver lining, and I would advise you not to get stressed out. It's a volunteer position, and if management makes the stupid choice, they make the stupid choice. It's out of your hands, and it's not your fault. It's probably also not the last time in your career you'll run into management making really bad decisions - when they do, remember the division of job duties between management and us lowly technical employees - make your case, but when management makes a decision you disagree with, you need to accept the decision and do your [technical] job as best you can.

  • 1
    I try to expand the acronym SoL for readability by non-native readers. Is SoL shit out of luck? I'll replace "SoL" by "out of luck", feel free to correct. – Volker Siegel Feb 28 '18 at 2:58
2

ASK THE CHAIRMAN - IN BUSINESS TERMS

Steve is building a WordPress site which is fairly standard and fairly easy to manage and maintain, even for quasi-technical people and thus resources will be easily obtained.

You are beginning to build out a formal IT infrastructure: web app + backend, CD/CI environment, source code control, etc.

From a business perspective, this is an environment that will require SOMEBODY to maintain after you are gone. Is the Chairman good with that?

Therefore, meet with the Chairman and and ask what strategic direction he would like to take:

  1. Replace the Excel spreadsheet?

  2. Have a public facing website?

  3. Both?

In order for the Chairman to make this decision, he needs to understand from a business perspective that the resources needed to get rid of the Excel spreadsheet are not the same as those needed for a WordPress site.

He needs to know that he is making a commitment to maintaining a custom application supported by custom infrastructure, which will require a long term resource with skills beyond what Steve has.

Is he ok with that?

If so, then ask him for permission to lock down the infrastructure so that everyone, including Steve, must follow the new processes to protect the Chairman's investment in that infrastructure.

  • 2
    I think the OP, Chairman and Steve are already past this point. Also, given the current resources "both" is a viable path as long as OP understands how business works and is willing to guide Steve/Chairman towards project completion. However, my fear is that the OP is the wrong person for that role. – NotMe Feb 27 '18 at 0:37
  • @NotMe I think so too. We've done a requirements analysis and it turned out a public facing website is not what they wanted, only a replacement for the Excel. Every 'high level' volunteer has seen the requirements and agreed with them, including the requirement that there would not be a public facing website. But then the chair decided he wanted a public facing website and wanted it finished ASAP. It was really out of the blue. Perhaps it's an option to look at the requirements again, but we do that about every month. – Cyonis Feb 27 '18 at 7:05
  • So it sounds like you actually need both things now: a simple-to-maintain website that serves up content for external users, and a web application backed by a data store for internal users to do work. Wordpress or something similar is probably the right tool for the former for a non-technical orginization, and what you've been working on is probably the right tool for the later. So what really has to happen is that you need a meeting with all involved parties and emphasize these different needs, and that these needs have different solutions, but also probably need to integrate somehow. – Ellesedil Feb 27 '18 at 19:46
2

Apart from the above valuable answers already given, i would like to "add" few more points.

1) sometimes taking a break solves the problem better. Take six months or more break from the organization. Let that guy continue it on his own. You should not leave the place, but its better to sometime take the army back, recharge with new skills and then come back later to fight the situation of proving yourself. Till then the person at wrong , will have his credibility already lost. As you are not leaving permanently, so the other persons you are helping will be getting you back after few months only. But when you take break, then break off completely 100% for that period. Not a single visit.

2) Now the most important part, during the break , please learn wordpress/drupal based content management system's theme and extension development. Many times tested and quick results come by using right tools. Develop that company website using wordpress in private. If your primary server side language is PHP, then learn symphony framework used in drupal) or cakePHP for quick app development. If using java, then learn play framework. A right person will spend four hours to sharpen his axe, so that he can cut the tree in one hour.

  • 1
    Taking a complete break is very good advice. – Rui F Ribeiro Feb 27 '18 at 19:03
2

TL;DR: Disrupting your work while allowing you to save face could be what Steve was actually hired to do.

  • That would mean the chair is lying. Steve is supposed to make a front-facing website separate from my administration and to help me with whatever I think he can help with. Rather I think this was an action of ignorance. – Cyonis Feb 28 '18 at 14:31
1

From an experienced project management guy, walk. You are very graciously helping this group out and they should be bending over backwards to keep you happy. Embrace an authoritative, professional personna, and write a brief bullet-point letter to the CEO explaining the major contributions you made, until your work was blown out of the water, and tell them you have done all you can for them, and you have another project to work on. The level of the responsibility you have willingly accepted has reached a full-time, competitive-pay position, and you have been glad to have gotten them this far. For further involvement you will be asking $XXX.yy dollars per hour and would gladly put together a proposal and budget for them.

By adopting the pro route like this, you are actually setting your terms for your next engagement - you have ratcheted yourself up in experience at this gig, and time to embrace a new level and model of success.

Think of a successful person in the business and you will notice authority and confidence is their biggest selling feature. Don't kow-tow.

All the best! Peter

  • This doesn't answer the question. – reinierpost Feb 27 '18 at 16:30
  • 1
    @reinierpost It does. You could argue whether it answers the question well or not, but "walk away" is an answer. As is: Think of a successful person in the business and you will notice authority and confidence is their biggest selling feature. Don't kow-tow. – HopelessN00b Feb 27 '18 at 18:07
  • 1
    I think this is particularly bad advice for someone who is a "graduating software engineering student". The biggest obstacle for a graduating student is having experience in the field, and she's in a spot where she can get that experience with people she's enjoyed working alongside in the past. Pratfall, you and I are experienced people in the field - it's easy for us to just think, "Oh, we'll walk and find something else." That's a LOT harder to do if you're not even out of college yet. – Kevin Feb 27 '18 at 20:02
  • 1
    @Kevin - the OP has already gained a great deal of experience. Working for a year on such a project is great. Other chances will come along, either volunteering or hopefully, professionally. – Vector Feb 27 '18 at 22:34
  • 1
    @Vector Putting the experience and a link to Github on my CV landed me this job as a backend application developer for a popular ERP system, so it certainly has. – Cyonis Feb 28 '18 at 9:47
1

I know this is a month-old question that's already solved. But I have some additional thoughts for your consideration.

One useful goal in software development is to minimize the "time to value". Meaning that it's generally better to deliver something small but useful quickly than it is to deliver something more comprehensive on a longer time scale. That way people can see what you're doing and give you ongoing feedback. This often helps your customers understand their requirements as much as it helps you understand them.

Given that you have nontechnical stakeholders, I would question the approach of building out the API in a horizontal fashion in advance of building any UI at all. Focusing entirely on the API first increases the time to value. It sounds like you spent a year building something that nobody could see or use, and hence delivered no value that your customers could appreciate. Plus the risk of getting things wrong or working on non-priority work goes up significantly.

An alternative approach would be to work with your stakeholders to determine whether there's some small module in the Excel app that could be carved off, and then build the UI and backing API for that small module, and maybe some build automation. That way you can deliver value in a shorter timeframe. Then take the next module, and add deployment automation to the mix. Etc.

It is often harder to do it this way, because it's not always clear what to carve off or how you can do it. Sometimes you end up having to do temporary, kludgey integrations that you know will end up being throwaway. But it drives down the time to value, and hence this is a key software engineering skill. It elevates you from being a pure technologist to somebody who can use technology to solve business problems in a way that your customers appreciate and value.

Sounds like you have a good war story under your belt though, and that it ended pretty well. Glad to hear that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.