Skip to content

Sr. Software Developer
Company | PTC |
---|
Location | Pleasanton, CA, USA |
---|
Salary | $135000 – $160000 |
---|
Type | Full-Time |
---|
Degrees | Bachelor’s |
---|
Experience Level | Senior |
---|
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