Tenna is a company rooted in the construction industry, providing innovative solutions for managing and tracking construction equipment. They are seeking a Software Team Lead to guide a development team in enhancing their connected equipment solution through innovative code design and implementation.
Responsibilities:
- Leads and provides technical mentorship and direction to a small team of software engineers. Conducts pull request reviews to ensure security, stability, performance, and readability
- Actively manages the development process for the team, scoping and defining work regardless of perceived ambiguity or degree of clarity
- Scopes and defines work regardless of perceived ambiguity or degree of clarity
- Writes lots of bug-free, efficient, scalable, and reusable code
- Designs and develops components and features with performance and scalability in mind
- Builds API’s and web applications that can handle complex data efficiently
- Unit tests and takes responsibility for the quality of your own code and the code of your team
- Decomposes monolithic applications into more modern microservices
- Provides input on our architecture, databases, and APIs
- Consults with product managers to define, scope, and plan new features
- Consults with senior leadership concerning corporate direction and strategic planning
- Works with QA to ensure that cohesive, quality, usable solutions are produced
- Tests, evaluates, and recommends technologies to improve our overall solutions
- Is a key participant in our agile development process
- Produces excellent documentation
Requirements:
- 12+ years of professional development experience
- 2+ years' experience successfully providing technical direction to engineers
- Bachelor of Science in Computer Science required or equivalent experience
- Intimately familiar with the fundamentals of computer science and software architecture
- Substantial experience with React.js, JavaScript and HTML/CSS
- Substantial experience with web development in at least one of Java, C#, or Python
- Substantial experience with SQL; experience with NoSQL is a plus
- Has a passion for decomposing monolithic applications into more modern microservices
- Can create designs and build an application from requirements and discuss with product and engineering stake holders
- Experience executing products, features, or enhancements utilizing the full development lifecycle
- Experience supporting production products
- Experience with Node.js, especially in microservices, is highly preferred
- Experience with containerized application deployments, especially using Docker, is highly preferred
- Experience with large-scale data systems is highly preferred
- Experience with message queueing architectures, especially RabbitMQ, is preferred
- Experience with Amazon Web Services, especially EC2, S3, VPC, Elasticsearch, and Kinesis
- Any IoT experience is a huge plus