3

I work as a junior engineer at a small company of a few hundred people. I am the first hire in what the company says will be the new big data department. This means that there are no processes in place for how work gets done, no QA, no tooling, or a local / remote development environment.

Many a times this proves to be a hindrance in my work and I have to constantly point out that I am short of resources, the tasks are beyond what can be achieved in a short amount of time, that we lack a big data tech stack, or that ramping up on big data technologies isn't the same as other areas of software development and needs more time and effort, or that we need a senior engineer / architect's presence to help us chart the course.

An example of a task would be to process large amount of data in a 2-week sprint while we do not have the tooling to do exploratory development.

This has given me a reputation of being skeptical about my tasks even though I try to achieve everything that's possible in the meager resources at my disposal. My hunch is that either the engineering manager and / or the product manager do not understand the complexities of the tasks at hand, that they do not care, or that they're worried more about reputation than about getting actual work done.

What is a polite way to state that we need to plan our work strategy to be more or less functional without sounding like a skeptic?

7
  • 1
    How do other developers manage the expectation of management?
    – Helena
    Nov 7, 2020 at 15:59
  • @Helena They aren't a new department and have their workflow streamlined for them. The onus of managing the expectations of higher ups is placed on their respective managers.
    – An SO User
    Nov 7, 2020 at 16:31
  • 1
    Does this answer your question? Best way to communicate that there is too much work to do?
    – gnat
    Nov 7, 2020 at 17:03
  • @gnat Partly, yes. I am referring to a department being dysfunctional(?) instead of being bogged down with too much work. :)
    – An SO User
    Nov 8, 2020 at 12:35
  • 2
    You write a whole paragraph about non-specific things you absolutely need to have in order to do your work. What are those things, and why do you need them? Explain it to us, as you would to that person who would have to pay for them. Nov 9, 2020 at 16:21

2 Answers 2

8

Seize the opportunity to build it yourself

Depending on your actual company/situation, this might not work. It might not even work in most situations. But it did in mine, with spectacular results for my career, so consider it as an option.


Situation:

You've been handed a brand new department with no systems, processes, documentation, existing employees or any other kind of infrastructure. You need to get it up and operating immediately because there is ongoing work that can't be delayed.

And therein lies the opportunity.

This department needs to be built. In most companies that would be done by senior, experienced people who've done similar work beforehand. Instead, they've got you.

If you want to become that senior engineer yourself one day, this is your chance to gain invaluable experience and achieve results that will fast-forward your career five years.

In my case, the previous employee left. I was handed a spreadsheet, an inbox, some largely useless documentation, and asked to take over the whole thing. So I did.


Don't have a process? Invent one.

No QA? Create your own QA checklist. No idea how to do that? Do some googling. Copy somebody else's and get going. Update it as you go.

No tooling? Build your own. Need to pay for a 3rd party tool? Find a free version that does 90% of what you need and work with that. Or make a case for it to your boss. If they push back compare to other departments in your company and what they typically have to spend on tooling to justify why it's standard and necessary.

If it's cheap, consider just paying for it yourself. Yes, it's a bad precedent to set. Yes, it's not something you should ever have to resort to in a functional company. But if £50 a month is what's standing between you and career advancement then just pay the £50, produce awesome results, and work on persuading your company to pay for it later.

Set up your own development environment. Either your company has a standard system they use for it, in which case ask the relevant people/department to set it up/get you a license. Or it doesn't, in which pick a cheap and/or free version off the internet that looks like it might work and go with that.

Need a senior engineer's / architect's insight? Go find some on the internet and buy their books / read their blogs / ask them questions on stack exchange / invite them to chat.

Try things out. Iterate as you go. Do whatever you have to do to get results. Don't worry about building for the long term yet. Your job is to build something that works first. Quick, dirty, hacked together, whatever. Once you've got something that works, then work on incrementally improving it.

You have no idea what you're doing so don't spend time on anything that not's going to produce immediate, useful benefits. If that refactoring you want to do won't pay for itself until 3 months down the line then forget it. Your understanding of the requirements, the options, and what you don't know you don't know will have changed so much by then that you'll want to rip it all out and start over. Which you will have to do at least a couple of times.

This is your opportunity to learn and advance without restriction, limited only by how hard you work and how fast you can teach yourself what you need to know to produce useful results. With nobody there to guide you, yes. But also nobody there to stop you.


In my case I worked myself almost to the point of burnout, which I do not recommend, but I also built that entire department starting form scratch with zero relevant experience in the space of a single year. At which point we hired an analyst to take over all the work that was taking up my time, because it was needed to do the same work on other, more important parts of the company.

Even if it isn't appreciated by your boss/other people where you work, it will be attractive experience for anyone else who might want to hire you. And that attitude of doing what needs to be done and advancing as far and as fast as you're capable of will take you wherever you want to go in your career.

5
  • I'm in favor of showing the initiative, but tread carefully. I've done it before, and it earned me 2x more work to maintain what I implemented and twice the work. In fact, they thought I really showed great initiative, so they laid off my boss, gave me her responsibilities too, and no change in title, no change in pay other than the standard 3% COLA. I was working 60-70 hours most weeks, working on special projects for the CEO, and after more responsibilities were added, I had a nervous breakdown. So, my experience may be unique, but keep this in mind so the same doesn't happen to you.
    – sm_01
    Nov 17, 2020 at 23:59
  • Short of being able to map out a flow chart on processes, it's probably not feasible to pay out of pocket for a sandbox/test environment/QA/DevOps automation, etc. Usually costs 10's of thousands of $$. And, the CIO/CTO/IT Steering Committee probably won't be pleased if a Jr Engineer engages in implementation hisself due to data security, entering into a contract, etc. Lastly, your boss probably won't be happy if you proceed without buy-in from him and could see it as going above his head. Read: forbes.com/sites/85broads/2014/03/21/…
    – sm_01
    Nov 18, 2020 at 0:26
  • @sm_01 Like I said, it might not be applicable. Just a possibility to keep in mind.
    – Kaz
    Nov 18, 2020 at 7:21
  • you made some good points, I was just sharing some potential ramifications so Jr Engineer can factor that into his/her decision how to proceed. Cheers!
    – sm_01
    Nov 18, 2020 at 18:21
  • @sm_01 Cheers to you too!
    – Kaz
    Nov 18, 2020 at 19:01
5

I've been in similar situations before, and it's not an easy one. Work becomes exponentially more cumbersome and inefficient without processes and proper tools to do the job right. On the few occasions where I've assumed a role in a new department, or where I filled a newly created role, there were always deficits in processes, tools, systems, and financial or human resources.

Given that you work for a small company, it's not surprising that they are lacking in several of these areas. Afterall, they likely have less capital, cash flow, and debt instruments than larger business do, and that limits their ability to reinvestment in all facets of the business. That being said, its possible your wish list will fall on deaf ears if there simply isn't money in the budget, but if you can effectively demonstrate which cost saving measures or efficiencies may be gained by implementing the various solutions, then your boss may be able to convey those points to the person(s) in charge of the finances (CEO, CFO, Controller, etc). Note: those who are in control of the budget will almost always look to offset implementation costs with cost savings in other areas, so convey where you think those efficiencies might come from, and possibly they will reallocate money in the budget for the upcoming fiscal year to cover the cost of implementation.

It would be beneficial to you to learn how to effectively "manage up". Managing up is when a subordinate manages his or her boss using various tactics and strategies. Some good literature on the topic can be found at Harvard Business Review and the Association for Talent Development. One of the key principle in managing up is to seek to develop a symbiotic relationship with your boss by helping him or her achieve departmental objectives in a positive and productive manner.

I would recommend a brief meeting between you and your boss. If you have regularly-scheduled one-on-one meetings with him/her, consider using that time slot as an opportunity to communicate your business case for the processes and systems you believe are necessary for optimal performance in the job. If you don't have regular meetings, request a brief 30-minute meeting to review your areas of concern. The tone of the meeting should be positive, and should be conducted in a manner that your boss where you are offering to help him or her in resolving the issues. I also recommend providing your boss with a succinct, concise PowerPoint presentation in bullet format addressing the key issues you've identified. As one of my SVP-level mentors had advised when I was more junior in my career, "If you raise a concern to me or any of your other bosses in the future, always be prepared to present options to resolve the issue, the pros and cons of each of those options, as well as your recommendation". That feedback has served me well since. If you can learn how to successfully manage up, you will be more likely to realize a successful outcome to your objective, so I recommend reading the articles cited above.

Keep in mind that managing up can go disastrously wrong if approached the wrong way, so keep the tone of the discussion positive and try to refrain from saying something like "I can't do my job without XYZ", or they may consider looking for someone who can.

Best of luck. I wish you well in your endeavors.

You must log in to answer this question.

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