Share
Key job responsibilities
* You solve difficult problems, applying appropriate technologies and best practices.
* You work with your team to invent, design and build software that is stable and performant.
* You are proficient in a broad range of design approaches and know when it is appropriate to use them (and when it is not). Your solutions are pragmatic.
* You consider the legacy of the code you produce and write code that an SDE unfamiliar with the system can understand.
* You limit the use of short-term workarounds. You do things with the proper level of complexity the first time (or at least minimize incidental complexity).
* You create flexible software without over-engineering. You make appropriate trade-offs, re-use where possible, and are judicious about introducing dependencies.
* You are efficient with resource usage (e.g., system hardware, database, memory/CPU, etc.)
- 3+ years of non-internship professional software development experience
- 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
- Experience programming with at least one software programming language
- 3+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experience
- Bachelor's degree in computer science or equivalent
These jobs might be a good fit