All

SadaPay Wants You (to Become a Full Stack Engineer)

At SadaPay, we want to hire and train Full Stack Engineers.

A Full Stack Engineer is somebody who works on more than one layer of our technology stack, willing to jump in wherever they are needed and learning new tools and technologies as they go.

Giving people the freedom to work in multiple layers of our technology stack is good for everybody. It provides amazing learning opportunities for engineers, facilitates cross-pollination between disciplines, helps people develop Product Engineering skills, increases team autonomy and creates flexibility for our business.

Every Full Stack Engineer is different. You might be OK at everything or specialise in one area and be weaker in others. To us, full stack engineering is about being excited to work on the whole product, being eager to learn new technologies and being ready to go where you’re needed most.

How will I learn to be a Full Stack Engineer?

If you are currently working on a single platform, we won’t expect you to master a second outside of work hours. Instead, you can learn as you go.

At SadaPay we write vertical stories according to INVEST principles, so our stories cut through multiple layers of our technology stack. We also work in vertical teams, not in separate layers or functions. This creates a great opportunity – engineers can learn new platforms by picking up a vertical story with a cross-role pair.

For example, a Java back-end engineer can pair with an Android engineer to add a new field to our user details form. They start with the Android app, improving the Java back-end engineer’s Android skills. Then they move on to the back-end, building the Android engineer’s Java back-end skills. By the end of the story, both engineers understand the entire change end-to-end and are closer to mastering a second platform.

Syeda Quratulain Asad - Quality Assurance Engineer

Why SadaPay wants Full Stack Engineers

Learning

You wouldn’t be in this field if you didn’t enjoy constant learning, But how long has it been since you mastered a new language?

Almost every front-end engineer I have worked with was interested in learning more about the back-end. Many back-end developers are excited about working closer to their users. We’re excited to offer everybody who wants to learn a new part of our technology stack the opportunity to grow their capabilities and advance their career.

Cross-Pollination

Each discipline has technical and cultural strengths that it can contribute to other disciplines, if there are people to carry the knowledge across.

For example, React developers usually care about fast visual feedback and push hard for tighter feedback loops when they work in other technologies. Rails developers usually bring a passion for Developer Experience and following the test pyramid. By encouraging people to work in different platforms, you can bring the best practices and values from each discipline together.

Product Engineering

Working across multiple layers gives you a more holistic view of your product. You can see how everything fits together – how user behavior motivates your UX, in turn informing your front-end engineering design, driving your API design and influencing back-end architecture. You can see how a tricky integration with an external partner can create a UX problem and understand the relationship between the size of your APK and your API versioning strategy.

When you understand the whole product, you’re incredibly valuable in helping us make decisions that impact our product, technology stack and engineering culture.

Team Autonomy

External dependencies are one of the most difficult things an engineering team has to manage. They usually arise when your team needs a skill it doesn’t have – you have to reach out to another team and wait until your problem is more important to them than their own problems. Usually that means waiting a long time.

If you have a few good Full Stack Engineers who aren’t afraid of trying new things, your team can probably do just about anything without having to wait for somebody else.

Flexibility

In most organizations, managers try to carefully schedule and distribute work to ensure that nobody is under or over utilized. This usually goes wrong and the team finds it does not have the right mix of skills to focus everybody on the most important work. If you recognize these questions, then it has probably happened to your team too:

  • “Do the front-end/back-end engineers have enough work to do?“
  • “Will the front-end/back-end engineers be finished before the back-end/front-end? How will we test anything end-to-end?”

Trying to avoid this scenario forces leaders to define solutions before assigning work to their teams. That means engineers are only involved when the high-level solution has already been defined. It starts to look like a factory – product requirements go in and code comes out.

A team with some Full Stack Engineers is much more flexible. Because your team can implement just about any solution, you can be given high-level business problems and work out solutions inside your team. It’s more efficient, easier for leaders and much more empowering for you.

Can I become a Full Stack Engineer?

If you’re an Android engineer looking to learn about building Node APIs, a React developer interested in learning iOS or a Java back-end developer who wants to do some front-end work and get closer to users, you might become a great Full Stack Engineer at SadaPay.

Maybe you care more about the product you’re building than the technology you build it with, or you’re already proficient in multiple platforms and want a role that gives you the opportunity to use all your skills. If that sounds like you, please reach out to us and apply here.