As a developer, you have most likely come across the single responsibility principle when learning how to code. As a rule of thumb descendant from object-oriented design, it’s crucial in order to create reusable and flexible code, as well as the organizational and ‘DRY’ benefits that come with it.

What is the Single Responsibility Principle?

This means that every class should only have one responsibility — in other words, a class needs to have only a single job or a purpose for changing. If done properly, it allows us to reuse different classes and their unique properties across different areas of the application, without constantly rewriting…


Using factory functions to speed up the creation of instances of an object

Before we get too deep into this concept, it’s an important reminder to remember that everything within Javascript is an object. Yes, everything. Within Javascript, objects are important in order to store data, and can be organized in key value pairs if they contain multiple properties.

For example:


An accessibility focused Hackathon through Devpost

Hi everyone! It has been about 3 weeks since I officially started my job search after graduating from the Flatiron School. Since graduating, I have been told from a multitude of resources that Hackathons are a great way for me to meet new people, contribute my skills to a team setting (even though I’m doing my first hackathon alone), and showcase to companies that I am focusing on continuing my education post bootcamp. …


In my quest to expand my coding knowledge, I recently started dabbling in Python. For those who may not know, Python is an interpreted and easily readable language used predominately for web/software development, as well as data science. An interpreted language will directly execute code by converting it to “byte code”, increasing the speed of production. Created in ’91 by Guido van Rossum, it has gone through a few iterations before reaching its most current form — Python 3.

Python is used by a majority of the major companies that you can think of, and its popularity doesn’t seem to…


What is the difference and which one should you use?

What is Javascript?

Javascript is arguably one of the most popular programming languages, utilized by 11.4 million developers in 2019. Mainly used on the front-end of applications to create webpages, it is a scripting language that runs client-side allowing for interactivity. The beauty of Javascript is that it creates this dynamic content without having to constantly refresh your webpage in order to see the changes. It works effectively with back-end technologies, as well, making for a solid full-stack application when necessary.

Javascript has many purposes: most commonly used for web applications, it can also be used to create mobile applications, games, and even…


I say — go for it! But here’s some more info:

At the time of writing this, I was sitting at my desk 7 days prior to graduation day from Flatiron School. At the beginning of this program back in October of 2020, I thought I had a grasp on what I was getting myself into. All I had to do was pass the five phases, pass the coding challenges, and I would be on my way to a new and fulfilling career full of growth and possibility! (Plus, my first generation refugee parents wouldn’t love anything more than to…


Learning how to code has been one of the most challenging, yet fulfilling journeys I have embarked on. However, I would be lying if at times I feel like I didn’t belong. It could be partially due to the impending doom of imposter syndrome, or due to the overarching theme of gender bias/inequality in STEM. Gender bias can occur consciously/unconsciously, and most times we are taking part in it without even realizing that we are. I may be naive, but I don’t believe it’s as much of conscious bias deterring women from the field as much as it is lack…


How to use custom and pre-built validations in your Rails projects

What are Validations?

Validations are a great tool for Rails developers to use when creating projects that include data that needs to be, well, validated! Okay, cool. So why should we use them? They’re mainly used for ensuring the accuracy of specific types of data input (full names, email addresses, usernames, passwords, user IDs, etc), and predominately doing so checking the accuracy of this data input before it is ultimately persisted into the database. In other words, a validation will run before the object is fully persisted into the system, to protect…


… or — explain in ~more digestible~ terms.

https://giphy.com/gifs/editingandlayout-the-office-michael-scott-5wWf7H89PisM6An8UAU

If you would have told me that in just two weeks of the Immersive Software Engineering program at Flatiron School that I would actually feel like a “real coder”, then I would have not believed you. The amount of knowledge that I have been able to somewhat comprehend has surprised not only me, but the rest of my cohort.

With that being said, every day brings its (new) challenges, and this week’s hurdle was *drum roll please* ACTIVE RECORD! A week of dozens of OOP labs prepared me for this moment. It…

Sara Cemal

Flatiron School alumni with a sociology and neuroscience background.

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