Startup Talk #78 : Software Engineering Lesson Learned

Fruitful and Insightful Online Startup Talk Session with Ruangguru iOS Engineer

R Aditya P
Kabar Informatika
4 min readJul 8, 2021

--

APB Incubator with Informatics Study Program, University of AMIKOM Yogyakarta held an online startup talk session where the speaker was one of the students from the University of AMIKOM Yogyakarta who had quite a lot of exciting experience about software engineering. Dhiya Ulhaq Zulha Alamsyah, an iOS Engineer at one of the nation’s proud startups, Ruangguru.

What’s Software Engineering? What Does a Software Engineer Do?

Software engineering is a field of programming and production profession involved in the software development process. Software engineering commonly involves several things like; planning, design, continued development, and maintenance of a software application.

With their talent, software engineers can contribute to almost every manufacturing technology industry, such as; video games, business solutions, mobile applications, and network control systems built by software engineers.

Software engineers work in teams to build some programs, platforms, or applications. Generally, a software engineer figures out what problem their client is having figures out a solution to it, and works with their team to create a piece of software that solves the problem (even with additional work to keep that software usable and stable in the long term)

What’s the Most Important Lesson You’ve Learned As a Software Engineer?

According to Ulhaq on APB Incubator Talk (6/19/2021), “I feel as though my path has only just begun. However, I’ll share some of the important lessons that I’ve got as a software engineer for you guys!”

1. Tech

  • Reading docs is good
  • Think first, then write the code
  • Follow product requirements
  • You can implement everything. If not, you need more time
  • Do impact analysis
  • Test every small meaningful change
  • Create your utility function if needed
  • Use only production-ready framework/library for production software
  • Self review your code before merge request

2. Personal Improvement

  • The more you learn, the more you have to learn.
  • Please don’t reinvent the wheel; improve the wheel to make it better.
  • Under-promise over-deliver
  • Software Engineer is not just a typing master; they should be able to solve problems.
  • I know most of you are introverts, but be proactive in the team.

What Skills Does a Software Engineer Need?

Suppose you want to be a good-quality software engineer. In that case, you have to be methodological, able to solve problems in a reasonably efficient way, and you’re required to be able to think logically and abstractly.

Here’s a shortlist of the skills that I think you should have (in some cases, it will help you) as a software engineer:

  1. Problem-solving: Curiosity of something to understand the problem and fix it through trial and error is an essential thing that a programmer should have.
  2. Communication: This ability helps you to work well and be a good teammate, communicate effectively and have the desire to learn new skills are critical traits for a well-rounded software engineer. No matter how many coding languages you know, if you can’t communicate with your team to sort out an issue, you won’t be much help to the group or company as a whole.
  3. Computer Coding Language: As a software engineer, you need to know how to build things from scratch and integrate changes and updates into existing software. It requires strong coding skills. Whether you learned it in school, attended a coding boot camp, or earned a certification, be prepared to show off your coding skills.
  4. Constant practicing or self-learning: A good programmer needs to remain aware of the latest coding practices and tools to ensure their code is lean, efficient, and up-to-date.
  5. High-level abstraction: Solving a problem is difficult, but finding ways of turning your solution into a working written code is another challenge. A good programmer should be able to imagine real-world implementations of his solution.

How Much Does a Software Engineer Earn?

According to PayScale, the average annual salary of a software engineer in Indonesia is Rp 119,863,578/year.

This pay level depends on various factors, such as the number of years you’ve spent on the job. Here’s what PayScale says the average data scientist’s pay looks like throughout their career:

  • Beginner pay: Rp10,000,000 — Rp176,000,000 per year
  • Middle pay: Rp59,000,000 — Rp400,000,000 per year
  • Senior pay: Rp119,000,000 — Rp,246,000,000+ per year

Career Tips to Start As a Software Engineer that Every College Student Must Know

  1. Focus on what you want to do, not what you want to be
  2. Building your skills and LinkedIn connections
  3. Make your portfolio, show your talents and potential.
  4. Try to answer questions about programming on Codility or HackerRank.
  5. Seek internship or freelance opportunities related to software engineering

Thanks for reading, have a great day, and never stop learning!

--

--

Kabar Informatika
Kabar Informatika

Published in Kabar Informatika

Bacaan bagus seputar invoasi Teknologi Informasi, dikelola secara resmi oleh program studi informatika Universitas Amikom Yogyakarta

R Aditya P
R Aditya P