Source: lynda.com

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021

Isn’t my code good and clean enough?

You might think that you’ve successfully built your code and it is working properly. Your team’s performance is very good and your customer is happy with your team’s result. I challenge you to extend or add new features on the existing code in a few months or years later. Can you easily implement or add it?

In this article, I’ll talk about Refactoring and Design Patterns that you may apply to improve your code quality. …


Source: https://medium.com/@wk_26361/the-history-and-usage-of-websockets-f865eff0d624

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021

Real-Time Applications?

Imagine building a Web Application that requires real-time interaction with the server. Is it even possible? Do you know that building a web application is not only about HTTP Requests and HTTP Responses. We might think that HTTP Requests and Responses aren’t real-time interaction with the server. The server only waits for any requests from the client, processes them, return responses, then done. …


Source: https://dev.to/destro_mas

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021

Mock the API!

Imagine you’re currently building a Frontend Application. Nowadays, there is at least one call to an API to make your app’s content is dynamic and interesting. You’ve always done Test-Driven Development in your project and past projects, so you don’t want to miss out a single line, do you? But, how to test a function that calls API? Yes, you have to mock it. But why?

While writing tests, it is important to understand that we must not call the real API…


Source: arrowhitech.com

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021

Another Testing?

Imagine you’ve built your API and ready to be consumed by your Applications. Have you ever thought about your API’s performance? How many requests can your API handle in one second? How many loads can your API take until it is down? These questions are crucial if you want to build a good system that can handle many requests, and here Performance Testing do its job.

Performance Testing

But what’s the difference with other testing, such as Unit Testing and Integration Testing? Performance Testing…


Source: https://medium.com/dot-intern/integrasi-gitlab-ci-cd-dengan-heroku-pada-aplikasi-reactjs-188dfa4be35c

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021

DevOps

Imagine you’ve built your codebase and ready to deploy it. In traditional software development model, who write code to be organizationally and functionally is apart from those who deploy and support that code. The two different teams: Development Team and IT/Ops Team have their own objectives. So initially, they’ll only consider their own things. What’ll happen? There may be some miscommunications between Dev Team and IT/Ops Team that can affect our business performance.

How about the different team started to merge or…


Source: https://medium.com/@wotton111/creating-useful-personas-that-support-design-decision-making-8d05a264a82b

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021

Overview

Designing Web or Mobile Applications may be a challenging task. We may think that we design our app, so we don’t need to think about the users. Why do we have to think about who‘ll use the application as long as our app serves our user’s needs?

Creating applications is not an easy task. We have to define: Who will use our app? What are the backgrounds of our users? What will they expect from our app? What can they do in…


Source: https://en.wikipedia.org/wiki/React_(JavaScript_library)

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021.

Clean Your Code?

Imagine you’ve written code in your current project. Let’s challenge ourselves to read the code several months or years later, can you remember what this function/class/variable does? Next, show your code to your friend, can he/she read and understand it properly? If yes, congratulations, then you’ve built a well-written code.

As a Software Engineer, it’s important to write understandable, readable, maintainable, and scalable code. If you are working on a certain project, make sure that when you leave the project, your successors…


Source: https://www.docker.com/

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021.

Containerization

Scenario 1: Imagine you are currently building codebases for your software. Your friend complains to you that your codebases didn’t run on his/her machine. What will you do?

Scenario 2: Imagine you’ve made the documentation on how to run your codebases in local. Your friend complains to you of how difficult it is to just run your multiple codebases in their machine. What would you say?

Docker come to the rescue!

By ‘wrapping’ or ‘packaging’ your codebases into Docker Containers and orchestrating…


Source: https://www.atlassian.com/

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021.

Agile = Fast ?

Have you ever experienced to deliver software fast? But the requirements are often changed based on needs. What will your team do? Change on plan isn’t one of the solution if you’ve already planned it as a long-term plan. Of course, in this situation, Agile is the solution.

It was started in 2000, when a group of Software Developers (they include Martin Fowler, Jim Highsmith, Jon Kern, Jeff Sutherland, Ken Schwaber, and Bob Martin) discuss on how they could speed up the…


Source: https://bitbar.com/blog/reaping-the-benefits-of-tdd-for-mobile-app-testing-development/

This article is written as a part of Individual Review of Fasilkom UI’s Software Engineering Project Course 2021.

TDD: Test Before Implement

Have you ever experienced many bugs in your project even though you are very confident with your tests and implementations? Are you sure you have followed the Test Driven Development (TDD) principles?

In 1999, Kent Beck, an American Software Engineer, invented TDD. Test Driven Development is related to the Test-First Programming concepts of Kent Beck’s Extreme Programming. This is opposed to software being developed first and test cases created later.

Test Driven Development starts with designing tests and make them fails. After…

Michael Susanto

Currently studying at Faculty of Computer Science, Universitas Indonesia.

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