Image for post
Image for post

Let’s face it. The majority of us who write code for a living won’t be the next Kyle Simpson or Stephen Grider. Even within our own teams, there are those members who just seem to write the kind of code which you envy. They’ve been programming for decades or maybe they truly are a genius. You pore over their code, hoping to glean some wisdom from them, only to realize it may be years before you reach their level of mastery.

Technical proficiency doesn’t always parallel career trajectory in software, as it shouldn’t. At the most basic level, software teams are groups of humans building products with details and requirements often dictated by other humans that will be eventually released to, you guessed it, more dirty humans. …


Image for post
Image for post

Six years ago I transitioned careers at 30 to become a software developer. Since then, I’ve worked at 4 different companies and been promoted to senior developer. At each stage of my career I’ve had a not-so-small voice in the back of my head questioning whether I was really qualified to be in my current position. Was it luck? Did my presence help to fill some diversity quota? Did they make a terrible mistake by hiring me, I wondered. It was just a matter of time before I was caught!

Luckily, I’ve never been “caught” as an impostor at any of the companies I’ve worked for and I’ve learned to counter that voice of doubt with reason and logic — proving that I do belong where I am. …


or Functional-Light JavaScript

Image for post
Image for post
See, it’s pretty simple…

Years ago, a very sharp mathematician turned software developer asked me if I knew anything about functional programming. ‘No’ I replied. I saw the gleam in his eye as he rose from his seat to walk over to the whiteboard where an hour-long impromptu lecture would begin.

He furiously drew a spattering of math on the board. There were pointy hats over numbers, I think an infinity symbol entered the picture. There were many functions… so many functions. They all kinda looked like this f(g(x))

It was amazing! At the end of that hour, I knew just as much about functional programming as when I started, but now I was damn sure not going to try and use it in real life. It seemed you needed a four year degree in a math related field to understand what the hell was going on here. …


Image for post
Image for post
Ship it!

It was done! Finally, after days of poring over the code and refining the logic, I was happy to say I’d finally finished the task. The output: a beautiful 100+ line if/else statement! Seriously.

I was about 2 months into my first job as a software developer and recently tasked with porting one of our applications from a legacy code base to our new web app. …


recursive functions in javascript
recursive functions in javascript

I am going to try my best not to use any played out jokes regarding recursion in this piece, but being well into my career as a father, there are no guarantees.

The idea of recursion is actually pretty simple: a function that calls itself. Now, putting this principle in practice to write something useful is another bag of beans. Let’s take a look at the function below, which is technically recursive but is missing a very important ingredient:

const countDown = (num) => {
console.log(num);
countDown(num - 1);
}
countDown(10);// 10
// 9
// 8
// 7
//...

Try running this function in an online editor like repl.it and see what happens… go on try it. This countDown function takes in an initial number and, well, counts down. Each successive call decreases the number and logs it to our console. …


Image for post
Image for post

If you’re a recent graduate from a school or a bootcamp, I probably don’t need to tell you how difficult it is to get your first job as a software developer. You may be discouraged by the LinkedIn articles you see where authors encourage you to send donuts to your interviewer, contribute to open source projects, host your own website, study complicated algorithms and network, network, network!

Holy Jimmies, you think to yourself, how the hell am I ever gonna get paid to write some gosh dang code?

There are enough articles you can find on the internets that will guide you through a variety of methods to land you first job in software and I will only add that I believe it is a bit of a numbers game when getting hired for the first time and persistence and faith are required to get through the rejections. …


Not to be confused with RESTful!

Image for post
Image for post
They say a power nap can really improve your debugging skills — would 10/10 not recommend doing during a critical issue though 😉

It was around midnight on a Thursday when our platform team had finally finished a data migration. It took about 3 hours longer than expected and I had volunteered to be the front end developer counterpart on call to check if everything looked fine on the site after the migration. Easy deal, I thought. But then things took an unexpected turn.

We were all tired from this massive migration and even though I was a spectator for the entirety of it, I was feeling the residual stress and ready to sleep now that we were creeping into the next day. A quick glance over the site showed no obvious errors. Well, except for one. Our real time line chart was no longer working. This is the chart many of our customers proudly displayed in the lobbies of their businesses and executive offices. It looked cool. …


Image for post
Image for post
I don’t know what the hell she’s talking about… am I supposed to know this? Just keep nodding…

Clarity is the benefit of hindsight and when I reflect on my career so far I think of all the things I wish I had done earlier/differently when I first began writing code for money.

I’ve spoken with a LOT of junior developers in the last few years through LinkedIn, mentorship programs, bootcamps where I’ve taught and companies where I’ve worked. Many of the same issues that I thought were unique to me as a beginner in the software industry seem to be incredibly common.

This epiphany would have comforted me a bit more during those first 2–3 years where I wrestled with impostor syndrome and the ever present fear that I would be outed as a fraud at each company I went to. …


Image for post
Image for post

Our dev team recently became responsible for building micro front-ends using React for e-commerce sites. After building our second site, we noticed there was a lot of duplication among our redux actions and how they handle common backend interactions. For example, a user adding an item to a cart or logging in is the exact same across applications.

Inevitably, we discovered a bug affecting an action with carts and ended up applying a fix to reducers on both sites… while it’s trivial to copy and paste a fix across two sites, we could only imagine having this problem span dozens. What about refactors? This was not sustainable. …


Image for post
Image for post
As the most junior person on the team you might feel a bit useless at times

So you survived your first day on the job. First week. First month… now what? At the end of my first 4 weeks as a software developer I felt useless at best and like I might get fired at worst. Here I was making more money than I ever had while barely contributing to a codebase that I did not understand and pestering my co-workers about the processes for deploying, reviewing and creating code on a daily basis. Maybe I’m not cut out for this I thought.

Did my co-workers resent me for all my questions? Was the boss waiting to fire me? Why did they even hire me? I was filled with self-doubt for the better part of my first year and as my end of year review approached I increasingly felt like I might get ripped apart and resigned myself to the fact that my review would probably be pretty critical. Did I mention I’m a but neurotic? …

About

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