Langsung ke konten utama

Working from home: Upgrading your home office set-up for ultimate efficiency oleh - rambutpantene.uno

Halo sahabat selamat datang di website rambutpantene.uno , pada kesempatan hari ini kita akan membahas seputar Working from home: Upgrading your home office set-up for ultimate efficiency oleh - rambutpantene.uno , kami sudah mempersiapkan artikel tersebut dengan informatif dan akurat, silahkan membaca Reading Time: 5 minutes Ah, working from home. Once a luxury, now a necessity. With the COVID-19 outbreak expected to last till 2022, the Singapore government has made WFH the default for many of us. Hands up those of you who were just as shocked about the sudden announcements of circuit breaker! Homes were definitely NOT made for working ( *thinks fondly of bed and TV* )! For those of us stuck in WFH mode, here are some tips on how you can upgrade your WFH set-up easy peasy: The Essentials : Basic tips on how to work from home productively The Upgrades : Pointers to take to enhance work efficiency The Extras : Bonus suggestions to up your WFH game  The Essentials Hardly work

Ask an Engineer: Is It Ever Time for a Code Rewrite? oleh - rambutpantene.uno

Halo sahabat selamat datang di website rambutpantene.uno, pada kesempatan hari ini kita akan membahas seputar Ask an Engineer: Is It Ever Time for a Code Rewrite? oleh - rambutpantene.uno, kami sudah mempersiapkan artikel tersebut dengan informatif dan akurat, silahkan membaca

It’s been blamed for the downfall of companies from Borland to Netscape. Serial entrepreneur Steve Blank calls it “startup suicide.” Stack Overflow CEO Joel Spolsky claims it’s the “single worst strategic mistake that a software company can make.” What is this killer mistake? It’s the code rewrite, and it has a terrible reputation in the tech community.

To be sure, rewriting your app or website’s entire code base is a huge undertaking. However, there are definitely occasions when a code rewrite makes perfect sense. Maybe your existing code is written in an older, less flexible language that simply won’t do the things you need it to do today. If your app is small and just getting started, rewriting all its code from scratch might not be such a large overhaul.

Likewise, very large companies can sometimes absorb the costs of a rewrite without skipping a beat. Rumor has it that Amazon, Apple, and Foursquare have all, at one point or another, rewritten large chunks of their source code. If your company can survive the transition, it is definitely possible to gain huge cost savings over time by rewriting a system to be more efficient and to use fewer computing resources under the same load.

If your company is neither very large nor very small, though, how do you weigh the pros and cons of such a major change? Here are some tips, based on my own experience.

Tip #1: Beware of engineer bias

My company, Carousell, is a mobile classifieds marketplace with millions of unique users who access our app from hundreds of different devices. As with every fast-growing startup, one of our biggest challenges during our earlier years was our ongoing struggle with technical debt as we built and shipped new features for our users. The more changes we made to our mobile apps, the harder it was to develop new features on our backend API services. Our website and app started to run slower and slower. Pretty soon, the scuttlebutt in the engineering department had it that we needed to start over from scratch. We needed a code rewrite… or did we?

The ability to tinker with new technology is why I became a programmerâ€"and a code rewrite is a tinkerer’s dream. It is a big red reset button that sweeps away all past mistakes, and leaves you with a blank slate on which you can test new technologies. And therein lies the problem. Try as we might to be objective, engineers always have a vested interest in rewrites. The fact is, it’s much more fun to write new code than to read and debug code that already exists.

In my role as an engineering manager, however, I also had to think about the rewrite from a management perspective. Most developers (myself included) want to work with new technology, but if the technology is too new and untested, it can be buggy and unstableâ€"which can lead to more user experience problems than it’s worth. New technology ultimately has to benefit users, not just interest my employees. Which brings me to my next tip…

Tip #2: Be mindful of hidden time costs

In exchange for the freedom of rewriting our code, our company would have to give up the most important currency that startups have: time. As Wonolo CTO and Chief Data Scientist Jeremy Burton wrote in a great blog post on the subject, spending time on a code rewrite means spending time not updating your current code base, which could give your competitors time to pull ahead. A code base rewrite will also result in downtime while you’re testing new technology, which would be a worst possible case for users. Even worse, like any tech project, code rewrites can also end up taking much longer than expected, so any of these downsides can easily mushroom out of control.

Some of the time costs of rewrites are less obvious. For instance, many of the “fine hairs” sprouting from your existing code are bug fixes; they may look messy, but they represent the results of years of testing and fine-tuning based on user feedback. If you rewrite your entire code base, you’ll be starting this fine-tuning process over from scratch. (After all, no code baseâ€"no matter how elegantly writtenâ€"is 100% bug-free.) If you’re trying to estimate how long a code rewrite will take your engineers, include the time spent debugging as well as just writing new documentation. Your bottom line will thank you eventually.

For us, the dealbreaker ended up being downtime: we simply couldn’t afford it. If our app didn’t work consistently, our large user base would quickly flock to another, more reliable app. Instead of a code rewrite, we needed a middle-of-the-road solutionâ€"and one that could be implemented with minimal testing.

Tip #3: Explore incremental alternatives

As we opted not to pursue a code rewrite, we decided to resolve our technical debt by moving towards microservicesâ€"a modular and highly scalable approach to software development employed by companies from Netflix to Amazon. Instead of maintaining one monolithic code base, we would reorganize our code into smaller, independent modules that could be updated one at a time. This new architecture would allow us to support new features and resolve existing technical issues without rewriting the entire code base.

To support our plans to move towards microservices, we migrated our existing backend service to the software containerization tool, Docker. At three years old, Docker wasn’t the newest, most exciting technology aroundâ€"but it had been thoroughly tested by other companies, and most of its bugs identified and resolved. That meant we could deploy it with relatively little risk. (It also helped that it was open-source, and therefore free for us to access.)

After testing, we discovered we liked Docker combined with Kubernetes, an open source software designed to manage containers like the ones that Docker is based on. By putting Docker and Kubernetes together, we built a custom solution that now serves all of our production trafficâ€"all with minimal downtime while preserving most of our existing code. This custom solution will enable us to incrementally upgrade parts of our codebase using microservices in the future, with no visible downtime or impact on users in the event of an unsuccessful rollout.

How do you decide?

There’s no one-size-fits-all solution to technical debt. If your business is established with a lot of legacy code, even our strategy of co-opting an open source solution might be too risky for you. For a smaller, less established startup, it might be too piecemeal. You have to decide what your company’s priorities are, and then proceed from there. In our case, we decided to value minimal downtime for users over the excitement of rebuilding our software from scratch. Your case may very well be different.

In an ideal world, however, this weighing process doesn’t become a push-and-pull between what’s exciting for developers to work on and what’s good for users. Instead, creating the best possible user experience becomes part of what makes the developer’s job intellectually stimulating. I know that’s how it feels to me.


With contribution from Lauren Orsini of the Hippo Thinks research network.

This article first appeared in AlleyWatch on 6 March 2017.  

Itulah tadi informasi dari poker online mengenai Ask an Engineer: Is It Ever Time for a Code Rewrite? oleh - rambutpantene.uno dan sekianlah artikel dari kami rambutpantene.uno, sampai jumpa di postingan berikutnya. selamat membaca.

Komentar

Postingan populer dari blog ini

8 Surprising Items Sitting In Your Home That People Will Pay For oleh - rambutpantene.uno

Halo sahabat selamat datang di website rambutpantene.uno , pada kesempatan hari ini kita akan membahas seputar 8 Surprising Items Sitting In Your Home That People Will Pay For oleh - rambutpantene.uno , kami sudah mempersiapkan artikel tersebut dengan informatif dan akurat, silahkan membaca We all have those things sitting in our home that are too good to throw out â€" but that we never thought someone would pay for. We leave them there, languishing in a cupboard, even though we never use them, even though we spent money on them, and even though somebody else might want them. Surprisingly, a lot of the things sitting in your home can prove highly popular when you sell them online, especially when they’re reasonably priced . Think of the old saying, ‘One man’s trash is another man’s treasure’ . There is a much bigger market than you might think for secondhand goods. While they may not sell for the original price you bought them for, they can definitely rake in a bit o

How the circuit breaker changed us for good oleh - rambutpantene.uno

Halo sahabat selamat datang di website rambutpantene.uno , pada kesempatan hari ini kita akan membahas seputar How the circuit breaker changed us for good oleh - rambutpantene.uno , kami sudah mempersiapkan artikel tersebut dengan informatif dan akurat, silahkan membaca Woke up 30 minutes before work and still had time to enjoy a hearty breakfast? Or broke a sweat for a fitness challenge when the only thing you used to break were hearts? Yeah, these are just two of the many changes that happened because of COVID-19.  Read on and see if you can identify with any of these crazy changes that happened to you or your friends during this circuit breaker.  1. From ALL-MADE-UP to “JUST THE FACE WILL DO” Strutting around in a new outfit and waxing/shaving our body hair away were de rigueur for a lot of working adults. Also the #1 reason why it’s so difficult to get an appointment at hair and nail salons on the weekends. Men included. GIF credit: giphy.com But ever since the ci

Working from home: Upgrading your home office set-up for ultimate efficiency oleh - rambutpantene.uno

Halo sahabat selamat datang di website rambutpantene.uno , pada kesempatan hari ini kita akan membahas seputar Working from home: Upgrading your home office set-up for ultimate efficiency oleh - rambutpantene.uno , kami sudah mempersiapkan artikel tersebut dengan informatif dan akurat, silahkan membaca Reading Time: 5 minutes Ah, working from home. Once a luxury, now a necessity. With the COVID-19 outbreak expected to last till 2022, the Singapore government has made WFH the default for many of us. Hands up those of you who were just as shocked about the sudden announcements of circuit breaker! Homes were definitely NOT made for working ( *thinks fondly of bed and TV* )! For those of us stuck in WFH mode, here are some tips on how you can upgrade your WFH set-up easy peasy: The Essentials : Basic tips on how to work from home productively The Upgrades : Pointers to take to enhance work efficiency The Extras : Bonus suggestions to up your WFH game  The Essentials Hardly work