Вы находитесь на странице: 1из 17

The code so dangerous they

don't want you to see it

My time at coding bootcamp

A tale of betrayal, passion, intrigue, confrontation, and JavaScript


callbacks


1
Preface

I was hired to be a bootcamp instructor after a 10 minute phone screen, and a


20 minute Skype call on the Monday before I was expected to start teaching. I
wasn't even asked to meet face to face, or step into the school building at all.
Looking back this appears to be a huge red flag, but the reasons I was given
made sense:

• The last instructor slated to teach the class had dropped out last minute.

• The class was already beginning on the day I had my interview, there was a
substitute instructor available for the first week, but no one capable of
teaching the remaining 13 weeks of class.

My help was needed right away.

The Skype call was at 1PM and I had a verbal offer by 4PM that same day. A
background check, signing offer letters, employee handbooks and the like were
all in order by Thursday night, and I was asked if I wanted to have one more
hour long Skype call to discuss my job responsibilities on Friday, or if I wanted
to stop by the building for an in person conversation. I decided it was a good
idea to stop by. I wanted to be on site at least once before I began, to learn the
important things, like where the coffee and bathroom were, and oh yea how I
was expected to jump in and teach a class that was already in motion, with just
four days to prepare.

My conversation on Friday was a blur of talking points, including most important


in my mind, a quick overview of the curriculum. All of the non-technical lectures
and projects were fully detailed and outlined (probably 2/3 of the class overall).
The technical lectures were not complete, consisting of just simple outlines for
the day. For example, Thursday: functions, callbacks, blocks, scope, closures,
and another 172key point or two about each of these individual high level
concepts that were to be covered. Attendance and projects were discussed,
introductions to other staff members were made, a laptop was prepared for me,
and whatever other odd administrative task that could be preformed was
preformed. After about an hour I learned the bare minimum possible about how I
was to start teaching on Monday. No expectations were set beyond show up on
time and grade the projects. On the plus side, I did find out where the coffee
was. Finding the bathroom would have to wait until Monday.


2
Day 1

Github

I arrived to work at around 9:20AM on Monday, just over 30 minutes before


class was scheduled to start. I introduced myself to the students as they filtered
in, and found the only member of staff I remember talking to that day, Krystal.
Krystal was a success coach who was to be helping me out with the non-
technical problems of the class, something like a guidance counselor. She asked
if I wanted to be introduced to the class and I agreed. At 10AM Krystal walked in
and said “we have a new instructor” -pause and turn to me- “would you like to
introduce yourself?”. As I began saying my name she mouthed something like
“Ill leave the rest to you” and slowly backed out of the room. Thats the only staff
interaction that stands out in my mind from my first day. I probably said hi to at
least two or three other co-workers as well though, and maybe even a head nod
was exchanged as some point. It would have to be a warm enough welcome for
now, because it was just me and my students in the room, and they looked liked
they wanted to begin.

To start the class we did stand ups to break the ice. I asked the students to say
their name, how they were feeling, and what they learned. A few expectations
were discussed, and with the formalities out of the way we got into the lecture
on Github. The students had covered Git the Friday before, so this wasn't alien
to them, but in my experience Github is always a confusing topic for new
developers, and this was no exception. I had lecture slides, preformed live
exercises, and let students create their own accounts. The curriculum said to
cover everything from pushes and pulls, to branching, merging, pull requests,
and merge conflicts, so I covered everything from pushes and pulls, to
branching, merging, pull requests, and merge conflicts. When it came time for
the students to make their first pushes, there were bugs and merge conflicts as
expected, but I made my way around the room and was able to make sure
everyone was able to push to Github. Things were hectic, and students were
struggling with the new material, but not in a way unexpected for a bootcamp,
and the day was overall largely uneventful.

All things considered I thought I was off to a pretty good start.


3
Day 2

Intro to programming: JavaScript

The morning exercise I chose was to look at the MDN JavaScript documents for
15 minutes. Here is a good point to stop and clarify a few things. Everyday of
the entire syllabus did not have a technical lecture planned, my overall estimate
would be half of the days did, but this week it was 5/5. In addition to my
technical lectures I was supposed to prepare a 15 minute morning exercise each
day. By this point my weekend prep material was already used up and I was
staying up late to make sure I could properly cover everything in class. As I said
before, the curriculum was pretty solid, and moved fast, and I intended to keep
up. Additionally there were a few exercises and “workshops” or groups of
problems provided for me based on each days topics. With everything moving
so fast I chose to trust the material, and handed out these assignments as is,
trusting that the instructions were clear, and the exercises appropriately timed
and relevant to the material. Overall these things were ok, and not totally off
base, but clear and 100% on topic they were not.

Morning exercise over it was time to introduce JavaScript!. The basics like
primitives, arrays, objects, operators, conditionals, and loops were what we
were going over just before the first incident happened.

We can forever refer to the coming event as the “Two equals vs three equals
incident” (or from here on forward simply the TEVTEI for short). Lecture was
going along smoothly before my strict equality (===) vs not-strict equality (==)
example was on the projector, along with a number of other simple examples.
“What exactly is the difference between these two?” was asked. Words like
strict vs non-strict and type conversion came out of my mouth. Blank faces
started back at me.

Class: “Can you show other examples other than the one on the board:

Projector: let year = 2020;

year == “2020” //true

year === “2020” //false

Me: “Humm not really, this is the best example I can think of, it doesn’t come up
too much, and most developers consider it bad practice to use == anyway. Stick
to === and you’ll be fine.”

Class: “But Ive seen == used before. What other ways can we use ==“

4
Me: “== preforms type conversion which can lead to unexpected
consequences. JavaScript can be quirky and I really don't want to say anything
that Im not sure is 100% true. Take a look at this:”

Projector: Plays ‘JavaScript WAT’ video

Me: “See JavaScript behavior can be unpredictable in spots, and no one really
knows all of the nuances off the top of their head. Stick to === and you’ll be
fine”

My Brain: “Wow what an amazing job you’re doing Neil. Showing some
vulnerability, and that you don't know everything is a surefire way to gain the
class’s trust. You even had the perfect video ready to pull up to prove your point
in a way that couldn't even possibly be misinterpreted. You’re doing amazing.
Keep it up!

Class: YOU EXPECT US TO LEARN JAVASCRIPT FROM THIS TEVTEI BEING


UNPREPARED FOR NEANDERTHAL!!! HOW THE HELL AM I EVER GOING TO
GET A JOB IF I DON’T KNOW THE DIFFERENCE BETWEEN TWO AND THREE
EQUALS IN EVERY POSSIBLE SCENARIO KNOWN TO MANKIND.

Ok ok you get the idea. That last one was partially exaggerated. They didn't
really call me a neanderthal. But the rest is true and was said word for word from
at least a handful of students in an approximately 15 person class (a few were
prepared to use === and move on with their lives, and a few were still too far
behind to keep up with the conversation). Of course these words weren't
actually said out load, they were being screamed out of their eyes.

Rattled I fumbled a bit around NULL as well (again focusing on the important
parts of the language) but finished off the rest of the material well enough. So
where are we at? Day two. Lunch time. Nothing yet prepared for tomorrow due
to the laws of space and time. Teaching is hard.

There were a few problems on the slides, and a tech workshop left. Lunch was
1-2 leaving us 4 hours until 6PM. I sure hoped these problems would take the
next four hours for the class to solve and review, because thats what the
syllabus said would happen next, and I was happy to oblige.

These were tough problems for the class, and solving them, debugging 1-1, and
finally going over as a class took about 3.5 hours. Not bad, day two almost in
the books and only one incident to speak of. The sample problems students
struggled most with involved nested loops, and we had 30 minutes left to

5
discuss something else. They asked for another problem using two loops and
my large genius brain immediately thought of two sum.

Me: This is a problem that is much more difficult than you should be able to
solve right now, but its the first think that comes to my mind when I think of
nested loops. Does anyone see how nested loops can be used to solve this?

Class: Insert precocious student with correct answer here.

Me: Ok cool. Why don't you guys give it a shot for about 5-10 minutes. Don't
worry if you cant get it, I don't expect that you can right away, just give it a shot,
and well talk about it quickly for the last few minutes of class.

My hands: Type out two sum in 37.5 seconds.

My brain: I need to pee.

Me: Keep working Ill be right back guys.

10 minutes later

Class: OMG this is so hard, why cant I understand everything about problem
solving and JavaScript in one day.

Me: Don't worry if you cant get it, I don't expect that you can right away, just
give it a shot, and well talk about it quickly for the last few minutes of class.

Class: But if you explain it REALLY well the first time we can all understand it
right away (someone really said this).

Me: I disagree with the core premise of your argument (I did not really say this.
Again screaming from the eyes though).

Class: Ok but show us how it works one more time.

My hands: Drawing loops, writing out i’s and j’s. Loop, loop, loop.

Class: Can you believe it, two explanations and we still don't get it.

Me: Don't worry if you cant get it, I don't expect that you can right away, just
give it a shot, and well talk about it quickly for the last few minutes of class.

Class: Go over it again code monkey!!!

6
Me: Don't worry if you cant get it, I don't expect that you can right away, just
give it a shot, and well talk about it quickly for the last few minutes of class.

My brain: Nice big genius idea there genius. That didn't clear things up for them
at all. Wait if Im Neil, who am I sarcastically calling a genius?

My brain reassuring myself about struggling to stay on the same page as the
students: Don't worry if you cant get it, I don't expect that you can right away,
just give it a shot, and well talk about it quickly for the last few minutes of class.

Me: Ok lets do a quick standup to talk about how we’re doing. Don't worry
about the problem, don't mention it again, I probably shouldn't have showed it
to you at all. Ill come around to talk to everybody for feedback and we can call it
a day.

Class in standup groups: Two sum, two sum, two sum, two sum. Two sum.

My brain: Godammit.

Day 2 over. Casualties 0. Time to get started on tomorrows lecture.


7
Day 3

Functions

Another clarification before we jump into day 3. Ive been lying to you this whole
time. The 20 minute Skype call/interview included a teaching demonstration,
which I was able to pick through to find some material for days 2 and 3. Also
another instructor who was teaching the same course, running a few weeks
ahead of mine, gave me access to his Github repo with some materials. I was
really only coming up with like 50-60% of these lectures every night. 75% tops.

The head of the curriculum/my supervisor/ (spoiler I only worked there for 3.5
days so I don't know what exactly her job title is), slacked me before class to
see if I minded if she sat in on my lecture. No problem, I had a real morning
exercise planned (I admit it, yesterdays read MDN documents for 15 minutes
was a cop out. What are ya gonna do, fire me about it?), which basically played
out like two sum did the day before (Hey guys lets start this morning exercise
now, continue this afternoon, and finish tomorrow. - Go over it now code
monkey! - OK - We don't get it - Godammit) and lots of good stuff on functions.
Lecture until about 12, cover up to callbacks (hey that’s the word from the title, I
wonder if it will have any significance coming up) and create the blocks, scope,
and closure material while they’re doing the exercise and during lunch. We can
do recursion (thank god we didn't get there) if things move fast, and if they move
slow, less for me to prepare mid-day. This is not my own plan. This is all taken
right out of the curriculum. And we both know that Im being paid to follow the
curriculum, right? Presumably, but I guess that wasn't clarified on Friday, or
Monday, or ever, and speaking of days, what day is this? Right back to
functions.

We can skip ahead just a bit. Everything goes well while my supervisor is in the
room. Once she leaves I finally feel comfortable enough to rip my mask off and
start breathing fire on the students. A quick pause for a game of two truths and
a lie in the last three sentences. And we’re back to functions. I finish the simple
introductory slides on how to write a function, what they do, parameters, etc.
and move onto the next slide that includes this innocuous enough sentence:
“Callback A function passed to another function as an argument”

Heads tilt as the early stages of a mass panic begin to set in.

I stay calm. Have no fear! I say. I have an example! Google ‘.map()’ and we will
discuss together. At some point in the next five minutes literally every head in
the room explodes in a mass extinction the likes of which has never before been
seen in a classroom. I was probably better off just ripping my mask off and
breathing fire on them.

8
My response? I go into more detail on callbacks. Leading to even more
confusion about callbacks (actually this is starting to sound more like recursion).

Its about 12. Probably. Lets do the exercises I was planning to start around now
anyway, and Ill go write up some more simple callback exercises. Ill bold and
highlight the same problem we all just didn't understand and tell you all to do it
first in addition to the other exercises, because I mean if you didn't understand it
the first time, surely with no further explanation, you'll get it this second time.
Wait there might have been some faulty logic back there. Nice job genius,
godammit etc. etc.

I told them to slack me if there was a problem, and no one did. Some decided to
move on from the first question, some solved it (the solution was word for word
in the slides), and some probably ignored the instructions altogether. I don't
think this was an incident level mistake, but it sure didn't help things. When I
realized the problems were out of order I told everyone to move on if they
couldn't get the first one, apologized, and moved forward. Strike 1.

Lunch had to have happened because I don't remember anyone yelling at me


about me not telling them to go to lunch. Now we can move on to talk about the
morning disaster (exercise) which was reviewed sometime after lunch. The
morning exercise was to just talk about the problem of how to see if a tic tac toe
board was solved (hint break it down into smaller parts). A function was added
to the afternoon problems that said just solve a tic tac toe board horizontally.
The plan for the next morning was to solve vertically, and eventually add
diagonals and put it all together. At some point in the afternoon they demanded
to see me live code the solution. Genius time! I mean, what more can I say, I did
it. I suppose I was on auto pilot, or wanted to appease paying customers, or just
felt like coding, but they asked and I delivered. 40 lines of mediocre code that I
hadn’t planned on writing until tomorrow, and wasn't supposed to be at an
appropriate level for the students to learn from just yet, coming up. (To be fair a
handful of students in the class had already solved the whole thing. They
weren't exactly listening to every word I said just yet). Its kind of an ugly solution
in JavaScript with a bunch of double array accesses, looping, and knowing
where tic tac toe pieces need to be in order to win in one of the 8 possible ways
instead of relying on code. I broke my solution into 4 reasonable functions, as
neat as this particular solution could be, and shared my thought process
reasonably well (or poorly, leave me alone, I don't know, whatever). Another
student volunteered his solution which involved one giant function, uneven line
spacing and syntax, vars named things like “a” or “p” and constant use of our
old friend “==“. They liked his solution better. Strike two.

9
4 - 430 or so rolled on and the students were getting restless with their
problems. They hadn't solved them, they were just getting restless. These were
the exercises handed to me from the curriculum, the ones I hadn't read, and the
ones that I was now beginning to see were not particularly clear at times. The
students demanded a review at 5, and the loyal code monkey that I am obeyed.
I went around the room to see how everyone was doing, and realized Id have to
actually code the last one myself because no one else had been able to ( for
simpler problems I just had students who were finished slack me the code to
save me the typing, and I just commented and cleaned it up). With 5 nearing I
was still finishing up a working solution (I had a bug), but that didn't take me too
long. It definitly was a problem that made me think, and took me more than two
minutes, had a bug, so I imagine it was quite hard for them. Its a little after 5 and
I just finished the problem, and I agree to review. We discuss it a bit as I get the
projector ready. Break things down into smaller parts. What are we trying to do.
The basics. The projector goes on, they take one look at my solution and mass
head explosion #2 even head explosionier occurs.

Class: LOUD NOISES!

Me: Do you guys want to go over this line by line?

Class: YOU DIDN’T EVEN GO OVER THIS LINE BY LINE!

Me: Ummmmm.

Class: We've been sitting here for two hours trying to solve this problem, and we
couldn't even solve this problem.

Me: I mean yea its problem solving, thats kind of the point.

Strike three. I call an emergency stand up. Most of the class complains that
bootcamp is moving too fast. Some complain that after solving the days
problems they are sitting around doing nothing for too long. Real problems are
brought up. I had not been giving a clear outline of the days work, I had
assumed the previous teacher brought them up to speed on where they could
find that on their own. Bad assumption. They wanted more simple problems,
and not to beat their brains on something out of their league for too long. This
was fair. Group work. We could get more in later for sure. They wanted me to
break problems down line by line. I wont point fingers, but see the conversation
above, and this will come back up again during THE incident tomorrow. Some
complaints were contradictory (fast and slow) or unrealistic (please just upload
all of the information directly to my brain a la the Matrix) but overall it was a
really productive conversation. Even though an entire classroom of students

10
stood up to complain to me, no fingers were pointed. I asked that they give me
feedback, and ask more questions if they were stuck right away. They gave me a
list of areas where I could improve, and we listened to each other. There was
frustration, anger, disappointment etc but everyone said their piece. I took notes
and made plans to change. After 6PM a few students stuck around to keep
discussing. There was some defense of me on their part: Its a bootcamp, its
supposed to be hard and move fast, or yea we never went up and asked
questions so how could he know. Another instructor came in to offer advice to
me and the class. He offered us access to his TA (TA’s are another issue. The
students were told they would have 3. I was told I would have 1. We had 0). The
curriculum/supervisor lady came in to offer her support. The students who
stayed behind were happy to fix things with me. I kept my poker face despite
wanting to crawl into a hole and cry/yell/scream/punch things.

Later the other instructor slacked me and said Im doing an amazing job, I could
come to him for help, and I handled the situation well by having such a tough
conversation when problems arose with my students, and being open to
criticism. Supervisor said about the same, you’re doing great keep it up. The
first week is always rough and its growing pains they said. Hang in there. It will
get better.

I stuck around for a few hours and finally went to grab a burrito at around 8.
When I came back to the building, the front door was locked. I waited outside
with my Chipotle for about 20-30 minutes before I could get back inside to eat,
grab my stuff, and leave. No one told me the doors lock at night, or gave me a
key to get back in. What other way could this day have ended?

Day 3 over. Casualties 1 (I left the part out about a student abruptly running out
of the room saying he didn't feel well mid class, right after I asked him to solve a
problem. This really happened. When I asked the other students what was going
on they all just said yea he was sick. No one was surprised. I was never told
what was going on with that student. I still don't know.)

Time to get started on tomorrows lecture.


11
Day 4

weCanDoIt

Do you know the feeling when you have a fight with your partner, and then you
see them again the next day unsure how to address it? Thats what day 4 felt like
for me, but the students all seemed to be in their normal moods. Being the
logical minded person that I am I decided the best way to address the problem
would be to start with a test.

Bear with me a second here.

First off it wasn't a test they would be graded on, more a skills assessment, so
Im not a total monster. Second I named the assessment javascriptFUNNNN (ok
that move was just for me). And third I really did need to know where the
students were at code wise, so this seemed like a reasonable way to learn.

At similar points in this story Id make a joke about disastrous heads falling off
right about now, but no tales of woe from this one, just some quiet problem
solving. Next I followed one of those pieces of advice that was laid out to me
earlier and outlined the day:

#1 JSFUNNN (done)

#2 Quickly address the issues from yesterday. Say Im working on it (as proven
by the fact Im laying out the days plan). More final work would be done by
Monday, and we’d bring other things up throughout the day as well.

#3 Stress relief lecture (I cant make this stuff up, thats what was really planned
on the syllabus)

#4 Problem solving and algorithms in JavaScript. Basically I planned to code


some cool stuff live with them for a while, and finally

#5 Workshop, during which time I wanted to do 1-1’s to check in with everyone,


discuss the assessment, and the problems from the day before.

Oh and one quick fateful decision. Instead of jumping right into the stress relief
stuff, since you guys are already in JS mode, did anyone want to go over the
final super tough problem I included on the test real quick? Yes? Ok sounds fun.
And this sounds like a decision that could lead to no possible chain of events
that would leave me fired in two hours. None whatsoever.

We usually pause and clear the air here. What you are about to read is the most
brilliantly orchestrated turnaround of a classroom atmosphere in modern
classroom atmosphere history. Greater than the great Met and Yankee fan
students are finally united in their hatred of the Phillies turn around, at Tottenville
HS in Staten Island NY, of 09. GREATER than that. I was accused of being

12
confrontational. Somewhat, I can see it. I was told one might not feel safe in my
classroom. Nope. If you were in my classroom you would know what went
down. You'd also understand callbacks.

Define a function that takes an array, a callback, and a single target element.
return the first array index that when the corresponding array element is passed
to the callback, evaluates to the target. If no such index exists return -1.

Easy right?

Ok here is the point. I write a super verbose, difficult word problem and use it as
an example to look at technical language and definitions, breaking down
problems into smaller parts, and the use of pretty much one of every JavaScript
construct we’ve covered at this point.

I begin to read it extremely quickly. Panic. Im joking guys, cmon lets do this
together. Someone else read it once. Stop. Does anyone understand this? I
thought not. Lets take it one step at a time.

Various phrases I heard from the class when I suggested we take this one step
at a time:

“An array, an array, I see an array!!!”

‘HELLLLPPPP I see the word callback”

“I think we need to return -1”

“One step?!? There are no steps in this room!!?”

Me: THREE words. DEFINE a FUNCTION.

Class: Now how the hell were we supposed to know you meant that.

Me: When I say one step at a time I mean to start with the first step.

Class: Thats not what you said at all.

Me: Ok Ill be clearer next time.

Class: Defines function.

Me: Next step. FOUR words

Class: Array things

Me: TWO words

Class: Hes talking about a callback GET HIM!!!!

Me: Its ok guys WECANDOTHIS ( this is what I named my function) Whats a


callback again.

Class: One student says something wrong and i question it. Another says the
right thing and I question that too. Who thinks its the first one? The second?
Number two is correct, lets continue.

13
It went on like this. There was a lot of up and back. I got every answer from the
students. They were engaged, they were playing along. Every time they gave a
good answer I tried to reinforce them, saying it was easy. That might have been
a poor decision because this stuff is hard. What I meant was stick with me, go at
my pace, learn with me and we can make it easy together. If I said three words I
wasn't going to entertain the fourth. If I said return value we were no longer
talking about parameters. No more code monkeying around. Word by word, line
by line we solved the problem together. When the final version of the solution
was on the board, a sample case run and tested, a look of awe was on
everyone’s face. They just solved the problem themselves, but everyone’s eyes
were still transfixed on the screen like the formula to turn water into wine was on
the projector.

Class: Can we just have a few minutes to copy this down?

My brain: Good idea.

I answer a question about a line of code in the back. Its the type of question that
lets you know the student understands 9/10 concepts, but just forgot how one
little piece of the puzzle fits into things.

A question from the front. One of the last holdouts of students trusting my
ability.

To follow this problem you needed to follow a function through 4 points in the
code. This student seemed to follow the first three but was adamant about what
the 4th was not. TEVTEI instigator and former non callback understander calmly
explains the concept before I get the chance. Explains it really really well I might
add.

Holdout: No no thats not right

Me: Actually that’s exactly right

Holdout arms: Uncross

Holdout head: Shakes

Holdout: Ok

Holdout brain: Im ready to trust and learn (yup I read minds now)

I grab my laptop and delete all but one of the 4 points to follow. We are good so
far. Now I put back a second. On the third holdout’s head tilts to the side.
Almost there.. Complete problem in place

Holdout head: back and to the left

Holdout: Ahhhhh

No longer a holdout: Thank you

My brain: He’s nervous, but on the surface he looks calm and ready to drop
BOMBS

14
Me: Any more questions? Ok on to stress relief.

A crazy thing happened during the stress relief lecture. Stress was relieved. We
talked about stress vs anxiety, adding morning stand ups, meditation, and I gave
a few pieces of advice. Improve everyday. Its literally the only thing you can do. I
told them to give 100%. I said if they give me 100% I give them 100%. We were
on the same page.

Another crazy thing happened. There were jokes and laughter. One of the
exercises was to watch that scene from the original Jurassic Park where the T-
rex is attacking the main guy (thats his name right?) and the two kids. No longer
a holdout joked about how much he loved this movie and how many times he
saw it on HBO. There were calls from the back of the class calling the T-Rex
JavaScript. There was calm, ease, laughter, and happiness in the air. As the
happiness reduced to tiredness and 1PM approached, faces dropped and it was
time to call an early lunch. Work until 1 if you like, and Im here for questions, lets
call this a free period until lunch.

Nobody had a problem coming up to me, smiling, sharing their code and their
problems. The quiet ones were letting me help them, and the greatest classroom
atmosphere turnaround in modern classroom atmosphere turnaround history
was complete.

Is this the same day we were going to do 1-1’s? If anyone wants one before
going to lunch Im here. Otherwise Ill get to you later. No one is getting left
behind. Oh is that administrative guy looking for me outside the door? Whats he
want? Probably an administrative guy type of thing. I finished my 1-1’s and
joined him laptop in hand. We walked over towards the administrative guy room
as I exhaled a deep sigh of relief, knowing everything seemed to be turning
around. More live coding planned for the day, so I had no need to rush to make
slides during lunch. I could sit back, relax, and in a few minutes be eating lunch
right after this last quick administrative guy task.

Administrative guy: Im letting you know that you are terminated effective
immediately.


15
Day 4

The Room

Administrative guy claimed four things in the room that I have a problem with.

Thing the first that I have a problem with: Administrative guy said that I had been
too loud in my teaching since day one. Oh yeah administrative guy? (who was
also supervisor guy, and on-boarding guy. Yes on-boarding. We haven't heard of
him until now because he literally did no on-boarding). Back to the supervising
of supervisor/administrative guy though. If you’re supposed to be supervisor
guy, and I was too loud for you, why didn't you.. you know.. say something at an
earlier point in time so I could use my powers of voice modulation more suitably
to your liking? That would seem like a pretty good solution to that one.

Thing the second that I have a problem with: Administrative guy claimed he
listened to my callback lecture for 45 minutes earlier that day and that I was
confrontational and he wouldn't feel safe in my class. Confrontational? I don't
know. Loud? Yes. Challenging? Sure. Ok, maybe I could see it. This word didn't
come out of thin air. But unsafe? Administrative guy? You sat around for 45
minutes and just let my student wallow in the lack of safety brought about by
solving problems with callbacks? Why not walk into the room and save us all
from those dastardly functions. Or at least request that I tone it down a bit if you
felt so inclined. Im not so sure about this one administrative guy.

Thing the third that I have a problem with: Administrative guy said they don't
make decisions like these lightly (just like their hiring decisions). But lets take a
closer look at the timeline. The assessment was over at around 10:30.
Administrative guy claimed to be outside my room for 45 minutes. Thats 11:15
at earliest. Even though we entered the room closer to 1, I had a slack message
from administrative guy at around 12:15, when he was first trying to get in touch
with me. That means this not light decision was made in about an hour, without
talking to a single student from the class, without talking to me, or giving me any
sort of a warning or indication about what was going on. Im starting to question
the competence and integrity of administrative guy.

Thing the fourth that I have a problem with: Administrative guy said I wasn’t a
good culture fit, to go along with his belief that he wouldn't feel safe in my class
(to be fair administrative guy wouldn't feel safe alone in a pillow factory). During
the entirety of my tenure as professor of software engineering at coding
bootcamp (meaning all 3.5 days) I showed up to every lecture prepared to
discuss everything on the syllabus for the day, I was helpful, enthusiastic,
competent, intelligent, challenging, and open minded. Wait these are all things
that are the opposite of what administrative guy stood for. Thing the fourth I no
longer have a problem with. I guess I wasn’t a good culture fit.


16
Postmortem

I got fired for giving a loud, engaging lecture on callbacks. Of course this is what
administrative guy told me, and there were other real problems in that classroom
too, most I have addressed, and some I have not. If administrative guy was
telling the truth and it was just the lecture, then I was fired for grossly negligent,
scary, and unsafe callback code. A callback so dangerous it simply could no
longer be tolerated in a safe learning environment with innocent students. If
earlier problems played a role in this, then we have a thing the (whatever number
Im up to) that I have a problem with to discuss. Despite the problems, the only
feedback I received was you’re doing great, keep it up, and the first week is
tough for everyone, work through it. So back to administrative guy. Back to the
callback lecture to end all callback lectures. Back to the job hunt. And no going
back to the school that puts safety over learning callbacks.

Oh wait. No. Thats not the lesson at all. Obviously the lecture was safe.

No going back to the school that hires you in 30 minutes, fires you in an hour,
and puts their backwards culture before learning.

17

Вам также может понравиться