Backend Software Engineer
Apply NowCompany: Codeforce360
Location: Austin, TX 78745
Description:
Required Skills:
Job Description:
MAJOR TASKS, RESPONSIBILITIES AND KEY ACCOUNTABILITIES 70% - Delivery & Execution:
20% - Support & Enablement:
10% - Learning:
Preferred Qualifications:
Knowledge, Skills, Abilities and Competencies:
- JAVA - Spring-Boot - GCP or other Cloud experience - Basic Containerization/DevOps o Deploying applications for automation.
Job Description:
- The Sr. Software Engineer is responsible for joining a product team and contributing to the software design, software development, and overall product lifecycle for a product that our users love.
- The engineering process is highly collaborative. Sr. Software Engineers are expected to pair on a daily basis as they work through user stories and support products as they evolve.
- In addition, Sr. Software Engineers may be involved in product configuration, performance tuning and testing as well as production monitoring.
- As a Sr. Software Engineer, you will be able to operate independently, though typically will work as part of a team with varying skillsets to create, support, and deploy production applications.
MAJOR TASKS, RESPONSIBILITIES AND KEY ACCOUNTABILITIES 70% - Delivery & Execution:
- Collaborates and pairs with other product team members (UX, engineering, and product management) to create secure, reliable, scalable software solutions.
- Works with Product Team to ensure user stories that are developer-ready, easy to understand, and testable.
- Writes custom code or scripts to automate infrastructure, monitoring services, and test cases.
- Writes custom code or scripts to do "destructive testing" to ensure adequate resiliency in production.
- Configures commercial off the shelf solutions to align with evolving business needs.
- Creates meaningful dashboards, logging, alerting, and responses to ensure that issues are captured and addressed proactively.
20% - Support & Enablement:
- Fields questions from other product teams or support teams.
- Monitors tools and participates in conversations to encourage collaboration across product teams.
- Provides application support for software running in production.
- Proactively monitors production Service Level Objectives for products.
- Proactively reviews the Performance and Capacity of all aspects of production: code, infrastructure, data, and message processing.
10% - Learning:
- Participates in learning activities around modern software design and development core practices (communities of practice).
- Proactively views articles, tutorials, and videos to learn about new technologies and best practices being used within other technology organizations.
Preferred Qualifications:
- 3+ years of relevant work experience.
- Experience in a modern programming language (preferably Java).
- Experience in a modern web application framework such as Spring MVC, and Node.js.
- Experience in writing SQL queries against a relational database.
- Experience in a version control system (preferably Git).
- Experience in a Linux or Unix based environment.
- Exposure to Messaging frameworks like Kafka, Pub-Sub or RabbitMQ.
- Exposure to a CI/CD toolchain.
- Exposure to destructive testing methodologies and tools.
- Exposure to a cloud computing platform and the associated automation patterns they provide.
- Exposure to production systems design including High Availability, Disaster Recovery, Performance, Efficiency, and Security.
- Exposure to defensive coding practices and patterns for high-availability.
- Exposure to a NoSQL database.
- Exposure to query optimization and troubleshooting.
- Exposure to effective data modeling within both SQL and NoSQL databases.
- Understanding of modern microservice-based architectures and methodologies.
- Exposure to 12-factor methodology and its benefits, and able to demonstrate appropriate patterns to more junior team members.
- Exposure to REST and effective web service design.
Knowledge, Skills, Abilities and Competencies:
- Action Oriented: Taking on new opportunities and tough challenges with a sense of urgency, high energy and enthusiasm.
- Collaborates: Building partnerships and working collaboratively with others to meet shared objectives.
- Communicates Effectively: Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences.
- Cultivates Innovation: Creating new and better ways for the organization to be successful.
- Drives Results: Consistently achieving results, even under tough circumstances.
- Global Perspective: Taking a broad view when approaching issues; using a global lens.
- Interpersonal Savvy: Relating openly and comfortably with diverse groups of people.
- Manages Ambiguity: Operating effectively, even when things are not certain or the way forward is not clear.
- Nimble Learning: Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder.
- Self-Development: Actively seeking new ways to grow and be challenged using both formal and informal development channels.
- Situational Adaptability: Adapting approach and demeanor in real time to match the shifting demands of different situations.