17

I don't know if dysfunctional is the correct term here, but I find myself working for a company that did not have any Git workflow in place, did not have any source code versioning in place, did not have any resources a developer needs to do their job and when I initially asked, I got push back of, "why do you need this stuff"? Then the non-technical stakeholders realized when my colleague and I were behind on our work, thats when they started, "what do you, what do you need?"

Has this ever happened to anyone? This is not a startup, this is a huge financial institution and they did not have me setup with any kind of Github or Bitbucket account, gave me a laptop with no ability to download anything I need to do my job.

The department I work for is not the first development department, there is an offshore team that are developers and they have everything they need.

In the latest development, my colleague and I requested our own staging server. Get this, they provisioned a staging server for us that we, as of this writing, still cannot access, yet their other development team that is offshore, does have access to it.

The whole purpose was for us to have our own staging server that we have access to.

I find myself being put in the position of a Tech Lead, teaching my colleague how to work with git and ensuring he pushes his code on time, that he has the git workflow down because the people we work for have no idea what that is or why it is important.

Whenever we have questions about the specs, mockups or assets, no one seems to absolutely know, and we are consistently referred to the other development team that is offshore, whose main modus operandi is to ensure their work is getting done. Sure they have access to all the developer tools they need, whereas my colleague and I had to justify for over a month why we needed those same tools. I mean, am I going nuts here? You hired me as a developer, yes I need the same tools, resources and permissions that your other developers have.

How does that not make sense?

If you decide to start a new department of carpenters, they are going to need T-squares, measuring tape, carpenters pencils and all the other tools that your other already established carpenters have, does that not make sense?

Not having these tools and infrastructure in place and not having a UI/UX team or other teams that can get me the information that I need as I need when I need it, is also putting me in a situation where I have to work through late in the evening and on weekends after I have had to figure it all out on my own because nobody seems to know the answer.

Has anyone ever had this experience before and if so, how did you deal with it? What do you recommend?

14
  • 51
    This reads more like a rant than a question, is there actual problem you need help solving?
    – Aida Paul
    Aug 25, 2020 at 6:17
  • 8
    "I have to work through late in the evening and on weekends" - why? What's stopping you from only working the hours you're paid for?
    – Aaron F
    Aug 25, 2020 at 13:22
  • 1
    @AaronF, good question. A huge part of the problem is my colleague, when we pair program and its already 5pm, he wants to just move on to more stuff. He seems to prefer to work until the we hours of the night. I am starting to set boundaries and let him know no thanks, I am done for today, but I get pulled in sometimes by being put in a position where the last task just seems to drag on. I am open for good ways to let this guy know, at 5pm I am done for the day. Also the working of weekends was his idea that he committed to and by default involved me.
    – Daniel
    Aug 25, 2020 at 13:42
  • 5
    "this is a huge financial institution and they did not have me setup with any kind of Github or Bitbucket account" - I find it worrisome that you expect any company (let alone a financial institution) to host their code with a third party like Github or Bitbucket. You seem to be conflating the concept of version control with a specific public service. You might be making that mistake on other issues, too.
    – marcelm
    Aug 25, 2020 at 15:37
  • 1
    @marcelm Github has Github Enterprise, GitLab and Bitbucket have full on self-hosted options. My own workplace which is very large uses a self hosted version of a commercially available web-based repository management system. Aug 25, 2020 at 15:44

5 Answers 5

32

You're in an incredibly tough, but incredibly opportune position right now. You'll have to be careful with how you play it because if you don't play it well, you might find yourself doing a lot of work with very little reward coming in for your efforts. Right now, you've got nothing, and with your guidance, you can turn it in to everything. If you play it correctly, you could find yourself heading a department, or in to the real power roles there.

The first two will help you out the most in the immediate time frame (< 30 days).

  1. Learn the requisitions process.

Get licenses for the things you need to do your job. Source control, editors (if req'd, like why do Java without IntelliJ?), task management (GitLab/Github can cover you here), etc.

  1. Learn the access control process.

What do you need to submit to whom, with what details, by what time, on what system, to get access to things. Being in banking has taught me that the infra ticket to get something stood up for you does not get you access to that resouce until access control has approved an access request. You might even need to go through a change control board.

  1. Develop a process, and a resource for said process, for getting specs.

Who is the product manager? What do they do? Are you their only project? Who is the customer? What kind of authorization do you have to pursue these things? What kind of turnaround time can/will you expect on issues, Requests For Information (RFI), Change Requests (CR), etc.

  1. Get to know the corporate lingo.

Wanna be an inside guy? Walk, talk, and act like one. Duck type yourself to the right people.

  1. Be careful about working for free.

All those long hours hide gaps, and when you're filling in for them, the powers that be don't have to care about them. You're doing the work, so why should they care? Burnout? That sounds like a problem for people that can't offshore or pass on the issue to the next person. Banks are incredibly good at hiding trouble areas until it's either too late for the next person to take over, or they can offshore the problem and blame the contractor.

Once you stop doing it? That's a performance decrease. You're literally being outperformed by yourself, and you're no longer meeting expectations. Remember that it's not "satisfactory performance" on most reviews, it's meeting expectations. Be careful where you put those.

5
  • 3
    Duck type = duct tape?
    – Kilisi
    Aug 25, 2020 at 8:08
  • 18
    @Kilisi duck typing is a typing convention used in some programming languages (e.g. Python) whereby "if it walks like a duck and it quacks like a duck, then it must be a duck". In other words, Malisbad is telling OP to "walk like" an insider and "quack [talk] like" an insider.
    – tok3rat0r
    Aug 25, 2020 at 8:38
  • 25
    I would like to seriously discourage Op and everyone else from duct taping themselves to other people in their workplace!
    – Pavel
    Aug 25, 2020 at 12:04
  • duct tape can't fix stupid, but it muffles the sound.
    – dlatikay
    Aug 25, 2020 at 16:35
  • 3
    @dlatikay silence is golden, duct tape is silver. Aug 25, 2020 at 16:43
9

when I initially asked, I got push back of, "why do you need this stuff"? Then the non-technical stakeholders realized when my colleague and I were behind on our work, thats when they started, "what do you, what do you need?"

Sounds like you didn't give a particularly good answer to their question as to why you needed it. Explaining in non-technical terms why you need a particular resource is a tricky skill to master but it's one that's every bit as important to a developer as the ability to write code. You need to be able to translate these technical requests into either business benefits of having them and/or business risks of not having them.

Has this ever happened to anyone? This is not a startup, this is a huge financial institution and they did not have me setup with any kind of Github or Bitbucket account, gave me a laptop with no ability to download anything I need to do my job.

It's not especially unusual for companies who are setting up their first "real" in house development team not to have this sort of infrastructure in place beforehand.

The department I work for is not the first development department, there is an offshore team that are developers and they have everything they need.

Actually it sounds as though you really are the first development department - offshore teams may technically be part of the same organisation but the way they operate tends to be much more black-box, as far as the non-technical stakeholders are concerned money goes in, code comes out.

In the latest development, my colleague and I requested our own staging server. Get this, they provisioned a staging server for us that we, as of this writing, still cannot access, yet their other development team that is offshore, does have access to it.

Sounds like the already established team has already established lines and procedures in place to accommodate them. In other news, night: dark, snow: cold. It might be worth communicating with the offshore team yourself to find out what channels they use/used in the business to establish this sort of thing. If they've already done the legwork in establishing means to get what they need from the business why not piggy-back on that instead of re-inventing the wheel?

I find myself being put in the position of a Tech Lead, teaching my colleague how to work with git and ensuring he pushes his code on time, that he has the git workflow down because the people we work for have no idea what that is or why it is important.

I'm afraid I don't understand why this is a surprise to you - it sounds like they don't have anyone in a tech-lead type role and of course non-technical stakeholders aren't going to know, or frankly care what the git workflow is. If the tech lead duties weren't something you accounted for when the role was initiated (and they conceivably may have had no notion that they needed such a thing) then you need to talk to your manager about the fact that this aspect is going to take up some non-zero portion of your work time. If the offshore team has their own tech lead then point that example out e.g. "Offshore Team has Joe already doing these responsibilities for them"

Whenever we have questions about the specs, mockups or assets, no one seems to absolutely know, and we are consistently referred to the other development team that is offshore, whose main modus operandi is to ensure their work is getting done. Sure they have access to all the developer tools they need, whereas my colleague and I had to justify for over a month why we needed those same tools.

Again I'm somewhat bemused at your surprise - of course they are going to refer you to their only existing technical resource. If the off-shore team isn't providing you with the responses that you need (when it sounds as though it's something your bosses want them to do) then escalate that failure to your manager, because then they aren't "getting their work done".

I mean, am I going nuts here? You hired me as a developer, yes I need the same tools, resources and permissions that your other developers have.

You're not going nuts exactly, but you do appear to be demonstrating some considerable naivety in expecting people from a completely different area of expertise to automatically know what you do. They're on a learning curve here and it sounds as though you aren't making any allowance for that. Is it frustrating to have to explain/justify requests from nearly first principles? Heck yeah. Especially when you are used to taking these things for granted.

But here's the thing - whining about reality not being the way you want it to be isn't going to change anything, so if you intend to stay where you are you need to dust off that "business skills" hat and put it on for a bit. When you identify a gap in the infrastructure go beyond the immediate effect on your workflow and consider the implications on that for the business because it's those implication that are going be your most powerful arguments for getting what you need.

If you need to practice this, try explaining the need to someone outside of work that's similarly non-technical, partner, family member etc. If you can put it in terms they can understand then you know you're headed in the right direction.

Finally, it has to be acknowledged that establishing and building an in-house development team (or any other new business function) is definitely a chunk of work, and often a thankless one but you need to be aware that it isn't going to "just happen" so if you aren't up for taking that challenge on then there's nothing wrong with that, but you might have to start looking for a more established environment where you can just hit the ground running. I've done it before myself more than once - not going to lie it was a slog at times, and I'm not sure I'd be particularly enthused about doing it again any time soon. So don't be afraid to ask yourself if this is truly the job you want at this stage of your career/life.

4
  • Wow, if there was ever a time where I was glad I asked a question in workplace stackexchange it is now. Thanks guys, the first two answers are excellent and has shown me where I can grow and what skills I need to develop career-wise. Thank you, I am taking notes and will be executing all of these recommendations.
    – Daniel
    Aug 25, 2020 at 12:45
  • 1
    @Daniel Happy to help! I'd second that Malisbad's answer is excellent, particularly around the notion that you can turn this scenario into an opportunity to grow your career, whether into a promotion here or as the experience into a leg up into a more senior position elsewhere.
    – motosubatsu
    Aug 25, 2020 at 13:09
  • funny you should mention "experience into a leg up into a more senior position elsewhere", that's exactly what I was envisioning for a few days now.
    – Daniel
    Aug 25, 2020 at 13:34
  • @Daniel I couldn't tell you what is more likely (staying and promotion vs moving on and up), I've done both. I can say that being able to confidently answer questions about how I'd set up and run a development team/dept. because I'd already done that as "just" a developer probably significantly helped me get that first "head of" job
    – motosubatsu
    Aug 25, 2020 at 13:42
4

Had this times and times before.

Especially in Financial institutions, the compliance and risk department tend to forbid everything that could cause a potential risk, like access to internet etc. But Development does not work that way.

I would recommend you compile a list of the things and access you need, together with your colleague. List Prices and add an overall description why this all impedes your current development process and how the company is wasting money that way. Also mention that recurring investment in tools and equipment may be needed and include a rough budget for this.

Keep it simple, and focus on how that affects the quality and quantity of work you can do and the risks involved for the company (i.e. no source control ... we could loose progress or reintroduce bugs that have already been solved, No staging -> no quality control -> higher chance of a product defect getting shipped, etc.).

A good allegory I have used in the past, when talking to management is: We are tasked with digging a canal, but all we got is shovels.

4
  • Wasting money - you can flip it the other way and say you will be (for example) 25% more efficient with IntelliJ, butbucket, jira, etc. Have been in this situation before and when i argued on increased efficiency - boom, we got some IntelliJ licenses. Aug 25, 2020 at 14:32
  • 1
    @vikingsteve I would be wary of making specific performance promises because performance in software-development is already hard to measure and even harder to understand for "business"
    – Daniel
    Aug 25, 2020 at 14:34
  • Oh, dont worry. I measured the performance increase (or decrease, due to not having powerful IDE tools) and presented it in "man hours lost per week". My 25% increase was very specific and I backed it up with a spreadsheet of data. "Action A - time manual vs time in IntelliJ, times number of occurrences per week" etc etc. If you can show dollar signs to management they will often suddenly listen Aug 25, 2020 at 14:37
  • @vikingsteve In your case, great. In OP´s case and what I know about the banking industry. I´d probably focus most on the risk aspect. Wasting money is nothing too unusual in the Fiance sector. But every Manager fears risk, especially if he is made aware of it with a paper trail :D
    – Daniel
    Aug 25, 2020 at 14:42
4

As suggested by Malisbad you have an incredible opportunity to develop and use soft skills to benefit your employer (customer) and yourself.

Ask yourself

  1. Why was I hired for this job? What does my employer expect to achieve? List them down
  2. What tools do I need to achieve the above goals in item 1?
  3. What is the priority of the needs in item 2 and how do they relate to item 1.
  4. How can item 3 decomposed in terms of scope, cost, benefit, deadlines, risk, etc.
  5. How can the above facts be presented to the stakeholders in terms of value that is meaningful to achieve the companies business objectives

In short approach the current situation as a problem solving exercise.

Problem -> Root cause -> Solution.

Finally separate the emotions from facts.

1
  • I have yet to read an answer that is not a good one. Thank you for your time. I will be taking all these answers to heart and implementing them.
    – Daniel
    Aug 25, 2020 at 13:32
1

This is extremely common I've found that this is the case in companies that don't have technical management. By management I don't mean the team leaders or project managers or any middle management as they are not really managing the process. The real managers are the ones with control on spending. That means hiring new devs, buying stuff for those devs, provisioning services (like GitHub accounts and your servers) for devs ...etc.

If those managers don't really know why you need to spend money on a GitHub account or want a paid CI/CD system or need VM's to run stuff on then you are SOL.

I've even been given faulty (BSOD) laptops by companies in the past who thought I would just "fix that problem" as I'm a dev. In terms of dealing with this right now then you have no real options I'm afraid you will have to make a serious case as to why you need your staging servers now rather than in 6 weeks time which is hard when the person authorising this doesn't understand what a staging server is used for.

The cynical side of me says just like projects fail and that'll attract attention when it comes then you have plenty of reason i.e. the staging servers were extremely late. The problem with this is that you'll be blamed and asked to do unpaid overtime to get the project on time. What will happen is that the manager will get upset and take it out on you and there's not much you can do about that.

The honest answer is to look for another job but right now that's difficult so for the next year you'll have to slog this out and just somehow get stuff done as best you can. There will be stress and if it's possible when this happens take time off on work by getting a doctors note for stress that'll bring in HR and your manager will have to back-off.

I'm sorry for the poor answer but I've actually been in this exact situation and nothing helped until I left the company.

1
  • @Dave30f5, thank you for this reality check. The first two answers were awesome and showed me a reality full of potential, but the other side of that coin is that indeed it is possible that nothing will ever change, I will not end up becoming a supervisor there someday and probably best to just leave. I actually looked at that first, but I will try to see if perhaps this is room for growth. Time will tell.
    – Daniel
    Aug 25, 2020 at 13:31

Not the answer you're looking for? Browse other questions tagged .