Posted in

Sr. Software Developer

Sr. Software Developer

CompanyPTC
LocationPleasanton, CA, USA
Salary$135000 – $160000
TypeFull-Time
DegreesBachelor’s
Experience LevelSenior

Requirements

  • Bachelor’s Degree in Computer Science or ‘STEM’ Majors (Science, Technology, Engineering and Math)
  • Experience working at a startup or enterprise software
  • Experience with programming languages like ReactJs, JavaScript, Java, Python and ReactNative
  • Experience with front-end development
  • Experience with data modeling
  • Active in open source community
  • Can work well with loosely defined requirements
  • A minimum 5 years of professional work experience
  • Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns and Design Principles
  • Emphasis on creating secure mobile apps that perform at scale
  • Must have practical knowledge and proficiency with native app development for iOS and integrating with RESTful services
  • Must have practical knowledge and proficiency with web app development using REST API
  • Good understanding of git, unit testing and automated testing, continuous integration and deployment
  • Experience with agile development methodology
  • Strong understanding of micro service architecture and application architecture
  • Communication skills for a highly collaborative software development process with distributed teams
  • Passion about new technologies, self-motivated, and commitment to continuously learn and improve
  • User centric design thinking, with a thoughtful approach to building software with new zero learning curve
  • Must be willing to travel
  • Must be willing to work out of an office located in Pleasanton

Responsibilities

  • Capture system level requirements by brainstorming with Dev Leads, Designers and Product Managers
  • Identify the scope of the work, provide initial estimate and justify the estimate with facts
  • Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle
  • Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
  • Work closely with your peers and keep engaging in a fast pace technical design and development team
  • Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
  • Maintain code quality through best practices, unit testing and code quality automation
  • Seek and provide feedback on design and development
  • Demonstrate the ability to make informed technology choices after due diligence and impact assessment
  • Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
  • Help in designing interfaces and information exchange between modules
  • Gain advanced domain knowledge and show great customer focus
  • Expert in processes / methodologies and skilled in build, release & deployment processes
  • Articulate the need for scalability and understand the importance of improving quality through testing
  • Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
  • Drive design reviews define interfaces between code modules and applies existing technology to designs
  • Be an expert in assessing application performance and optimizing/improving it through design and best coding practices
  • Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
  • Mentor other developers in the team, ensure adherence to coding and testing standards
  • Research new technologies, tools and develop proof of concepts as it applies to the product
  • Communicate effectively and consistently with other engineers, customers and management
  • Share technical knowledge and expertise with colleagues

Preferred Qualifications

  • Facilitates and coach software engineering team sessions on requirements estimation and alternative approaches to team sizing and estimation
  • Knowledge of developments in UX in various contexts, businesses, and industries
  • Quantifies effectiveness of design choices by gathering data
  • Drives accountability and adoption
  • Publishes guidance and documentation to promote adoption of design
  • Proposes design solutions based on research and synthesis; creates general design principles that capture the vision and critical concerns for a program
  • Demonstrates mastery of the intricacies of interactions and dynamics in Agile teams
  • Demonstrates advanced understanding of Lean Six Sigma principles (e.g., Black belt certified). Guides new teams to adopt Agile, troubleshoots adoption efforts, and guide continuous improvement
  • Provides training on Lean / Agile. Drives elimination of inefficiencies in coding process. Teaches XP practices to others
  • Actively embraces new methods and practices that increase efficiency and effectiveness