Mid-Level Software Developer

Mid-Level Software Developer
We are looking to partner with a Software Engineer / User Interface Engineer for whom UI/UX is a passion. Do you wish you had the chance to help craft something from its foundation? Do you lie in bed at night thinking about the quirky styling on your favorite site, knowing exactly what could make it better or more performant? Please, come join our team.
What’s this all about?
As a Software Engineer at Workzinga, you’re responsible for technical leadership in one or more Engineering domains on an engineering or product team. You have demonstrated experience building and maintaining plans, documentation, and backlogs for one or more technical domains. In this role, you’re at a level where you’re seen as extremely reliable and a master of at least one domain. You’re capable of owning technical design for projects of elevated complexity, and understand the tradeoffs in creating good software. You hold a depth of knowledge in systems that enable you to debug them effectively without issues. In addition to writing consistently high-quality code, you’re aware of industry best practices and trends and have acquired at least one major skill outside of core coding such as monitoring, documentation, integration testing, visual design, performance optimization.
Expectations
As a Software Engineer, you get a lot done. You’re responsible for complex tasks and complete them despite roadblocks, grabbing others for help or insight as necessary. You require very little oversight beyond high-level direction; you can take a complex user story, break it down into sub-tasks, and complete their sub-tasks with relative ease. You show initiative beyond knocking tasks off a list; you’re able to identify and suggest areas of future work for yourself or your team. You seek evidence to support your ideas and start to build cases for these ideas. You deliver products with confidence. You’ve mastered the art of “You aren’t gonna need it” and you almost never repeat yourself. You have end-to-end responsibility for projects of increasing complexity that encompass more than your own development. You contribute to the common code bases and standards for your team. You understand the business that their code supports and use this knowledge to influence your task prioritization. You assist in identifying and validating test cases and can identify regression risks in their features. In general, you can identify risks in code, features, and design, and communicate these to the appropriate parties.
The best candidates will possess
- High curiosity, entrepreneurial, and innate problem solving mindset.
- Strong analytical, critical thinking, and problem solving skills to overcome complex, often ambiguous, technical problems.
- Strong modern programming skills: Current stack includes: Python (Django), Swift, Kotlin, PostgreSQL, Javascript (React).
- Infrastructure built entirely in AWS, so familiarity with AWS-native services such as: Lambda, SQS, R53, SES, S3, Glue, Step Functions, AWS CDK.
- Strong database knowledge in both relational and non-relational structures
- Challenge the status quo: outside the box problem solving acumen.
- A desire to work in an environment where you will teach and be taught.
- Preferred: 5+ years of commercial software development experience.
- 3+ years of building or using cloud services in a production environment (AWS, Azure, GCP, etc.).