For one of our clients in the energy industry we're looking for a freelance Python Developer:
Project name: COODE PI
Project description: The COODE PI Portfolio deals with the implementations of Aveva PI infrastructure and reporting. In order to further enhance the capability of the client’s PI System and Python Web Application developer is required to enhance the existing Aveva PI System with additional custom developed functionality.
Task description:
1. Project Understanding
Gain a deep understanding of project requirements and objectives.
Steer and provide professional advice to the project team in terms of defining the project scope and goals.
2. Technology Selection
Choose the appropriate web frameworks and libraries from the following selection: Django, Flask, or FastAPI, Python Panel or Plotly Dash, or provide a recommendation based on own professional expertise on which appropriate web frameworks to use. Present the recommendations to the client for a final decision.
Evaluate and provide recommendations on which third-party APIs (Application Programming Interfaces) and services to integrate, and then present the recommendations to the client for a final sign-off. Integrate the third-party APIs and services that the client signed-off.
3. Backend Development
Develop the server-side logic and APIs for the web application.
Implement data models and databases (?)based on the plan that will be provided in advance by the Data Architect, and handle data storage in terms of reading and writing operations to the database.
4. Frontend Development
Create responsive and user-friendly web interfaces using HTML, CSS, and JavaScript.
Provide cross-browser compatibility and optimize performance.
5. Testing
Write unit tests and perform integration testing to maintain code quality.
Conduct thorough testing to identify and fix bugs and issues. If needed, implement proper test driven development routines based on own professional expertise to maintain code quality and highlight any issues and errors in the form of a weekly report. Present the report to the client with the highlighted issues.
6. Deployment
Deploy the web application to production servers or cloud platforms.
Set up server configurations and check if they are scalable and reliable.
7. Performance Optimization
Identify and resolve performance bottlenecks, for database queries and API calls.
Create an implementation plan for caching and other optimization techniques to maintain system performance. Present the implementation plan to the client for a sign-off, then implement the finalized and signed-off plan.
8. Version Control
Use version control systems (Git) to track changes and provide professional advice on this topic to other developers with the aim of maintaining code quality.
Write clean, maintainable, and well-documented code following coding standards and best practices.