#100DaysOfCode - Challenge Accepted!

19th April 2020

"If you cannot do great things, do small things in a great way"

- Napoleon Hill

“Yes, I’m back in black” – AC/DC


It’s been a while since I last done a blog (a whole year nearly in fact!), but recently with the COVID-19 pandemic and with all this extra time I’ve never had before, I thought I’d get back into the swing of things and get back to blogging!

So as I contemplate what to do with this new found time, I thought, what’s lacking in my life?

Over the past year, I have been feeling quite complacent in my job/career, learning just when I need to and not being my normal self, which is being inquisitive into the programming world. This is due a combination of things….personal events, multiple burnouts but mostly due to the dreaded imposter syndrome (I’ll talk about all these in another blog post).

So I’ve decided to get focusing more on my personal development as not only an awesome developer but also my own self confidence to back up this code that I write. With my main goal in life is to help others achieve their dreams of being great developers too!

So how does one start to push themselves to be a better developer, in fact a driven individual?….Well, the answer is quite simple in theory, but hard in practice!

Creating a habit


A habit is something we do without thinking about it, it almost becomes second nature!

I personally found it easier in my younger age to create a habit like reading, learning instruments and so on.

But as I got older I fell into the complacent trait, just doing what I needed to get by, even though I had a burst of it back in my first two years in Rapid 7, as  I moved from a QA developer to a fully blown Java developer. It was a rush that I hope someday to get back!

So to shake things up a bit and get that rush and excitement back again. I done a bit of research and discovered a challenge called #100DaysOfCode on twitter and I couldn’t resist giving it a go since it was right my alley to get my arse into gear!

So what is this 100 days of code challenge I’m talking about?


The 100 days of code challenge is quite simple at heart. There is two main rules to this challenge:

1. Code a minimum of 1 hour every day for the next 100 days

2. Tweet your progress everyday with the #100DaysOfCode hashtag

Simple enough?…..Well the 100 days seems a bit daunting, but the benefits far outweighed the consequences.

The benefits of the challenge!


There are numerous good reasons to do the  #100DaysOfCode :

  • Writing code everyday will create a beneficial habit for you – which will both benefit your career and personal development in life, even after the challenge is complete.

  • The reason behind 100 days is to engrain momentum! – That momentum will allow you stay in the flow of coding and allow you pick up and learn more advanced areas at a quicker pace!

  • The advantage of tweet everyday allows you to meet/help others doing the challenge, this will be great to bounce ideas off or even “rubber duck” on difficult areas!

  • The projects that you’ll build will be small in scope, so by the time you finish, you’ll have completed several of them — and gained a wide range of experience.

  • You’ll have a good reason to stop procrastinating and start coding every day.

  • These projects will give you practice with concepts that frequently come up during developer job interviews.

  • Your GitHub profile will look extremely active. And yes, hiring managers and recruiters do look at these.

  • You’ll greatly diminish your fear of starting a new coding project. It will become a natural, ordinary thing to do.

So what am I going to learn?


For a while now, I’ve really loved playing about with front-end languages and frameworks in my current work when I get the chance to, I always got a real buzz from seeing my changes being immediately visible to me!

So I’ve decided to take it upon myself to learn from scratch properly, ES6/Javascript and hopefully transcend that into using it into either a

  • PWA or React Native App idea (Top secret for now!)

  • Website

So here it goes!

I officially take the challenge!

To keep up to date on my journey (whether I make it or not is another thing)

 

Twitter

I’ll be doing a log book in my

GitHub

I’ll be putting up milestone achievements on this site too!

Til next time!

SH


A day in the life of a software engineer

11th May 2019

Don't they just eat, sleep, code, repeat?

Well not exactly…….there is a whole lot in between! Software engineers aren’t just people who spend their days behind a computer, being little hurmids and growling at you if you approach them for a question!

No there is so much more to a software engineer than meets the eye!

So here’s a walkthrough of a typical day as a software engineer, in this case myself at Rapid 7 🙂

6:00am  Wakey Wakey!

This is the theme song to my mornings, provided by my wonderful alexa. Time to get my arse into gear and get some get some nutritious porridge and a hot cup of tea, to get the engine going.

6:15am  Gym time

After getting some breakfast it’s time to take a walk to the gym!

I go to Queen’s PEC centre, which has all the facilities needed. Depending on the day I’ll either do swimming or lift some weights, or at least attempt it 😀

7:15am  Second breakfast!

After sweating half a stone off me, I’ll walk back home to get a shower, cleaned up and a second breakfast thrown into me…I’m secretly a hobbit by the way 😀

7:40am  Time to hitch a ride!

I’ll either get a lift into the city with my housemate or jump on the always pleasant metro bus. The latter gives me the perfect opportunity to read a few more pages of my book ( Currently Stephen King’s “IT”, pretty frightening stuff….I always was feared of balloons).

8:00am  In the office!

Normally at this time there is a few people in, some of the super risers, like the SEALs of the software engineering world.

For me, I will go make myself a lovely cappuccino ( yes I do dabble between a tea and coffee ) from our fancy coffee maker. I embrace the strong aroma to perk me up and then begin by going through my personal “to do” sticky notes that I have on my board. This can range from “Ask Manager ‘A’ for more requirements” to “Resolve migration issue with database schema ‘B'”. Generally just to calibrate what takes precedence for the day.

8:10am – 8:30am  Reading up on the latest trends

I tend to look at the latest youtube videos and blogs on java, python and javascript, the latter being only when I know I have frontend work to do on our backend tool for support.

8:30am – 10:20am  Coding! (aka googling stackoverflow for help)

This is my most productive time of the day, as the coffee has kicked in and I have minimum distractions due to the lack of people in the office (Our office tends to be a mix of early starters or late finishers, super flexible!). By 10:25am, my team will be fully in, ready for stand up!

10:25am  Get up! Stand up time!

Here our team discuss what we did yesterday, what we are going to do today and if there is any blockers/issues affecting us on our projects/features. Generally, it’s quite a short meeting ranging from 5-7 minutes.

10:30am – 12pm  Design discussion and more coding!

After standup, I tend to have a short discussion with my team lead at our desks. This discussion is mostly about the design patterns and structure used so far on the feature and identify areas we can improve/ reuse along the way. Once we have identified areas, I’ll note these down as “TODOs” for future stephen to resolve, but for now, I put on my noise cancelling headphones and crack on with more coding!

12pm  Lunch aka third breakfast

Once 12pm hits, my stomach immediately goes into making the gorgeous sounds of a whale!

I either join some of my teammates for a spot of lunch or make my own. The range of choices is absurd in belfast! but generally speaking you can’t go wrong with a nice boojum burrito to tide you over till dinner time!

12:45pm  Ping pong pool!

I’m fortunate to work in such an awesome company, that they provide us with fun facilities to do throughout the day. Our belfast office has an awesome ping pong table, a pool table and an awesome arcade machine!

Generally I always lean towards the ping pong table, nothing quite like taking your debugging frustration out on the table! I end up looking like monica out of friends by the end of a good match!

1pm -4pm  It’s bruce almighty time!

During this time I tend to try be as productive as possible, however, this isn’t always the case! I love being a team player within our awesome team, I’ll jump from my own work to help our interns with a deployment to production and also resolving customer issues as they come in. Thankfully our team is just one big family, happy as a pig in muck to answer any questions and join in on some of that vital rubber ducking programming!

This period is just chaotic but I do enjoy the spontaneous nature of this time period, as I like thinking on my feet and enjoy changing up my routine constantly! Never the same day twice in Rapid 7!

4pm – 5pm  Meeting time

We don’t tend to do a lot of meetings, we tend to leave those to the team lead, so that they can let us crack on with outputting awesome code! However, sometimes we are needed as a full team to discuss certain aspects of the project and how we go forward. We like to do retrospectives, as it allows us to have an open discussion about what we are doing right as a team, how we can improve certain aspects going forward and generally just outputting any concerns that may be causing an issue with productivity and efficiency as a team.

5:30pm  Home time

Time to call it in for a day!

I’ll pack up my laptop and leave the office, heading towards the bus stop, ready to crack out my current novel and blast a few pages on the bus journey home. However, if it’s an awesome day (like it has been for a while), I like to walk home from the office. It’s a lovely 40 minute walk down by the river lagan, enough time to clear the head and appreciate the views along the way!

6:30pm  Dinner time

Once I’ve arrived home, I’ll crack on with making dinner as soon as possible (especially since I share a house with two of my best mates), just to avoid the issue of clashing with their cooking! I’m generally a plain jane when it comes to cooking, standard meat and veg. However as of late, I try to dabble into vegetarian food and some spicier cookups, just to improve my skills. I’ll be no Gordon Ramsay that’s for sure!

7:30pm – 8pm  Relaxation

I tend to take a half an hour out just to tune out and relax, whether that be with my housemates watching the latest game of thrones episodes, to just heading into our cinema room to play a few video games on the playstation.

8pm  – 10pm Cinema? Books? Blog?

As a household, we like to see the latest films out in the cinema (currently waiting for the next john wick!). If there is nothing out, we generally just do our own individual projects in the house. I tend to dable between programming for a self project, improving my guitar playing, reading up on my novel or blogging of course!

Sometimes I be guilty of jumping on and helping our US customers with any issues they may have, but this is a rare case 🙂

10pm  Bed time

Normally by 10pm or prior i’m snuggled up in bed, ready to watch an episode of the sopranos (which I highly recommend) or with my novel.

So hopefully this has given you a great insight into the life of a software engineer. I have tried to be as consistent as possible, but with working in such a fast paced industry, my day to day is not always the same!

SH