As a Software Engineer, youwill address complex problems at scale which are unique to Client while usingyour expertise in coding, algorithms, complexity analysis, and large-scalesystem design in conjunction with full stack application support to identifyand develop products and solutions to optimizeoperational activities andcontribute to improving the consumer experience.
● Design,develop, test, deploy, maintain and improve software.
● Manageindividual project priorities, deadlines and deliverables.
● Write client-sidecode for web-based applications, create fast, easy-to-use, high volumeproduction applications, and develop prototypes quickly.
● Optimize webapplications to maximize speed and scale. Support diverse clients from highpowered desktop computers to small footprint mobile devices.
● Consultancy approach to create newdesigns, architectures, standards, and methods for large-scale distributedsystems.
● Systematic multitasking problem solvingapproach, coupled with a strong sense of ownership and drive.
● Ability to influence Software Engineering leadership bymotivating improvements to Client’s operational excellence.
● Conduct on-call duties as needed forurgent matters.
● BS degree in Computer Science or relatedtechnical field, or equivalent practical experience.
● Experience with algorithms, datastructures, complexity analysis, automation, software design, and databasemanagement.
● Experience in one or more of: Java, C,C++, Perl, Python, Go, or scripting experience in Shell and Perl.
● Experiencewith current technologies leveraged by Client like React, AWS, Elastic Stack.
● Interest andability to learn other coding languages as needed.
● Workingproficiency and communication skills in verbal and written English.
● Expertise in designing, analyzing and troubleshootinglarge-scale distributed systems.
● Experiencewith front and backend as well as middle tier development.
● Interestand experience with mobile application development, especially with Appleproducts.
● Familiarity with running web services atscale; understanding of Unix systems internals and networking.
● Understanding of Unix/Linux systems fromkernel to shell and beyond, taking in system libraries, file systems, andclient-server protocols along the way.
● Networking: knowledge and understandingof network theory, such as different protocols (TCP/IP, UDP, ICMP, etc), MACaddresses, IP packets, DNS, OSI layers, and load balancing).
● Experience with configuration tools likePuppet, Chef or Ansible highly preferred.
● Agile development experience in a rapidrelease environment using tools like Git, JIRA, Jenkins, etc.