Job Description :
Title : Python Developer
Location :Houston, TX
Background/Expected experience level
Back-end developer for working on Oil and Gas company Downstream Manufacturing project
Looking for a more experienced person, someone between 8-10 years of experience
Must have past experience with other large scale back-end development project needs
Preference to be someone with either a Computer Science or Engineering background
Must-have skill-sets:
Solid communication skills
Experience with working on a large team in an iterative manner (knowledge of Agile/SCRUM is desirable)
Advanced understanding of Python, in particular version 2.7.
Advanced understanding of Flask
Solid understanding of Back-end middlewares, in particular Nginx
Solid understanding of NoSQL databases. Preference to value candidates who already worked with Hadoop and as a consequence with HBase
Intermediate understanding of SQL Server
Solid understanding of Python development GUIs: Anaconda or Visual Studio
Solid understanding of code management repositories - Git
Experience on working with Pandas/Numpy/Scikit
Desired skill-sets:
Python 3.6 for version/feature enhancements
Knowledge on how to interact and manage SQL Server entities/objects via SQLAlchemy
Experience with CI/CD such as TFS
Experience with containers and platforms (Openshift is preferred)
Technical Skills:
Write clean, concise, robust and well-documented python code.
Proficient in use of pandas & numpy
Proficient in developing and leveraging APIs and web services
Proficient in Software development Tool Chains (e.g. make, GIT, Visual Studio, TFS, Jenkins, Travis)
Strong understanding of web services and object oriented principles.
Strong understanding of Agile methodologies (e.g., SCRUM, Kanban)
Strong understanding of Relational Database Management Systems & Database Modeling Fundamentals (SQL Server 2012+, Spark, T-SQL)
Ability to Profile/Debug using tools (e.g. VS Profiling)
Other: Software engineering principles, API Integration, DEVOPs methodologies (continuous integration & delivery), test automation, parallel computing paradigms (e.g. shared/distributed memory), understanding performance and analyzing algorithm complexity
Education: Bachelors of Science in Computer Science, Computer Engineering, or other engineering discipline or Equivalent