9

I'm in my first job as a software engineering grad in Canada. I took a job with a government agency this September after an offer fell through late (April) and I took the first job I could (as you will see, I am a person who needs proof that I am capable and that offer was a beacon in a mess). It has good pay (especially for my area which is not a software hub), but I can't wait to get out of there every day.

The problems:

  1. They are extremely cheap when it comes to software spending for the developers. Bug tracking system? Too expensive. So we just don't track bugs in a centralized way. Independent QA systems? No, the three QAs must either use one test server or learn to compile software themselves. We were told to just keep renewing our IDE trials every 30 days, so they don't pay for those either. We have very minimal access to cloud services because of the cost. We have to go easy on Jenkins to conserve hard drive space.

  2. The team is inexperienced as everyone gets hired on a temp to hire contract. The median time for a developer there is currently 6 months. The only person to be there more than a year is our lead. As a result, nobody knows anything about the systems.

  3. They oppose documentation because of "Agile." Forget documenting code, they don't even document features. I have been repeatedly assigned to develop features which already exist.

  4. Things just move so slowly. Each developer is supposed to do 21 points of work a sprint and a spring is two weeks. I have consistently finished in under 6 days, including unit and Selenium tests (myself and the new QA are the only ones to do this type of testing). They don't finish and accuse me of "pushing the pace."

My background. I have never had a proper software job before, so I don't know if it the environment or the job I hate. Past jobs were in quant finance, where the work was highly individual as well as at a startup, where I was one of two developers. This is the first job where I don't make my own calls as to the pace of work or how complex things are or don't get much insight into the project and just get handed widgets to do.

What are my options after 6 months? A friend offered me a spot with her startup (I have done all their prior dev work), but with a recession plausible in the near future in Canada, I'm worried that 6 months as a government worker and time as the main dev at a startup will look absurd on a resume.

I realize this isn't a discussion forum, so I have two clear questions.

  1. Is this normal for software development? Is it representative of your experiences?

  2. If it is not, then what can I do for my market value in the next few months (I'll stick around until at least March to avoid seeming like a job hopper).to exit effectively? I have a good engineering degree from a top Canadian university, good grades, a pile of hackathon awards (and can get more if they are useful), have a decent project to show off (my friend's tech startup website), etc. I have an ok StackOverflow profile too if that is worth anything (2000-3000 points and 150ish answers).

It's just how to deal with landing badly after university which scares me.

  • What kind of stack are you using in your current job? Not just the software, but databases and servers too. – Matthew Gaiser Dec 10 '19 at 4:49
  • @MatthewGaiser React, Spring, MySQL, Apache server, git, etc. – ihatemyfirstjob Dec 10 '19 at 4:51
  • @ChrisStratton I tried documenting stuff on the project wiki. They were not pleased with that attempt. Might be able to do more on the tooling. – ihatemyfirstjob Dec 10 '19 at 4:55
  • This represents lots of questions in one - I would split the post. Either way, get out now. This is too many red flags. Their cheapness is actually costing them money - throwing expensive human effort at what should be automated. – gburton Dec 10 '19 at 12:44
  • I think you are not obliged to engage in any illegal activity. Renewing trial periods of the IDE and using it for production purposes sounds illegal to me. May be a good follow-up question? – Daniel Dec 10 '19 at 16:34
21

Tld;dr - no, it's not normal - why are you still there, especially if you live up to the summary you gave of yourself?


Bug tracking system? Too expensive. So we just don't track bugs in a centralized way.

https://en.wikipedia.org/wiki/Comparison_of_issue-tracking_systems - just look at the free ones.

5 Best Free and Open Source Bug Tracking Software for Cutting IT Costs et al - just DuckDuckGo

Even if you paid, it would be "expensive" in dollars, but "cheap" in time, and even a mediocre issue tracker will save more in dollar value than it costs.

This is a major red flag of unprofessionalism.

You forgot to say that you don't have a version control system either, but maybe you didn't learn of those at Uni, and if your company doesn't use one, you can't be expected to know of them. Suffice it to say, lack of one in another major red flag of unprofessionalism.

Independent QA systems? No, the three QAs must either use one test server or learn to compile software themselves.

Why isn't Jenkins building the software for them?

Lack of standardized build system is yet another red flag (and I personally consider it to be major, since you have testers testing ... well, who knows what, really? And, if you don't know what version & configuration of the software they are testing, then how can you fix bugs?).

We were told to just keep renewing our IDE trials every 30 days, so they don't pay for those either.

This is probably illegal. Red flaggy enough for you?

Seriously, I have worked in small companies in Asia who took this penny-pinching, "here's a floppy, gimme a copy" approach - things did not end well.

We have very minimal access to cloud services because of the cost.

Cost of the likes of AWS, or just internet access? Either way, this particular red flag has the motto "penny wise, pound foolish" stitched across it.

We have to go easy on Jenkins to conserve hard drive space. At this point, I hardly know whether to ROTL, drop my jaw in astonishment, or wonder if you are trolling us

A quick look at Amazon Canada found an 8tB hard drive for CAD 179.

You can fit many, many, many, Jenkins builds on 8tB.

Same red flag as the cloud services.

The team is inexperienced as everyone gets hired on a temp to hire contract. The median time for a developer there is currently 6 months.

Are people leaving, or being let go? I might guess that they are let go, because the company can pay a probationer less than someone with their probation behind them. Either way, once the mass exodus starts, it is extremely difficult to stop, as new hires find that the only knowledge of the system is in the head of one or two key figures, and get out of dodge. I will not be renewing my current contract precisely because of this. I once had the great pleasure of spending years telling higher management about the bus factor and having them ignore me, only for the lead engineer to leave.

The only person to be there more than a year is our lead. As a result, nobody knows anything about the systems.

They oppose documentation because of "Agile."

I have heard that BS before - "Agile says that we don't need any documentation". To quote from the Agile Manifesto:

Through this work we have come to value:
Working software over comprehensive documentation

Personally, I am an old school, waterfall guy, who always worked mega projects and don't see how you will get - or maintain - that working software without comprehensive documentation, but, let's not quibble about that ; the red flag here is that they claim to be Agile and either have not read the basics, or choose to ignore them.

Forget documenting code, they don't even document features. I have been repeatedly assigned to develop features which already exist.

Jaw drops!

Things just move so slowly. Each developer is supposed to do 21 points of work a sprint and a spring is two weeks. I have consistently finished in under 6 days,

Then perhaps you are awarding too few points, or expecting too little per sprint. How do the other guys feel? While not major, this could well be a red flag.

BTW, if you have free time at the end of the sprint, don't just spin your wheels - set up a build script for QA, comment code, add unit tests, set up a free issue tracker & convince management of its value.

including unit and Selenium tests (myself and the new QA are the only ones to do this type of testing).

Why only you?

They don't finish and accuse me of "pushing the pace."

Ah, so, it's just you - sounds like you are the next senior lead ;-) Either take on more points, or put your free time to good use for the project. If what you do benefits your colleagues, they are less likely to accuse you of "pushing the pace", as their pace will increase (why not teach them to use Selenium?).

1 Is this normal for software development? Is it representative of your experiences?

This is absolutely not normal - and certainly not acceptable. Some jobs have some of those flags, but that many??!! You have enough red flags there to start a communist revolution!

2 If it is not, then what can I do for my market value in the next few months (I'll stick around until at least March to avoid seeming like a job hopper).

Personally, I would not. If someone will accept you now, then one short stint, especially your first job, is not going to look too bad. However, it is IMPORTANT to remember that interviews are a two way street, so at any future interview, ask then about Version Control, Issue tracking, documentation, documentation reviews, code reviews, unit test and any other Process which you consider to be important. Expect them to guild the lily & hope that they don't flat out lie (check out GlassDoor, consider going to a company where you already know someone on the inside).

I have a good engineering degree from a top Canadian university, good grades, a pile of hackathon awards (and can get more if they are useful), have a decent project to show off (my friend's tech startup website), etc. I have an ok StackOverflow profile too if that is worth anything (2000-3000 points and 150ish answers).

Then you should have no trouble finding your next position. Get out, while the getting is good!!

You have my sympathies.

  • 1
    "why are you still there, especially if you live up to the summary you gave of yourself?" Worried about seeming flaky and not up for it on my resume. "You forgot to say that you don't have a version control system either" Haha, we at least use git! – ihatemyfirstjob Dec 10 '19 at 13:20
  • 1
    "as new hires find that the only knowledge of the system is in the head of one or two key figures" OMG yes! That's a problem for us too. – ihatemyfirstjob Dec 10 '19 at 13:22
  • 1
    "that working software without comprehensive documentation" You can just "read the code" – ihatemyfirstjob Dec 10 '19 at 13:23
  • 1
    "Why only you?" Every sprint they commit to it, but then don't bother to do it. – ihatemyfirstjob Dec 10 '19 at 13:24
  • 2
    You have enough red flags there to start a communist revolution - Gotta love that one :) – rkeet Dec 10 '19 at 15:21
3

Is this normal for software development? Is it representative of your experiences?

No, in my 10+ years in this industry I haven't seen such combination. You might occasionally see one of such points (huge red flag) here and there but never a full package.

If it is not, then what can I do for my market value in the next few months

From you comment it looks like you are dealing with decent technologies. Try to master it as much as you can. In addition to that try to create a good reputation for yourself in the company you work: try to always get things done in a good way. Find user groups/meetups/conferences in your area and make a connections. Try to find people you can learn from or the ones that have common interests and connect with them.

2

Don't worry about how it looks on your CV. Moving into a better job with no gap isn't a red flag to a good company. Similarly if the start-up runs out of cash in 6 months, it's easy to explain. What worries recruiters is leaving multiple jobs for no clear reason.

A friend offered me a spot with her startup

That sounds like a great opportunity, but find out how long they can survive before they start making money. Also make sure you've got enough saved up to cope with at least 3 months without pay.

When a start up fails, you'll probably just get to the end of the month and then find out that some investment they were hoping for didn't happen, and they can't pay you. You may even have a couple of months where they ask you to take reduced pay to keep the company afloat. Even a fast job hunt may take a month if they book your first interview in a week, then wait 2 weeks for the second and a start date the week after. Then you might have to wait until the end of the month to get paid.

They should compensate you for taking this risk, so ask for an above average rate or a small stake in the company.

2

Fellow Canadian (and developer) here, and furthermore, formerly employed in the public sector. Good job being aware of the coming economic downturn, and worried about how your resume is going to look in a worst case scenario.

A government office is a great place to weather the economic storm that is likely going to hit, so there's a damned good case to be made for sticking with your current employer. However, there's a few things that you simply have to understand, and accept regarding the government as an employer, and the kinds of people those jobs typically attract:

You have work ethic, and appear to be a go-getter, which is exceedingly rare for government employment. People like you typically either leave due to extreme frustration with their environment, or are driven out because they disrupt the status quo.

That environment is geared towards people who get 4 hours worth of work, and finish it in a week. Maybe. They'll get requests for features that already exist, and say they're going to need a month to implement them, while actually reading novels, or going for 3 hour lunches.

Now, this is not all bad, however. A lot of people are unaware of how things actually work in government agencies (so it won't look bad on your resume, on the contrary), and you may get to play with systems that are very expensive, or important. It can sound prestigious on a CV.

The downside, is that you feel like you're the only sane person, or at the very least the only one who gets any work done. There's a few ways to deal with this.

  1. Become aware of all the different things that you're learning in the office.

Make it a weekly or biweekly ritual to actually sit down and think about the different experiences you've had. Write them down, or at least mentally acknowledge them. In particular, you'll learn how to navigate political situations, and become much more aware of the way in which personal relationships, and not competence, influence decision making.

  1. Develop your politicking muscles.

If you're past probation, the chances of being fired are essentially zero. Heck, even the chance of not passing probation is exceedingly low (as are their standards). Probably the most valuable experience you're going to get there is relating to office politics.

Read books on office politics, making friends and influencing people etc. and practice those skills. Learn to get along with your team, manager, stakeholders, etc. Learn to identify who you need on your side, and who's toes you can afford to step on.

If you can make it work there, you'll be a champ anywhere else.

  1. Use your time wisely.

You finished 2 week's worth of work in 6 days? Great. No need to trumpet that, and make everyone else bitter. Instead, start going through Udemy courses, and pick up new technologies. Or maybe work on a side project.

This way, when you'll be ready to leave, you're going to have a lot more experience, knowledge, and skills under your belt than anyone else in the department, and your resume is going to shine.

If you can learn to ignore the major issues, and let that stress and incompetence wash over you, you can milk this opportunity for all its worth. In a year's time, if the economy is still standing, there's no threats on the horizon, and you have opportunities, leave.

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.