Skip to content

Latest commit

 

History

History
283 lines (220 loc) · 7.72 KB

r_bad_onboarding.adoc

File metadata and controls

283 lines (220 loc) · 7.72 KB

An onboarding story

Joining an hypothetical organisation as a consultant

Welcome!

  • Meet with colleagues

  • Fetch laptop

  • You have E-mail 📧

🎉

First day of a new adventure. After meeting my new colleagues, I am given a laptop on which a post-it with my credentials are written.

I open my session and check out my email. I read my welcome email.

You shall not pass!

  • No Git credentials…​ yet

  • "It will take some time"

  • Go explore "The Wiki"

  • A shared folder with MS Office files

Of course, I don’t have all my access credentials for the Git repository. I am told that "it will take some time", in the meantime go look at "The Wiki" to learn about the stuff we make here.

In "The Wiki" I find a link to a shared folder where the specs should be located.

A ticket for space

  • A ticket for MS Office Licence

  • Browsing "The Wiki"

  • A typo

I make a ticket to request a MS Office licence so I can open the Word document.

While waiting the approval for my ticket, I continue to browse "The Wiki" for more information. I find a typo in one of the wiki pages. Since I have nothing yet to do, I decide to propose a correction.

Trying to help

  • Cannot edit page

  • "Just add a comment to it, we’ll fix it later"

    • Spoiler: it wasn’t

But I have no rights to modify the page. I ask why. You don’t have the right credentials yet. But you can add a comment, and we will fix it when we have time (it was never fixed).

Can’t touch this

  • No license available

  • Human PDF converter 👩🏻‍💻🖨

  • Wrong version

  • "Nobody really reads it anyway"

I have an answer for my request to install the MS Office suite. We don’t have enough licences yet (we cannot give away licences like this). Do you really need it? I give up and ask a kind colleague to open the file for me and save it as a Pdf.

When I open it I see that it is not the right version. I ask my colleague again to convert it as PDF. She tells me that she won’t do it again and by the way, it is not very up to date. It is a pain to update those documents and nobody really reads it anyway.

What’s inside?

  • Windows XP IE9 screenshots…​ 🦖

    • .. in 2020

  • Maybe a little outdated

I check the PDF, and find some useful stuff but screenshots are taken on Windows XP, and Internet Explorer 9. I guess it’s a little outdated…​

Git me that source code!

  • Finally Git credentials!

  • Tech stack evolved a lot since spec

    • Versions bumped

    • Even framework is not the same

Finally I can checkout the code form a git repository.

The technical stack that was presented in the word/pdf spec has almost completely changed. versions were bumped, libs were replaced.. * Stable medium not stable knowledge

Folder Structure

Screenshot 20220517 105047
Screenshot 20220517 105103
Screenshot 20220517 105118

I look at the folder structure to know a bit better what’s it is about.

Visiting Printers Factories

  • It’s about..

    • Vistors

    • Printers

    • Factories

    • Strategies?…​

Okay…​ This application must be about visiting printers factories. They must be really professional because they have a specific module in the code to modelize their visitation strategy…​ I guess. > My assumption: module names reflects business

Colleague Driven Development

  • Aren’t we in banking business?

  • Design Patterns?

I ask a collegue why we have such an application in an insurance company. Do insurance companies really have factories? My colleague look at me with big eyes…​ Don’t you know design patterns?

I answer yea, of course there is this Singleton thing. Why? > Implicit knowledge: can be understood only if you know it first.

Welcome to the cult!

  • Naming Convention

  • "Technical separation: Tidy!"

  • A reason?

  • "We do it everywhere"

I ask: why is it the first thing I see? Colleague: We are using a technical separation of code. Me: why is that? Colleague: I don’t know, that is what we do. > Convention > No rationale behind it

Colleague: We do it everywhere, that way we don’t have surprises. > Idiomatic

Are we in business?

  • Where is the business

  • "Inside the subfolders scattered around"

Me: where is the business code? Colleague: In each technical module you may have some bits of business here and there. > Knowledge is scattered around the place

Testabili.. what?

  • Must be hard to test?

  • "Well, we tried, but they were always broken"

  • We do End 2 End but they are flaky

    • We hired someone full-time to maintain them

Me: it must be hard to test? Colleague: yea, we tried to do tests but each time we changed something the tests were broken. So we used mocks everywhere, but it was worse, we now maintained the mocks and bugs were found in production anyway. So now we do mostly end 2 end tests. They are flaky sometimes so we added sleeps to make sure the app had time to respond. Also we must run them in the same order and only one test suite at the time. We have a person full time for that. > Human dedication (anti-pattern)

The rewards of hard work

  • "Worth the effort, it tests some behavior"

  • Business complaints about human readability

    • Click

    • Forms

    • Fields

They are worth the effort though, because they actually do test the businesses cases. When we send the test reports to the business they complain because it’s all about clicks, fields and forms. They wish it was more human readable.

Colleague: also if you want to know the use cases, you can check user stories in Jira Me: opens an old Jira User story. It does not to exactly the thing the app does today. Colleague: yea, this one has been changed by a new user story. You are lucky you asked le since I was the obe that implemented it.

And featuring…​

  • What are the features?

  • "I do caching related stuff, and some DB related stuff"

  • But Business features

  • "We have user stories in Jira tickets, it’s all there"

…​

Me: not everyone knows what the app does? Colleague: no, each of us has a perimeter in the application. The Dba, the frontend people, the backend people. On this one, there is some caching features, so it was assigned to me.

For the features, just look at jira user stories, it’s all here.

Astonishment report

Newcomers are great to see what’s missing

What do you think?

Save Load

Word Cloud