Writing about my job: Software Engineer at Wave - EA Forum (2023)

In response to Aaron Gertler'spromptI'm writing a bit about my job. I hope this will be useful to software engineerswho are in positions where their work is not EA relevant and EAs who areconsidering software engineering as a career path.

Edit: I just noticed that in the time since I started writing this post someone else has posted about working as a web developer. Luckily I've mostly focused my position at Wave whereas they've written about being a software engineer in general, so I think the posts are complimentary.

I work as a lead software engineer for Wave mobilemoney. We're working to build radically inclusive andaffordable financial infrastructure in sub-Saharan Africa. My job is a mixtureof programming, mentoring/leading other engineers on my team, and a bit ofproduct design work. I work full remotely from Manchester, UK.

The job is EA-relevant in two ways:

  1. Directly - Wave is dramatically cheaper than competitors, so we save people alot of money for people who often don't have much money in the first place.My rough estimate for the reduction in fees vs competitors is 20 million USDper month, and we're growing so this is constantly increasing!

    Less concretely there are also benefits from having a reliable, fast, andwidely used mobile-money network available, see e.g.link orlink.

  2. Donations - with most jobs pay is heavily location dependent, but I'm notwilling to make the sacrifice of living somewhere that will leave me isolatedfrom my friends and family in order to earn more money. Wave's pay is(almost) location-independent so as a European software engineer working forWave allows me to donate substantially more than I would otherwise. It'sroughly 3x-10x+ depending on how much the equity ends up being worth.

    (Video) SOFTWARE ENGINEER Interview Questions & TOP SCORING ANSWERS!

    Wave also matches donations up to $10,000 per year which adds another ~1x.

Of these two I think the direct work is probably the more valuable part: eventaking the fee savings alone and dividing evenly over all Wave employees wouldbe around 500K USD per Wave employee per year. But a software engineering roleprobably contributes more than say a callcenter role so my contribution isprobably more than that. Then there's the potential for massive continued growthof Wave which could amplify the impact of work done now by 10-100x.

It's not completely clear-cut though since 1. the largest fee savings/mobilemoney network benefits will probably go to richer people and 2. GiveWellestimates AMF donations to be around 10x morevaluablethan cash transfers.

I think there's a pretty standard route to getting a software job (i.e. STEM orCS degree then junior eng role, maybe with some self-driven learning or abootcamp first), but I'll describe my path anyway because it was slightlynon-standard:

  • Maths and Physics undergraduate - I think this was very helpful in getting theright mindset for software engineering and learning hard things in general,but only a tiny fraction of what I learned during my undergraduate is actuallyrelevant to my job.

  • PhD in computational physics - this is when I really learned to program well.I was working on large complex software so I was forced to use proper softwareengineering best practices to be able to deal with it. I think this was a bighelp in getting to where I am now. Still not sure if I would recommend doing aPhD though: it was definitely bad for my mental health.

  • 4 years as a software engineer at Biosite - more technical skills, and generalsoftware work experience. Also my introduction to the idea of prioritisingwork based on impact rather than just trying to do everything at once. (Reallywish I'd been pushed to think about this more during my PhD!)

As well as the above I've spent a lot of time (a few hours a week for ~6 years)writing open source software for fun in my spare time and reading books on thesubject. I think this probably helped to prepare me for the job as much or morethan my undergraduate degree. Possibly even more than a CS undergraduate wouldhave done.

(Video) How to know if it’s time to change careers | The Way We Work, a TED series

Disclaimer: this is written from memory from 2 years ago, I might not have goteverything right.

The application process took a fairly typical amount of work for a software jobin my experience. It took around 10-12 hours total (including prep) over 4parts: 2 coding exercises and 2 chats. Everyone I interacted with was friendlyand pleasant throughout, I think it would have been a positive experience evenif I didn't get the job.

The first chat was just a general intro to Wave and opportunity to askquestions. I didn't explicitly prep for this but I had a few questions anyway. Inretrospect I probably should have spent some time thinking of more questions.

Then there were the programming exercises. These were both intense but fun, Ithink it was around 6 hours total + a couple of hours prep. At the time therecommended prep was something fairly wishy-washy like "think about how to solvethe problem but don't write any code" (I think this has changed since). So I didthis recommended prep and I also made sure I was familiar with all thetechnologies that I would be using by writing a quick implementation of sometrivial application with same language and framework. I think I'm happy with theamount of prep that I did. I found out afterwards that I did fine on both of theexercises, but while I was doing them I felt like there wasn't enough time tofully solve the exercise (this was probably intentional). That was what made itfeel intense.

Finally there was the last interview with one of the founders. I think this wasa final check for culture fit, we talked about things along the lines of why Iwanted to work for Wave, what motivates me in general, etc. As with the otherchat I didn't really spend any time prepping for this and maybe I should havedone something more.

Pretty quickly after the last interview (I think it was same or next day) I gota job offer. I took a day or so to think it through to be completely sure thatit was what I wanted, but really there was no way I was going to say no!

I applied for another job at the same time as I applied for Wave. The other jobwas some boring corporate transportation arranging startup who rejected me (oneof the reasons was because I didn't seem excited enough about their product, soI guess they got that right!). Their application process was fairly similar tothe Wave one. Doing two applications at once was manageable but I don't think Icould have handled more than 3 applications while also working full time.

What I spend my time on

This varies a lot from week-to-week, but as a rough estimate:

(Video) The real DARK WEB 😱 // How you can get easy access // Ransomware awareness

  • ~40% of my time writing code
  • ~25% of my time on supporting/mentoring the other software engineers on myteam - helping them with any tricky problems, giving guidance on technicaldesigns, etc.
  • ~25% of my time working on product design problems - digging into data toanswer questions or look for issues; working out how to make new features easyto use, secure, and reliable.
  • ~10% of my time arranging other things - trying to make sure all of the piecesare in place for projects to go smoothly, ensuring that the right people aretalking to each other, etc.

I'm the tech lead for my team, so most software engineers spend less time onmentoring/product/arranging things and more on writing code than I do. But Wavegenerally encourages all engineers to get involved in product decisions and takefull ownership over the problems they are solving, so there might still be morenon-programming work than at other companies.

More specifically: I work on the integrations team, where we build features thatinteract with systems run by other companies. The most common example of thiskind of feature is enabling users to pay their bills in the Wave app. This mightsound simple and boring but (for better or worse) many of our partners have veryidiosyncratic APIs. So every new integration is an interesting challenge infiguring how we can adapt to the specific functionality and requirements of thatparticular API.


For Wave in particular:

For software engineering in general:

  • It's an interesting and intellectually challenging role. There are morechallenging roles, but I find that software engineering has a nice balancebetween "hard enough to be interesting" and "so hard you fail all the time".

    (Video) Faculty Forum Online, Alumni Edition: The World According to Deep Learning and Second-Wave AI

  • The compensation is good, although it's usually only really really good inparticular cities.


For Wave in particular:

  • Fully remote work can be isolating, this is usually counteracted by regularcompany trips to the countries where we operate but covid has obviouslysuspended that.

  • Working on technology in Africa can be... challenging, e.g. there are few/nodatacenters - you either run your own machines or use hardware on anothercontinent; the reliability of everything is relatively low - power andinternet outages happen semi-regularly both for us and for our partnercompanies; the regulatory environment can be confusing, bureaucratic, and/orineffective.

For software engineering in general: it definitely requires a love of andaptitude for learning about technical subjects.

If you have any follow up questions feel free to post them here or email me at"davidshepherd7 [at] gmail".

We're currently hiring software engineers, product managers, and a bunch ofother remote positions. So if any of what I've described sounds like somethingyou would be interested in doing then please reach out and/or check out ourjobs page.


How do I write a job description for a software engineer on Linkedin? ›

Keep your Job Descriptions short and sweet

Make sure it's clear how much you're using each skill and highlight the languages that you enjoy working with – you'll notice that you won't receive as many random job requests, but more targeted roles will be sent your way.

How do I write a career aspiration for a software engineer? ›

Here are some examples of technical career goals for software engineers: Become an expert in programming languages JavaScript and Python. Strengthen data management skills by working with DBMS systems. Work on a system that has 3 million data requests per minute to enhance data management experience.

What is the job of software engineer * 1 point? ›

Software engineers design and create computer systems and applications to solve real-world problems. Software engineers, sometimes called software developers, create software for computers and applications.

How do you answer why do you want to be a software engineer? ›

Top five reasons to become a Software Engineer
  1. Being a Software Engineer is a continuous learning process. ...
  2. One will find creativity in Software Engineering. ...
  3. Software Engineers has Problem Solving Ability. ...
  4. There is a huge demand for Software Engineers. ...
  5. The payment is good as a software engineer.

How would you describe yourself as a software engineer? ›

Begin your self-introduction with an overview of your career, starting with the present. For example, you might say, “I'm an experienced software engineer” to clarify your current level and role. Continue the overview with a brief mention of how long you've worked in the field and what kind of work you do.

How would you describe a good software engineer? ›

Scalable Path founder Damien Filiatrault has identified 7 qualities that will mark you out as a great programmer.
  • Positive Attitude. A great programmer is ambitious and eager to do their best. ...
  • Good Communication Skills. ...
  • Time and Task Management. ...
  • Quick Learning. ...
  • Technical Experience. ...
  • A Good Team Player. ...
  • End-User Focus.
17 Jun 2021

How do I write a career aspiration statement? ›

You have two main objectives when answering the question, “What are your career aspirations?”:
  1. Demonstrate that your aspirations align with the company's vision and long-term goals.
  2. Show the interviewer how the role will help you gain the skills and experience necessary to achieve your career aspirations.

How do you write a career aspiration example? ›

Examples of career aspirations might include:
  • Working in an industry that you're passionate about.
  • Managing or leading successfully.
  • Using your talents or skills in a role.
  • Starting or owning a business.
  • Earning accolades for expertise.
16 Aug 2022

What are you passionate about software engineer? ›

Passion produces amazing outcomes. I think that great software developers are passionate about coding and problem solving in general. We like to solve puzzles. We like to sink our teeth into a problem, break it down, and work out the best solution.

What skills do Software engineers need? ›

You'll want to focus on developing these core skills.
  • Computer Programming and Coding. ...
  • Software Development. ...
  • Object-Oriented Design (OOD) ...
  • Software Testing and Debugging. ...
  • Problem Solving and Logical Thinking. ...
  • Written and Verbal Communication. ...
  • Teamwork. ...
  • Find a Home for Your Software Engineering Skills.

What is the most important part of the software engineer role for you? ›

Keep Learning. Finally, the most important thing every software engineer should know is that the learning process never ends. Most of us started working on monolithic systems, hosted by company-owned servers. Software came with high licensing costs and was written in bygone programming languages.

What do Software engineers do all day? ›

Software engineers spend their day solving problems in web applications and programs, writing code, attending meetings, and collaborating with their peers. They usually work on several projects at once.

Why should we hire you software engineer example? ›

Over the years, I have acquired relevant skills and experience, which I shall bring to your organization. I have also worked tirelessly on my communication abilities and teamwork skills, which I will put to use in my future career, which would be in your organization if I am selected for the position.

Why are you interested in this position? ›

“Why are you interested in this position?” asks you to describe your existing skills, what you value in the company, and your knowledge about the company and its goals as they relate to this specific role.

Why do you enjoy software engineering? ›

Software engineering is known for its fast-paced and innovative nature. Businesses are constantly looking for more convenience, automation of tedious tasks, and more. The high demand for customised, high-quality solutions will continue to drive the need for software engineers.

How do I tell something interesting about myself? ›

What Are Examples of Interesting Things About Yourself?
  1. An interesting hobby.
  2. A less common instrument you play.
  3. A weird sport you practice.
  4. An interesting language you're learning.
  5. Your biggest achievement at work.
  6. Your biggest achievement outside of work.
  7. A unique life experience.
  8. A hidden talent.
23 Aug 2022

What are the five qualities of good software? ›

The common requirements that all software applications must satisfy to be successful: user experience, availability, performance, scalability, adaptability, security, and economy. All seven qualities are important, but if you get the user experience (UX) wrong, nothing else matters.

What are the ideal top 3 traits of a software engineer? ›

What Makes a Great Software Engineer? Quality #1: Experience and Intuition. Quality #2: Attention to Detail. {Quality #3} Quick Self-Learning, Flexibility, and Adaptability.

What are the 3 most important skills of a great developer? ›

Having excellent problem-solving skills, confidence to achieve, and a can-do attitude toward any challenge are important software developer competencies, which make that developer a valued resource in any organization.

How do you write a career summary? ›

Here's how to write a resume summary:

Describe your strong character traits in just a couple of words. Mention your current job title and professional experience. Say how you want to help the employer achieve their goals. Add info on your key achievements to prove you can deliver results when hired.

How do you write a career goal summary? ›

How to write a career goal statement
  • Think about your passions. One of the best ways to realize your career goals is by understanding what you're passionate about. ...
  • Do your research. ...
  • Ask yourself important questions. ...
  • Set SMART goals. ...
  • Develop an action plan. ...
  • Adjust accordingly.

What should I write for career goals and aspirations? ›

In this article, we'll take a closer look at these common examples of career goals:
  • Advancing to a leadership position.
  • Becoming a thought leader.
  • Working toward professional development.
  • Shifting into a new career path.
  • Experiencing career stability.
  • Creating a career goal.
13 Jul 2022

What do I see myself in 5 years? ›

Tips for Answering 'Where Do You See Yourself in 5 Years? '
  1. Show how your professional goals and the job you're applying for align.
  2. Focus on the skills you want to learn and get better at.
  3. Don't get too specific with job titles or time frames.
  4. Never say “I want your job,” “I don't know” or “Not here!”
8 Jul 2022

What makes you unique explain? ›

“What makes you unique?” actually translates to “What skills, qualities and experiences make you the best candidate for this job?” By asking this question, employers are inviting you to brag about yourself and your best qualities, and tell them what differentiates you from other graduate candidates.

What do u see yourself in 5 years? ›

In the next five years, I would see myself as a person with more knowledge and experience and which will improve my skills and enhance my knowledge I think that working in your organization will improve my experience and expertise.

Which field is best in software engineering? ›

22 examples of the best jobs for software engineers
  • 15. Development operations engineer.
  • Backend engineer.
  • Software engineering lead.
  • Application security engineer.
  • Data engineer.
  • Software architect.
  • Computer vision engineer.
  • Machine learning engineer.

Which language is best for software engineer? ›

Python and C++ are two of the best programming languages for software development, though each language has its ideal uses. Python is versatile in its practical applications; developers often use it to power artificial intelligence, machine learning, web, and development.

What is difference between software engineer and programmer? ›

Whereas a programmer would focus on a single stage in the development cycle, a software engineer oversees the development process from start to finish. Some software engineers will advance into the role of software architect, creating the blueprints or guidelines for a software's framework.

Are software engineers happy? ›

Based on a small survey of 350 respondents, some 70.3 percent of developers said they were happy at work, versus 14.4 percent who said they were unhappy, and 15.3 percent who claimed indifference.

Do software engineers have a good life? ›

Yes, software engineers do have a good life. Software engineers earn high salaries and because of the high demand for professionals in this field, they enjoy job growth opportunities and job security.

How long do software engineers stay at their first job? ›

A fairly normal number I've seen thrown around is to stay with your company for two years. This gives you enough time to build compelling relationships with others, you can complete a few projects, and your salary shouldn't stagnate.

Why do we hire you best answer? ›

Show that you have skills and experience to do the job and deliver great results. You never know what other candidates offer to the company. But you know you: emphasize your key skills, strengths, talents, work experience, and professional achievements that are fundamental to getting great things done on this position.

What qualities make you a good candidate? ›

Desired Candidate Attributes
  • Leadership. Even in entry-level positions, most employers look for evidence of leadership qualities. ...
  • Teamwork. ...
  • Communication and Interpersonal Skills. ...
  • Analytical Skills. ...
  • Dependability and a Strong Work Ethic. ...
  • Maturity and a Professional Attitude. ...
  • Adaptability and Flexibility. ...
  • Good Personality.

What makes you a good fit for this job? ›

For example, you might explain that you are particularly motivated, or that you are known for going above and beyond for your employers. A second way to answer is to emphasize your unique skills. If you have skills that make you a strong candidate (especially if not many people have those skills), mention these.

How do I say I am interested in this position? ›

Examples of asking also include: "I'm honestly looking forward to working with this company." "You all seem like a great team, and I'd be honored to work with you." "I'm very interested in the job, but do you have any concerns as to how well I can perform?"

Why do you work with us? ›

I am a fresher, I thought this is a good platform to start my career. I see this opportunity as a way to contribute to a fast-moving company. I feel my skills are particularly well-suited to this position because "I believe I have the type of knowledge to succeed in this role and at the company.

How do I write a job description on LinkedIn? ›

Be specific when describing roles and responsibilities. Outline any specific requirements (sometimes the best candidates may not match every single one). Link to your company's LinkedIn Page by choosing your company name from the dropdown list. Describe your company if it's not well known.

How do I write my LinkedIn summary for IT engineer? ›

How to Write a LinkedIn Summary
  1. Start With a Hook. ...
  2. Provide Viewers With a Unique Selling Proposition. ...
  3. Highlight Your Accomplishments. ...
  4. Include a Call to Action. ...
  5. Keep it Concise. ...
  6. Use SEO Keywords. ...
  7. Make Use of Whitespace. ...
  8. Write in the First Person.
29 Aug 2022

What should LinkedIn software engineers Post? ›

You want to make your software engineer posting is clear, direct, and brief. Introduce your company in a way that includes a little about your mission, values, and culture. Explain the contributions of this role—and tell candidates why they'll be crucial.

How do I write a short description about my job? ›

Your job description should be short and sweet. It's crucial to highlight the position's value and its benefits to your organization. If possible, try to trim it down to only a few sentences. There should be a list of all the essential duties and daily responsibilities involved with the position in your description.

How do I write my own job description? ›

Briefly summarize the job's essential duties in one statement, then create a list of daily responsibilities. List duties in order from most to least important. Give yourself enough responsibilities to make the job worthwhile, but not so many that it seems unreasonable or overwhelming.

How do you write a brief description of a job profile? ›

A job description contains the following components: job title, job purpose, job duties and responsibilities, required qualifications, preferred qualifications, and working conditions.

What should I write about me example? ›

I am outgoing, dedicated, and open-minded. I get across to people and adjust to changes with ease. I believe that a person should work on developing their professional skills and learning new things all the time. Currently, I am looking for new career opportunities my current job position cannot provide.

How do you write a professional profile about yourself? ›

  1. Introduce yourself. Begin your bio by stating your first and last name. ...
  2. State your company or brand name. ...
  3. Explain your professional role. ...
  4. Include professional achievements. ...
  5. Discuss your passions and values. ...
  6. Mention your personal interests.
3 Sept 2020

How do you introduce yourself on LinkedIn? ›

Hi ABC, I just wanted to reach out to you as a fellow XYZ professional. I love connecting with people on LinkedIn who are active and share their insights. Let's connect on LinkedIn so we can stay in touch for any future opportunities to work together.

Which skill is best for software engineer? ›

You'll want to focus on developing these core skills.
  • Computer Programming and Coding. ...
  • Software Development. ...
  • Object-Oriented Design (OOD) ...
  • Software Testing and Debugging. ...
  • Problem Solving and Logical Thinking. ...
  • Written and Verbal Communication. ...
  • Teamwork. ...
  • Find a Home for Your Software Engineering Skills.

What are your goals as a software engineer? ›

Here are 16 career goals for software engineers to help you set yours:
  • Publish an article. ...
  • Present at a conference. ...
  • Specialize in a programming language. ...
  • Pursue additional education. ...
  • Build your network. ...
  • Lead a software development project. ...
  • Pitch a project idea. ...
  • Earn a specific job title.


1. Ben Kuhn - productivity, college, job choice, the value of an inside view, the EA community...
(Alexey Guzey)
2. Bored out of your mind at work? Your brain is trying to tell you something. | Dan Cable | Big Think
(Big Think)
3. How to do good as a software engineer | Benjamin Hilton | EAGxOxford 22
(Centre for Effective Altruism)
4. AI will kill all jobs in this world, really?
5. EAs in entrepreneurship | Panel | EA Global: San Francisco 2017
(Centre for Effective Altruism)
6. Fin Moorhouse - Longtermism, Space, & Entrepreneurship
(Dwarkesh Patel)
Top Articles
Latest Posts
Article information

Author: Dong Thiel

Last Updated: 12/29/2022

Views: 5733

Rating: 4.9 / 5 (59 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.