Overview
How will we contribute?
- Combine backend software engineering expertise with coaching and support for team members.
- Act as a trusted authority and specialist, providing advice and guidance to team members and managers.
- Collaborate with a team of software engineers to identify and prioritize improvements.
- Take ownership of tech decisions and balance speed, quality, and functionality.
- Work closely with the Product team to understand end-user requirements and translate them into effective technical solutions.
- Mentor and collaborate with software teams on code review, version control, architecture, pair programming, and software design.
- Design web-scale and cloud backend services following best coding principles, optimized coding practices and using open source tools & platforms
- Writing code for web applications, coding REST API's, integrating apps with AWS cloud platforms
- Actively participate in product review meetings and contribute with ideas for improvement Develop new features
- Build reusable code and libraries for future use
- Proactively identify potential problems and opportunities to improve applications and processes, with emphasis on usability, performance, and security
- Document the development process, architecture, and standard components
- Deployment of applications on AWS or similar platform
What will we bring in?
- Python, Web API, ORM.
- Test-Driven Development (TDD), Continuous Integration/Continuous Deployment (CI/CD).
- AWS PaaS services.
- Experience with Webservices, Web API, Swagger, Postman, and Microsoft APIM.
- Agile delivery environment experience.
- Python libraries- pandas, pyspark, numpy and numba.
- Agile/DevOps/ CI/CD
- Serverless AWS technologies
- Proficient with Amazon Web Services (ie EKS, ECR, RDS etc) and/or Azure
- Proficient with Python and any Python based REST framework (ie Django)
- Proficient in modern microservice-based architectures, methodologies and in designing and implementing RESTful web services.
- Source Control System experience with Git, Mercurial, or similar
- Continuous Integrations experience CircleCI, GitHub Actions, Docker, Kubernetes, etc.
- Unit Testing, Automated Testing, and Test-Driven Development (TDD) for Python, pytest or other unit test framework.
- Strong understanding of Agile (Scrum) Methodology
- Accessing data across multiple datastores - SQL, NoSQL and graph databases.
- Experience with Dynamo DB preferable
- Experience in the energy industry or desire to learn about the energy industry domain in detail.
- Open and collaborative attitude with a desire to help others
How we work in python?
PEP 8 and Naming Conventions: Adhere to PEP 8 for code layout, naming conventions. Follow Python Enhancement Proposal 8 (PEP 8) for uniform, readable code. Opt for descriptive names, lowercase_with_underscores for vars/funcs, CamelCase for classes. Prioritize clarity.
Indentation and Whitespace: Write well-indented code (usually four spaces) for improved readability. Maintain consistent indentation, avoid trailing spaces, and use a single space around operators and after commas.
Readability and Comments: Prioritize readability. Craft easily understandable code. Break long lines for enhanced readability. Include comments for code elucidation, complex logic, or clarification. Document functions, classes, modules with docstrings.
Modular and Reusable Code: Follow single responsibility principle. Design concise, modular functions. Define classes with clear responsibilities and interfaces. Organize code into logical modules, promote reuse, maintainability. Break code into smaller, focused functions or classes. Encapsulate reusable code. Adhere to "Don't Repeat Yourself" (DRY) principle.
Error Handling and Exception Handling: Implement appropriate exception handling. Avoid bare except clauses. Catch specific exceptions. Use meaningful error messages, logging for effective debugging and troubleshooting.
Documentation and Testing: Incorporate inline documentation (docstrings). Document usage, inputs, and outputs. Write unit tests for code correctness. Embrace test-driven development (TDD) principles. Utilize frameworks like unittest or pytest.
Code Organization and Project Structure: Organize code logically into modules and packages.
Version Control: Utilize version control systems like Git for tracking changes. Commit frequently with meaningful messages for collaboration and easy rollback.
Performance Optimization: Optimize code for efficiency by avoiding unnecessary computations. Use efficient data structures, idiomatic Python constructs.
Use of Libraries and Tools: Leverage existing libraries and tools for code reuse, avoiding redundancy. Embrace efficient Python constructs for concise and effective code. Profile and benchmark code for performance optimization.
Sold by | Hybytes |
Categories | |
Fulfillment method | Professional Services |
Pricing Information
This service is priced based on the scope of your request. Please contact seller for pricing details.
Support
For more information
Visit: https://hybytes.com/services/devops-support/
Contact Sales
Phone: +44 20 4574 9617