Software Architect (Python/SQL)

Full Time



Directs a multi-disciplinary development team to develop and implement significant improvements to core systems and business processes in support of the company’s/divisions profit, growth, and customer satisfaction goals.

Job Responsibilities:

  • Designing, implementing, unit, integration testing and supporting modules developed using Python.
  • Establish methodologies for quickly rolling out new data analysis capabilities for standalone data-driven products and service to support our associates.
  • Have end-to-end responsibility for leading projects focused on extracting, merging, analyzing and managing large sets of data across multiple, disparate databases
  • Be able to transform unstructured raw data in to formats suitable for modeling
  • Demonstrate a deep knowledge of and ability to operationalize, leading data technologies and best practices
  • Lead the review and analysis of business requirements to create technical specifications
  • Lead and participate in code reviews, peer inspections and technical design/specifications
  • Prepare and provide adequate (quality and quantity) documentation for work products.
  • Work with cross-functional teams to resolve business process issues and identify business process improvement opportunities
  • Responsibility for resolving all issues assigned in a timely manner
  • Ownership for development of application architecture and delivery of technical solutions that meet business requirements
  • Ensure that all applications conform to system and programming standards and are appropriately documented
  • Perform support and maintenance tasks to address production issues reported by clients
  • Manage formal and informal project communication amongst team and with other project participants using methods appropriate to audience and type of communication
  • Evaluate developers following project completion identifying strengths and areas for development via a formal, written performance appraisal
  • Be able to work in a globally distributed team in an Agile/Scrum approach

Job Requirements:

  • Bachelor’s or Master’s degree in Computer Science, Applied Statistics, or a related field
  • 10+ years of experience of algorithms and statistics and experience in data mining, machine learning and natural language processing
  • Advanced knowledge of Python programming language is required
  • Experience with Conversational AI chatbot is a required
  • Knowledge of Python ORMs like SQL Alchemy and Python libraries like Pandas, Scikit-Learn, Numpy, NLTK, Spacy and Scipy is required
  • Experience with machine learning libraries and services like TensorFlow, PyTorch, or Amazon SageMaker
  • Experience building scalable data models and performing complex relational databases queries using SQL (Oracle, MySQL, PostGres), etc.
  • Experience processing large amounts of structured and unstructured data is required
  • Knowledge of integration and web services technologies is required
  • Familiarity with web analytics tools (e.g. Google Analytics, etc.) and Big Data tools like Spark, Hadoop, EMR, Kafka is a plus
  • Experience in building & managing applications on AWS
  • People management experience is a plus
  • Enterprise search platforms such as Apache Solr or Elastic Search is a plus
  • Scrum software development methodology experience is a plus
  • A proven track record of experience in leading the design and deployment of large-scale solutions.
  • Experience in all phases of a systems development lifecycle
  • Excellent software development and object-oriented design fundamentals with a strong background in architecting software applications
  • Excellent verbal and written communication skills and ability to interact with other teams

To learn about new job opportunities and industry trends, subscribe to the Madison-Davis newsletter today

Upload your CV/resume or any other relevant file. Max. file size: 2 GB.

Share on