Week 2 Reflection: Past, Present, and Future!

For this week’s reflection, I have three questions to ask myself:

  1. How much did you know about the subject before we started?
  2. How do you feel about your work this week?
  3. How can you use this knowledge in future work?

For the first question, I am going to translate the word ‘subject’ here into two more specific questions:How confident are you in using Ruby before you joined this program?” and “How well are your understanding in the fundamental concepts, like data structures and algorithms, before you joined this program?”

Past: The programming language that made me fall in love with coding

First of all, I don’t have enough knowledge to judge my abilities in using Ruby, because who should I compare myself to? To the fellow students here in Generasi Gigih or to the talent level of the rest of the industry who is using Ruby in their job? All I can say is that I have built products from the grown up with Rails. Secondly, I acknowledge that I am several steps behind CS graduates and that is exactly the reason why I am here. I joined Generasi Gigih so that I can learn deeper software engineering fundamentals and industry best practices my bootcamp doesn’t cover. I was actually relieved when I discovered this program will be taught in Ruby, because now I can focus on learning to think in code ‘why do I have to do this’ instead of figuring out how to do something in a new language. Ruby is not my first programming language, but it is the programming language that made me fall in love with coding.

Present: Stepping outside my comfort zone

Last week’s class covered materials in HTTP Method, Routing and Rendering, Entity Relationship Diagram (ERD) and Data Description Language (DDL), and Data Manipulation Language (DML).

At first, I didn’t like the idea of using Sinatra instead of Rails for routing. I didn’t particularly enjoy it because with Rails, I don’t have to manually set up the routes, connect the database and determine what files to show. Nevertheless, I’m glad this program forced me to use Sinatra because that way I get to learn the actual set up and how everything was connected. But if I am going to build a complex application, I personally will not use Sinatra, because it will be harder to maintain the code and I choose convention over configuration.

Future: Using technology to solve problems and delivers value

Last weekend, I just learned how to play poker. You may ask, why am I suddenly bring up poker? Because I think software development is very much like playing poker.

In poker, you don’t play the cards, you play the person. There are other variables to take into account, like getting good cards, that will increase your chances in winning but the central factor is knowing the people you are playing against. When you get good cards, your number one goal is to make as much money as you can off of them and the only way to get more money is to know what actions that will make your opponents give you more money. Logic helps you determine which action to take, knowing people helps you win money.

People are equally as important in delivering software. You can build an awesome product with the latest cutting-edge tech stack but if your software solution can’t fulfill the expectations of the addressed users, your product will fail. I want to write software for people and be the kind of a developer who first seek to understand ‘why to do something’ rather than ‘how to do something’ and to not treat best practices like a cookbook. It’s helpful to know what I should do, but I want to use the knowledge that I will gain through this program to know what I must do. Logic helps you deliver applications, knowing people helps you deliver value.




Sharing my journey in software engineering and uplifting others.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Optimizing Git’s Merge Machinery, #1

Git Hooks: Keep your source repo clean

Taking GraphQL One Step Further with Relationships

How to use Huawei Ads with AdMob mediation (Flutter)

Secure your Cloud and On-premise Infrastructure with Open-source tools.

Why Rails is a good framework to choose as a beginner developer

What is the importance of the IoT in mobile app development services?

Running Elasticsearch, Kibana, Logstash on Amazon EC2 Container Service (ECS)

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
Nabila Siregar

Nabila Siregar

Sharing my journey in software engineering and uplifting others.

More from Medium

Improving Powkiddy V90’s Portable Experience

#JustStart Experience with Amal

Charlie Brooker’s sci-fi Netflix series “Black-Mirror” displays a dystopian Technology advanced…

Gap Year (8): Cuenca — A Gem in Ecuador