I was teaching at a coding bootcamp a few years ago. The class was not going well and one student in particular was derailing our lesson. After class this student approached me.

“You know, this stuff is hard. You’re teaching way too fast for me to keep up. This stuff might be easy for you but we didn’t all grow up using computers or learning to code.”

I was a bit stunned and apologized, assuring him we could work outside of class to get him caught up. I was also flattered. My transformation was finally complete. He saw me for…

Pictured: Charles, React Developer at a typical day at work

Charles, a ReactJS developer, sits down and wipes the breakfast burrito crumbs from his scraggly beard.

“Ahh, time to create another component!” he exclaims, while cracking his fingers and then resting them ever so gently on his mechanical keyboard.

The codebase he’s adding to has a number of other components, similar to the one he’s about to create. He copies all the folders and files under SomeGenericComponent and renames them, then goes through the SomeGenericComponent.test.js file and updates the name of the component and removes all the current test statements.

“I’ll get to these later” he chuckles.

He follows a…

10/10 Would not recommend

If you are using testing-library as a test framework for your ReactJS project, you are likely familiar with the render method used to, well, render components. But how many of your components are easily renderable with no additional bootstrapping?

It’s likely your project either has a theme, some context providers or leverages redux. Perhaps it uses all these features. So how do you write tests for your simple Cart component which depends on a user object being available in the redux store? Or your Button which is wrapped in a ThemeProvider ?

Our team struggled with re-inventing the wheel with…

And this is how you create a button…

Do you really need a bootcamp to become a software engineer? While it may seem there are only two viable paths into the world of software — bootcamp or college degree — there is another way.

Full disclosure — I did complete a bootcamp style program nearly 7 years ago. The price tag was trivial compared to what the average programs costs nowadays — $2000 for 12 weeks — but to me, at that time, this was a sum of money that I figured I might not soon see again. I needed to make this work.

In the months leading…

I could’ve sworn I tested that!

Whether you’re using TDD or whatever it’s called when you write tests after your code (DDT?), there is no silver bullet for creating good unit tests. What separates bad unit tests from useful ones you might ask? Good unit tests explore possibilities and decision points that aren’t easily reproducible while poorly written tests provide a false sense of security by testing happy paths and trivial scenarios.

You’ve just finished a feature and written some tests. A reviewer then looks over your code and accompanying tests and is pleased. The code is released that Friday around 5pm (natch 😉), resulting in…

Deploying a hot fix version of an npm package on a Friday? No sweat amirite

Ahh, your NPM package is finally live. You’ve published your library to the NPM registry for your tens of adoring fans (or maybe just you) to consume. You’ve been careful to exclude extraneous dependencies from the build and fiddled with webpack for hours to create a truly optimized build. But what about versioning?

Typically a minor version upgrade, from v1.1.0 to 1.2.0 introduces a non-breaking change like a small feature. A major upgrade, from v1.2.0 to v2.0.0, is usually reserved for breaking changes or non backwards-compatible changes. That leaves bugs, which can be resolved with patch upgrades.

This all sounds…

Turn it off and then turn it back on? Damn, hadn’t thought of that

But… it worked locally, I pitifully mumbled at my screen. For some reason, the NodeJS API I had recently deployed to production on AWS using ElasticBeanstalk was returning a 413 (Request Entity Too Large) when a user attempted to upload an attached file. Without the ability to upload, we basically didn’t have an app!

Luckily, or perhaps not so luckily, the internet is littered with articles suggesting solutions to this common issue. At the root cause is the nginx configuration on the EC2 instance having a limit for incoming requests that is lower than what you are attempting to send…

writing unit tests for software applications

Around 6 months ago our team’s test coverage was pretty dismal, hovering somewhere around 0% for most of our front end applications… yeah, we know. The team had recently switched to using ReactJS, was rapidly expanding and fighting against tight deadlines. Testing was the first thing to go. I mean we have a QA team right?

Fast forward to now and our test coverage has skyrocketed to around 20% per application! Writing tests certainly isn’t free. There is a lot of overhead and initial work to get unit and end-to-end tests working. So why do it? …

JS master Kyle Simpson with a hot take on Typescript

Depending on who you ask, Typescript is either the savior or downfall of Javascript. Regardless of how you may feel, there is no denying its popularity and appeal for many developers. I’ve been able to successfully avoid writing Typescript until recently when my team decided to adopt it for a new project. The hope is that using TS will help us avoid the kinds of bugs that lend themselves to using JS: type errors, accessing properties on objects which may not exist and other pitfalls that come at the cost of a dynamically typed language. …

WFH is here to stay for a lot of us. Whether we wanted it or not. At best, the freedom to work from home can offer you more time with your family and friends, the ability to travel and increase your productivity. At worst it can leave you feeling alone, depressed and overworked.

Of course many tech companies paint WFH as a benefit: office space ain’t cheap and neither is wifi 😉. All those free fizzy waters and ping pong tables add up amigo.Work from home they say! Yeah, but what if you don’t really know how?

As a software…

Brian Jenney

full-stackish developer, late bloomer coder and power google user

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store