Senior Software Engineer

phData Logo

phData

πŸ“Remote - India

Summary

Join phData, a remote-first global company, as a Staff Software Engineer on the Product Engineering team. You will design, implement, and maintain high-quality code, take ownership of your work, mentor other engineers, and lead discussions on solutions. The role requires resolving user issues, influencing coding standards, and working with a large codebase. phData offers a casual, exciting work environment with opportunities for growth and learning. The company is committed to diversity and inclusion and provides a supportive and collaborative atmosphere.

Requirements

  • Experience: 8 to 12+ years
  • JVM Experience : You are an expert in Java and/or Kotlin, with a deep understanding of the JVM ecosystem
  • Build Systems : You have experience creating and maintaining custom builds in Gradle or Maven
  • Problem-Solving : You enjoy solving problems so much that you seek them out, or maybe even fabricate them yourself just so you can solve them
  • Collaboration and Communication : You are equally capable of explaining your ideas verbally as you are writing them down. When you disagree with others, you raise your concerns and work through the issues constructively. It frustrates you when others do not provide relevant information, so you strive to communicate relevant details to others clearly and effectively
  • Strong desire to learn and grow : As a team, we are always learning new technologies and challenging ourselves to grow. You need to enjoy learning if you are going to keep up
  • Proficiency with Large Codebases : Our code base is fairly large, and covers a wide variety of domains. Not only can you navigate large codebases easily, but you also have opinions on how they should be structured to improve developer experience
  • CI/CD and Automation: Boring work is something you really want to avoid, and your favorite way to avoid it is with automation
  • Cloud Infrastructure Experience : We deploy our infrastructure in AWS on Linux. You need a solid understanding of cloud infrastructure, troubleshooting techniques, and maybe some architecture experience. If you do not know the right answer, you at least know how to find it
  • Database Proficiency : Writing code that interacts with databases, writing SQL, and generally working with data should come naturally to you
  • Algorithms : Algorithms are second nature for you. You know when to sort a collection or when to wait. You know the difference between O(n) and O(n^2) time complexity and why that matters in a hot section of code
  • Data Structures : Your understanding of data structures is so deep that you can instinctively pick a list, set, map, or some other data structure based on the context, and you are usually right. Trees and graphs do not scare you. You know when and how to use these data structures effectively in real applications

Responsibilities

  • Design, implement, and maintain high-quality code to meet project requirements
  • Take ownership of the code that you write: you understand it, you are intentional about the choices you make, and you aggressively hunt down bugs
  • Mentor other engineers with the goal of moving them to the next level
  • Learn from other engineers, even those with less experience
  • Own large features from design to implementation, guiding mid and junior engineers through the lifecycle
  • Lead discussions with the team to brainstorm solutions and address technical issues
  • Resolve user issues with a keen focus on root cause analysis, thinking strategically about incorporating preventative measures into our software, builds, and tests to prevent future issues
  • Influence coding standards and design practices to ensure consistency and quality across projects

Preferred Qualifications

Language Parsing or Compiler Experience : Bonus points if you have experience with custom parsers or compilers, especially if they used ANTLR

Benefits

Remote work, flexible hours

Share this job:

Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.