-
Please describe an interest, favorite activity, or hobby of yours. It could be anything: just something you enjoy doing. For this particular answer, please only write up to 60 words and do it in a way that captivates your readers (us!).
I have a dream of becoming a top software engineer, so I love discovering new technologies and honing my skills. Whether it’s coding for personal projects or learning the latest trends in software engineering, I’m always looking for ways to level up. I don't have much free time, so I accelerate my growth by investing in well-designed courses on platforms like Udemy.
-
What is most important to you when you look for a new job? Please be completely honest and transparent about your situation and season of life; we’re not looking for “the right answer”. The more you tell us, the better we can align.
When I look for a new job, career growth and competitive salary are both important factors for me. At this stage of my career, I am focused on opportunities that offer substantial learning and advancement potential, along with a compensation package that reflects my skills and contributions.
The software engineering position this vacancy offers aligns well with my interests, as it is a role I would enjoy. If it also supports my goals for career advancement and provides a competitive salary, it would be an excellent fit for me.
-
Everyone learns differently. How do you learn best? And what’s something new that you’ve learned in the past few months? Big or small, we’re curious!
I love learning from online courses from experts, it saves my time as I don’t have to search for good resources myself. Certifications are also great. And company benefits like skill development benefits will help me a lot. I am currently planning to pursue my first AWS certification which is AWS Cloud Practitioner Certification and trying to learn WordPress development so that I can build website products faster.
-
How did you hear about this open position?
I learned about this open position through Laravel News/Larajobs on LinkedIn.
-
Show us some examples of concrete work you’re proud of having done yourself. Please tell us why you are proud of what you sent us. Please be as specific as possible.
My latest project is the fajarwz/laravel-review package. This was a personal goal for me this year, and it provided valuable experience in package development. I’m proud of it because it has the potential to benefit many developers around the world by offering a useful tool in the Laravel ecosystem.
Another project is RDIS, which I’m currently working on in my current role. It’s a platform designed to introduce the stock market to the educational community in Indonesia (RDIS Website). I’m particularly proud of this project because it has the potential to make a substantial impact on people’s investment knowledge and financial literacy across the country.
-
Can you give a concrete example of a recent situation where you “took ownership” of a task/project/etc at work and made something truly positive happen? How do you define “taking ownership” of your work?
Recently, I’ve taken semi-leadership on my company’s RDIS project. The project managers and system analysts often rely on me for critical tasks like server management, documentation, and deployment, in addition to web development. To me, taking ownership means not just completing my tasks but ensuring the project’s overall success. Thanks to this approach, we’ve successfully delivered multiple versions across different development phases. This hands-on involvement is also a great opportunity to learn new skills that will benefit me long-term.
-
What are the key skills you (would) bring to an asynchronous and remote work environment? What key skills do you feel you need to improve for you to fully thrive in such an environment?
In a remote work environment, I have strong skills in adaptability and clear communication. I also keep everyone informed through concise, effective messaging. However, I’m working on improving my ability to manage motivation. Self-motivation is essential for maintaining productivity and achieving goals. It helps prevent procrastination, and ensures consistent performance.
-
Which season of life are you currently in and what are your career goals? For example, are you in a season of life where you work long hours to learn as much as possible? Or in a season where you prioritize work-life balance because you’ve already gained substantial experience? The more transparency you give us, the better we can align and create common goals for your career.
I’m in a growth phase where continuous learning is a priority for me. While gaining valuable experience in my current role, I’m willing to expand my knowledge and hone my skills even further. I’m willing to invest the extra time and effort now, because I know it will lay the foundation for long-term career success.
-
What is your approach to monitoring the performance of live web applications? What techniques do you use to maintain good performance levels?
To monitor live web application performance, I use a combination of real-time monitoring tools, logging, and performance testing. I use tools like Google Analytics to track server load and user behavior. I use logging tools like Sentry to help capture and log errors and exceptions. I use stress testing technique using tools such as Locust to help measure the load an app can bear. To make the web run well from the start, I usually implement best practices wherever possible, such as good database structure, implementing caching strategies, database indexing, asset minification, image optimization such as compression or resizing, CDN, query optimization, code optimization, and so on. We can also scale up or slace out our hardware later if necessary. There are many things we can try. Automated testing should also be strongly considered so that we don't break something when we add or change codes, but I don't use it often with my current employer as our team has manual QAs and our leads don't consider it as mandatory. However, I'm fully capable of creating automated tests when needed.
-
Could you please send us a sample of some production code you have written and are particularly proud of or find intriguing? Please also explain why you are proud of this code or why you find it interesting. I understand that you are likely under an NDA for some of your code, so it doesn't need to be executable.
We're looking for something unique, so don’t worry if we can't fully grasp the context or the broader purpose of the code. In terms of language requirements, it can be any language you will use in your role.
This is one of my favorites:
private function filter(Builder $query): Builder { $this->init(); $hasNonEmptyFilter = $this->filter->contains(function (Collection|string $filter) { return is_iterable($filter) ? count($filter) > 0 : $filter !== ''; }); if ($hasNonEmptyFilter) { return $query->where(function (Builder $query) { $this->divisionsFilter($query); $this->directoratsFilter($query); $this->inherentRiskFilter($query); $this->currentRiskFilter($query); $this->residualRiskFilter($query); }); } return $query; }
I believe it demonstrates clean coding and good design principles for several reasons:
- This method is easy to read and understand. It starts by initializing the necessary initialization with
$this->init(), then explicitly checks if there is a non-empty filter with$hasNonEmptyFilter. If there is a filter, return the query with the filter query and do the early return, otherwise skip it. - Variable and method names like
$hasNonEmptyFilter,divisionsFilter(),directoratsFilter(),inherentRiskFilter(), etc., are descriptive and self-explanatory. No need for comments or other explanations. - Each method, including
filter(), performs a single, well-defined task. - The actual filter application is delegated to specialized methods like
divisionsFilter(),directoratsFilter(),inherentRiskFilter(), etc. This keeps thefilter()method clean and focused on its primary role of applying filters. It also makes it easier to modify or extend filter logic without altering the core filtering process.
- This method is easy to read and understand. It starts by initializing the necessary initialization with
Last active
September 10, 2024 06:29
-
-
Save fajarwz/ef89b3111326f371fec3f645c8cad016 to your computer and use it in GitHub Desktop.
Questions from IxDF
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment