While I was still attending the Flatiron School’s Software Engineering Immersive Program, I tried to connect with at least one engineer per week to gain as much insight as possible into what makes a successful developer.
While the topics covered in those discussions were varied, I was always sure to ask, “What do I need to start learning to get ahead of the pack?”. The answer was always the same: “Start learning about Data Structures and Algorithms.” So, that’s what I did.
While I’ve learned a lot while trying to follow that advice, I’ve noticed that while there are a lot of resources that teach about different data structures and how to build them into your algorithms, not a lot of those resources truly go into depth about what they are how they are implemented in practice. …
When I was working on some algorithm problem sets a few days ago, I kept running into a pretty commonplace scenario when working with text — I found myself needing to extract information from a string to perform a specific set of operations on it.
While reformatting data is something most engineers deal with during their day to day, sifting through strings to extract data can complicate things quite a bit. Regular Expressions, commonly referred to as RegEx, make that process infinitely easier.
Let’s dive into what Regular Expressions are and how you can use them to manipulate data embedded in strings as necessary. …
Recently, I published a blog post outlining why I chose to use Gatsby as the foundation for my portfolio site. While I’m still happy with that decision, the process has taken a little longer than I anticipated.
Between the learning curve of using a new framework, the thoroughness required for building a fully responsive design, and juggling the development of a new project with some much needed time off, this thing still needs some work before it’s ready to be shared with the internet.
With that said, building my own portfolio from scratch has been an amazing learning experience, and I want to take a moment to share with you some things I’ve learned while working on it. Specifically, I’d like to talk to you about the
display property in CSS, as it helped me a TON while structuring the layout of my site. …
After graduating from Flatiron School’s Software Engineering immersive program, it became clear to me that I needed a space beyond Github, LinkedIn, and Medium to document both the skills I’ve developed as an engineer and the projects that I’ve built using those skills.
I wanted a space where I could show off what I’ve built and express myself and my experience in a way that truly reflected my personality as well, something that isn’t easily done using the standardized format of popular platforms. …
Let’s take a more in-depth look into this State Management powerhouse.
As a relatively new React developer, one thing that’s stood out to me is how top-heavy my React apps can sometimes feel. While each component always has it’s own bells and whistles, the “lowest shared parent” can sometimes feel overloaded by the amount of stateful information it stores. Don’t get me wrong, lifting state is an essential concept in React and certainly one of the library’s most useful features, but I’ve always wondered if there’s a better way to do it.
Redux is a state management library created by Dan Abramov and Andrew Clark in 2015 that aims to provide you with a single source of truth for state across all components so you can easily access stateful information at any time. …
Part 2 of a series breaking down Big O Notation and Time and Space Complexity for new developers.
If you’re on your way to becoming a software developer, you’ve most likely come across the terms ‘ Time and Space Complexity’ or ‘Big O Notation.’ If you haven’t, check out my quick primer on what Big O Notation is and why it should be on your radar.
Knowing how to talk about Time and Space Complexity is crucial in any budding developer’s career. First of all, this subject is known to come up in coding interviews frequently, so it’s essential to familiarize yourself with the base concepts. More importantly, though, a strong understanding of how to calculate and discuss Time and Space Complexity is going to make you a better developer by making you aware of differences in terms of efficiency and provide you with the insight to develop better solutions for problems you work on. …
You might be taking coding tutorials online, diligently working through labs in boot camp, or maybe you’ve just started your research into what a transition into Software Engineering looks like, and everything is starting to click into place.
Know the difference between an IDE and a Text Editor? Check. Are you able to build a CRUD app using your language of choice? Check. Can you pin down the runtime of an algorithm relative to its input?
Uh, hold up. What do you mean by runtime? And what exactly is an algorithm again? …
As you learn to code, you’ll want to tackle more complicated projects to flex the skills you’ve developed thus far. Learning about Object Orientation, Classes, Enumerables, and other Ruby basics is great, but eventually, you’re going to hit a point where it’s time to put those concepts to the test creatively. Enter the Ruby CLI Application — the next stop on your journey to master Ruby.
If you don’t know, CLI stands for Command-Line Interface. When we build programs with Ruby, we receive our feedback from the command-line in the form of errors, calculations, or that cute message you decided to try and
puts. It’s important to know, though, that the command-line can do a lot more. It’s immensely powerful, and a lot of that power comes from small programs or scripts that programmers just like you build to accomplish their problems of the day.
git is an example of a CLI application with a considerable impact, and ultimately, building your own CLI application isn’t that different from what the Git team did to get their idea off of the ground. …