The Solar Labs was founded by IIT alumni in 2017 to accelerate solar adoption in the world. Our products empower the solar industry to help it succeed. We develop software that helps solar installers and developers in designing more optimized solar PV systems, increase energy yield per panel installed, reduce cost of installations and create quotations and reports for clients within 20 minutes. The software has been used to estimate 1200 MW+ of solar capacity across India and serves some of the largest companies in the world including Tata Power, Adani Solar, Renew Power and hundreds of MSMEs.
When we succeed, the solar industry wins, and the world wins.
About the Product :
It's a 3d simulation software, to replicate rooftops/commercial sites, place solar panels and generate the estimation of solar energy.
Responsibilities :
- Develop cloud-based Python Django software products
- Working closely with UX and Front-end Developers
- Participating in architectural, design and product discussions Designing and creating RESTful APIs for internal and partner consumption
- Working in an agile environment with an excellent team of engineers
Skills :
- Solid database skills in a relational database (i.e. PostgresSQL, MySQL, etc.) Knowledge of how to build and use with RESTful APIs
- Strong knowledge of version control (i.e. git, svn, etc.)
- Experience deploying Python applications into production
- Amazon Web Services (AWS) or Google cloud infrastructure knowledge is a plus
About The Solar Labs
About
We want to make a BIG difference in helping make the world sustainable by making it greener.
Our software empowers solar companies to generate accurate solar feasibility reports and perform site surveys remotely thus giving them more time and more accurate information to target new clients for rooftop solar installations. This increases a solar company's business by 2-3X!
Connect with the team
Similar jobs
relentlessly improving performance, scalability, and maintainability.
● Sound knowledge and application of algorithms and data structures.
● Proficient in Java, Springboot and Mysql.
● Able to efficiently diagnose bugs and issues.
● Understanding of when to escalate questions/issues that arise during development.
● Work with other developers, QA, DevOps and business staff to efficiently launch features
and resolve issues.
● Actively participate in design and code reviews to build robust applications and prototypes.
● A willingness to dive deep, experiment rapidly and get things done.
● Provide input to how we can continually improve our development process and knowledge.
● Define and participate in establishing better engineering practices.
● Love being challenged by learning and experimenting with new technologies
● Experience with ElasticSearch, Cassandra, Redis, Kakfa, AWS is a plus.
● Prior experience in building microservices, have worked on architectures and designs
independently is a plus.
● Prior product building experience or from a startup background would be a plus.
Responsibilities:
Lead the design and development of sophisticated, high availability, and secured
server-side applications with a primary focus on Golang.
● Collaborate with cross-functional teams to understand requirements, architect
solutions, and deliver high-quality software products.
● Mentor and guide junior engineers, sharing your engineering expertise and best
practices to foster skill development within the team.
● Analyze and optimize performance, scalability, and reliability of existing Golang
applications, making strategic improvements where necessary.
● Design and implement automated unit and integration tests to ensure code quality,
maintainability, and stability.
● Stay up-to-date with the latest advancements in software technologies,
recommending their adoption when appropriate.
● Champion code reviews, architectural discussions, and technical documentation to
maintain high development standards.
● Troubleshoot and resolve complex issues, providing innovative solutions to overcome
challenges.
● Contribute to the recruitment and hiring process by participating in interviews,
evaluating candidates, and providing input on hiring decisions.
Requirements
Bachelor's or Master's degree in Computer Science, or a related field.
● 3+ years of experience in software development, with substantial experience in
Golang and cloud infrastructure.
● Expert-level proficiency in designing and developing high-performance, concurrent
applications with Golang.
● Experience with distributed systems, microservices architecture, and containerization
(e.g., Docker, Kubernetes).
● Solid knowledge of software testing methodologies and tools, including unit testing
and integration testing for Golang applications.
● Demonstrated ability to lead projects, collaborate effectively with teams, and mentor
junior engineers.
● Excellent problem-solving and analytical skills, with the ability to tackle complex
technical challenges.
● Having prior experience in the FinTech domain would be an added advantage.
What You'll Do
You will be part of our data platform & data engineering team. As part of this agile team, you will work in our cloud native environment and perform following activities to support core product development and client specific projects:
- You will develop the core engineering frameworks for an advanced self-service data analytics product.
- You will work with multiple types of data storage technologies such as relational, blobs, key-value stores, document databases and streaming data sources.
- You will work with latest technologies for data federation with MPP (Massive Parallel Processing) capabilities
- Your work will entail backend architecture to enable data modeling, data queries and API development for both back-end and front-end data interfaces.
- You will support client specific data processing needs using SQL and Python/Pyspark
- You will integrate our product with other data products through Django APIs
- You will partner with other team members in understanding the functional / non-functional business requirements, and translate them into software development tasks
- You will follow the software development best practices in ensuring that the code architecture and quality of code written by you is of high standard, as expected from an enterprise software
- You will be a proactive contributor to team and project discussions
Who you are
- Strong education track record - Bachelors or an advanced degree in Computer Science or a related engineering discipline from Indian Institute of Technology or equivalent premium institute.
- 2-3 years of experience in data queries, data processing and data modeling
- Excellent ANSI SQL skills to handle complex queries
- Excellent Python and Django programming skills.
- Strong knowledge and experience in modern and distributed data stack components such as the Spark, Hive, Airflow, Kubernetes, Docker etc.
- Experience with cloud environments (AWS, Azure) and native cloud technologies for data storage and data processing
- Experience with relational SQL and NoSQL databases, including Postgres, Blobs, MongoDB etc.
- Familiarity with ML models is highly preferred
- Experience with Big Data processing and performance optimization
- Should know how to write modular, optimized and documented code.
- Should have good knowledge around error handling.
- Experience in version control systems such as GIT
- Strong problem solving and communication skills.
- Self-starter, continuous learner.
Good to have some exposure to
- Start-up experience is highly preferred
- Exposure to any Business Intelligence (BI) tools like Tableau, Dundas, Power BI etc.
- Agile software development methodologies.
- Working in multi-functional, multi-location teams
What You'll Love About Us – Do ask us about these!
- Be an integral part of the founding team. You will work directly with the founder
- Work Life Balance. You can't do a good job if your job is all you do!
- Prepare for the Future. Academy – we are all learners; we are all teachers!
- Diversity & Inclusion. HeForShe!
- Internal Mobility. Grow with us!
- Business knowledge of multiple sectors
- Design, construct, test and maintain robust and scalable data pipelines.
- Research, prototype and apply different methods to improve data reliability, fault tolerance and system performance.
- Instrument, monitor and troubleshoot these systems in a Production environment.
- Contribute to design reviews, code reviews, integration and automated testing.
- Adopt and improve our Agile development process.
- Writing effective and scalable Python codes
- Designing and implementing robust applications
- Debugging applications to ensure low-latency and high-availability
- Integrating user-facing elements with server-side logic
- Implementing security and data protection
- Accommodating various data storage solutions
Key Requirements
- Degree in Computer Science, Engineering or a related field
- You have prior experience as a Python Developer
- Good knowledge Django, Flask or similar Python frameworks
- Familiarity with front-end technologies, such as JavaScript, HTML5, and CSS3
- Knowledge of ORM (Object Relational Mapper)
- Familiarity with various testing tools.
5 years of architecture, design and programming experience preferably in fast-paced dynamic environment
Strong application design and implementation skills, solid understanding of the entire development cycle.
Strong background in Java/J2EE based application
Strong background in Spring/Spring boot based application
Strong background in Microservices based application
Experience working with Apache and/or Tomcat
Experience in transforming requirements to software design
Strong Experience with developing Java SAAS web applications.
Working experience in Industry Standard protocols related API Security including OAuth
Demonstrate strong design and programming skills using JSON, Web Services, XML, XSLT, PL/SQL in Unix and Windows environments.
Strong background working with Linux/UNIX environments.
Strong Shell scripting experience.
Working knowledge with Oracle, DB2 or MongoDB databases.
Passion to stay on top of the latest happenings in the tech world and an attitude to discuss and bring those into play. Strong agile/scrum development experience
Strong collaboration and communication skills within distributed project teams
Excellent written and verbal communication skills
Candidates should have worked with Startups (IT Product Firms)
Should be from B2C Firms/Product/SaaS Firms
Key Skills: Python, Golang, Java, Distributed Systems, Cloud, Microservices Architecture, MVC, Design Patterns, Data Structure, Algorithms
Your Experience Across The Years in the Roles You’ve Played
- 6+ years of technology experience (at least 2 years in direct engineering management)
- Managing a 5-15 member engineering team in an agile product org
- Track record of collaborative working with multiple stakeholders
- Planning and analysis with effective communication skills
You’ll Be Improving & Responsible For
- Our products engineering team that works on initiatives fuelling the growth of our recent health retail insurance products
- Collaboration across cross-functional stakeholders to ensure delivery timelines are met
- Implementing product engineering best practices, and evangelizing them within the org
- Engineering management with a strong sense of ownership
- Problem solving with a clear and analytical approach and organized work habits
- Technological innovation in agile product engineering scenarios
- Product and business management principles and metrics
Writing reusable, testable, and efficient code Design and implementation of low-latency, high-availability, and performant applications Integration of user-facing elements developed by front-end developers with server side logic Implementation of security and data protection
Skills and Qualifications :-
• Good Understanding of Java/J2EE programming language, Spring REST, Spring Boot, Spring Cloud , Microservices , NoSQL, Cassandra, couchbase, postgreSQL, Redis or any distributed cache stores, Kafka/spark
• Comfortable producing and refactoring code without assistance
• Hands on experience with dockers
• Hands on experience with cloud environments either AWS or Azure
• Able to do BDD or test driven development
• Hands on knowledge with test frameworks for automation
• Understands different major language paradigms (OOP/Functional)
• Knowledge of design patterns for REST application
• Can implement design patterns with guidance
• Understands CI and continuous delivery.
• Understands BDD/TDD/Performance/Security/Smoke testing
• Working knowledge of CI tooling
• Understands version control & branching strategies
• Comfortable translating small behaviour requirements into tasks & code