CINXE.COM
Wave
<!doctype html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous"> <link rel="stylesheet" href="/walsheim.css"/> <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="/main.css"> <link rel="icon" type="image/png" href="/img/favicon.png"> <script async defer data-domain="wave.com" src="https://plausible.io/js/plausible.js"></script> <title>Wave</title> <link rel="alternate" type="application/rss+xml" href="https://www.wave.com/en/blog/index.xml" title="Wave" /> </head> <body> <header> <nav class="navbar navbar-expand-lg navbar-light"> <a class="navbar-brand" href="/en/"><img src="/img/nav-logo.png" class="logo-small" alt="Wave logo"></a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapsible" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarCollapsible"> <ul class="navbar-nav mr-auto"> <li><a href="/en/">Personal </a></li> <li><a href="/en/business/">Business </a></li> </ul> <ul class="navbar-nav ml-auto"> <li><a href="/en/about/">About</a></li> <li><a href="/en/careers/">Careers</a></li> <li><a href="/en/blog/">Blog</a></li> </ul> </div> </nav> </header> <main id="blogPage"> <div class="blogContainer"> <section id="blogContent"> <h2>Blog</h2> <ul id="postContainer"> <article id="latestPostPreview"> <a href="/en/blog/tryhard/"> <div class="imgContainer"><img class="featuredImage" src="/img/blog/fishbackpack.svg" alt="Care a lot and try hard"></div> <h3 class="blogTitle">Care a lot and try hard</h3> <div class="byline"> <img class="authorThumbnail" src="/img/blog-authors/zach-abugov.jpg" alt="picture of Zach Abugov"/> <div class="authorDescription"> <div class="name-and-date"> <span class="name">Zach Abugov </span> <span class="date"><span class="date-on"> on </span>March 15, 2022</span> </div> <div class="tag"><div class="tag-text">culture</div></div> </div> </div> <div class="text"> Joyce opened the backpack and dumped a heap of cash onto the table. A powerful odor of fish filled the room. She and Ben looked up at me: wide-eyed, fresh off the plane, first time in Senegal. “Don’t worry,” Ben deadpanned. “This is a totally legitimate company." Mbour, Senegal, July 2018. I had just flown in from Myanmar, where I’d been working on conflict prevention, to interview for a job at Wave. </div> </a> </article> <article class="postPreview"> <a href="/en/blog/simple-architecture/"> <h3 class="blogTitle">Some benefits of simple software architectures</h3> <div class="byline"> <img class="authorThumbnail" src="/img/blog-authors/dan-luu.jpg" alt="picture of Dan Luu"/> <div class="authorDescription"> <div class="name-and-date"> <span class="name">Dan Luu </span> <span class="date"><span class="date-on"> on </span>March 9, 2022</span> </div> <div class="tag"><div class="tag-text">engineering</div></div> <div class="tag"><div class="tag-text">culture</div></div> </div> </div> <div class="text"> Wave is a $1.7B company with 70 engineers1 whose product is a CRUD app that adds and subtracts numbers. In keeping with this, our architecture is a standard CRUD app architecture, a Python monolith on … </div> </a> </article> <article class="postPreview"> <a href="/en/blog/world/"> <div class="imgContainer"><img class="featuredImage" src="/img/blog/whywave.jpg" alt="Working at Wave is an extremely effective way to improve the world"></div> <h3 class="blogTitle">Working at Wave is an extremely effective way to improve the world</h3> <div class="byline"> <img class="authorThumbnail" src="/img/blog-authors/ben-kuhn.jpg" alt="picture of Ben Kuhn"/> <div class="authorDescription"> <div class="name-and-date"> <span class="name">Ben Kuhn </span> <span class="date"><span class="date-on"> on </span>July 8, 2021</span> </div> <div class="tag"><div class="tag-text">culture</div></div> </div> </div> <div class="text"> My favorite thing about working at Wave is knowing that what we’re building makes a massive, tangible improvement to the lives of millions of people. This matters to me for a few reasons: It pushes … </div> </a> </article> <article class="postPreview"> <a href="/en/blog/coding/"> <div class="imgContainer"><img class="featuredImage" src="/img/blog/android_dataflow.jpeg" alt="Our design and coding guidelines"></div> <h3 class="blogTitle">Our design and coding guidelines</h3> <div class="byline"> <img class="authorThumbnail" src="/img/blog-authors/ben-kuhn.jpg" alt="picture of Ben Kuhn"/> <div class="authorDescription"> <div class="name-and-date"> <span class="name">Ben Kuhn </span> <span class="date"><span class="date-on"> on </span>August 1, 2019</span> </div> <div class="tag"><div class="tag-text">engineering</div></div> </div> </div> <div class="text"> This document grew out of our internal “questions to ask during code review” checklist: we realized that if we turned the questions into advice, it made a great summary of what we think … </div> </a> </article> <article class="postPreview"> <a href="/en/blog/android/"> <div class="imgContainer"><img class="featuredImage" src="/img/blog/android-screenshot.jpg" alt="Our Android framework"></div> <h3 class="blogTitle">Our Android framework</h3> <div class="byline"> <img class="authorThumbnail" src="/img/blog-authors/ben-kuhn.jpg" alt="picture of Ben Kuhn"/> <div class="authorDescription"> <div class="name-and-date"> <span class="name">Ben Kuhn </span> <span class="date"><span class="date-on"> on </span>July 29, 2019</span> </div> <div class="tag"><div class="tag-text">engineering</div></div> </div> </div> <div class="text"> We built our first Android app in 2014. Like most 2014-era Android apps, it was a mess of fat Activities, heavily-nested callbacks, and spaghetti dataflow. Fortunately, since then Google has iterated … </div> </a> </article> <ul class="pagination"> <li class="paginate-previous"> <a href="/en/blog/" class="paginate-previous"> Previous </a> </li> <li class="pagination-number-container"> <div class=""> <a href="/en/blog/"> 1 </a> </div> <div class=" pagination-current-item "> <a href="/en/blog/page/2/"> 2 </a> </div> <div class=""> <a href="/en/blog/page/3/"> 3 </a> </div> </li> <li class="paginate-next"> <a href="/en/blog/page/3/" class="paginate-next"> Next </a> </li> </ul> </ul> </section> <section id="blogSidebar"> <div class="subscribe"> <h4>Subscribe (<a href="https://www.wave.com/en/blog/index.xml">RSS</a>)</h4> <p>We'll email you when we write new blog posts!</p> <div id="mc_embed_signup"> <form action="https://wave.us10.list-manage.com/subscribe/post?u=9c1c2a3d440cde1068d9c58dd&id=3de6dee936" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate> <div id="mc_embed_signup_scroll"> <div class="mc-field-group"> <input type="email" placeholder="Email Address" value="" name="EMAIL" class="required email" id="mce-EMAIL"> </div> <div id="mce-responses" class="clear"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_9c1c2a3d440cde1068d9c58dd_3de6dee936" tabindex="-1" value=""></div> <div class="clear"><input class="wavebutton" type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div> </div> </form> </div> </div> </section> </div> </main> <footer> <div class="waverow" id="recruitingFooter"> <h2>Ready to change the world?</h2> <a class="wavebutton" href="/en/careers/#roles">Explore roles</a> </div> <div class="main-footer"> <section class="logo-lang"> <a class="logo" href="/en/"><img src="/img/nav-logo.png" class="logo-small" alt="Wave logo"></a> <div class="lang-menu btn-group dropup"> <button type="button" class="btn dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <h5>English</h5> </button> <div class="dropdown-menu"> <a class="dropdown-item" href="/en/blog/">English</a> <a class="dropdown-item" href="/fr/blog/">Français</a> </div> </div> <p class="copyright"> © Wave Mobile Money Inc. </p> </section> <section class="wavecol" id="footer-navigation"> <h5>Company</h5> <ul> <li><a href="/en/about/">About Us</a></li> <li><a href="/en/careers/">Careers</a></li> <li><a href="/en/blog/">Blog</a></li> </ul> </section> <section class="wavecol" id="footer-navigation"> <h5>Legal</h5> <ul> <li><a href="/en/terms_and_conditions/">Terms and Conditions</a></li> <li><a href="/en/security/responsible_disclosure">Responsible Disclosure</a></li> <li><a href="/en/wdf/">Wave Digital Finance</a></li> <li><a href="/en/privacy/">Privacy Notice</a></li> </ul> </section> <section class="wavecol"> </section> <section class="download-links"> <a href="https://play.google.com/store/apps/details?id=com.wave.personal"><img class="download-badge" src="/img/en/google-play-badge.png" alt="Get it on Google Play"></a> <a href="https://itunes.apple.com/sn/app/wave-mobile-money/id1523884528"><img class="download-badge" src="/img/en/app-store-badge.svg" alt="Download on the App Store"></a> </section> </div> </footer> <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script> </body> </html>