Senior Software Developer

  • Unicon Inc
  • Gilbert, AZ, USA
  • Oct 03, 2021

Job Description

The Senior Software Developer capably executes all the responsibilities of the Software Developer, but is typically also responsible for either particularly complex subsystems or an entire technical delivery team. He or she is tasked with large, project-level development estimation efforts against speculative scopes, definition and enforcement of delivery team technical practices and processes, detection and correction of insecure coding patterns and implementations, anticipation of performance and scalability bottlenecks, and consistent delivery of production-ready code. The Senior Software Developer contributes to deployment architecture design, collaboratively triages and debugs production issues, and recommends production deployment, monitoring, and support services and toolsets. This role may require periodic short-term travel to conferences, seminars, and client sites up to 25% of the time. Education and Work Experience: Bachelor's degree in software engineering or computer science, or equivalent experience 6+ years of professional experience designing, developing, and supporting Web-based applications Required Knowledge & Skills: Technical: Experience designing and developing Web-based applications with Java/JEE and especially the Spring Framework Professional experience deploying, documenting, and supporting Web-based applications in production Professional experience writing automated unit and integration tests Understanding of core concepts and principles of Web-based API design, especially in the RESTful style Professional experience with relational database platforms Experience using common source code control tools, especially GIT Working familiarity with common server operating systems, especially Linux Non-technical: Motivated self-starter and quick learner Able to work independently and without supervision Excellent communications and interpersonal skills Outstanding attention to detail Strong analytical and design skills Strong teamwork skills Preferred Knowledge and Skills: Experience acting as the “technical team lead” for at least one software development project Professional and preferably production experience deploying to Amazon Web Services and leveraging its managed services, e.g. RDS, S3, ElastiCache, SQS, SNS, Kinesis, API Gateway, Lambda, etc Experience deploying and troubleshooting common, modern Web application hosting technologies such as Docker, Tomcat, Jetty, Apache, nginx, and HAProxy Professional experience designing, implementing, and supporting micro-services architectures Experience with modern authentication specifications and technologies, e.g. OAuth, SAML, OpenID, JWT Conversant with the OWASP Top 10 Web application security risks and adept in identifying their presence Experience integrating automated test suites into Continuous Integration/Deployment pipelines Professional experience estimating development projects and participating in customer-facing sales engineering processes Experience designing for and triaging performance and scalability issues in large-scale enterprise systems Agile software development experience: Scrum Process, Extreme Programming (XP), and/or other Agile software development practices, including Test-Driven Development (TDD) Higher Education and/or K12 industry experience, especially with the IMS Global family of integration specifications Experience with Open Source technologies, projects, and communities Professional experience with Hibernate (or other JPA implementations) Knowledge of at least one modern Javascript application development framework, e.g. Angular, React, Vue Familiarity with portal technologies and the Java Portlet specifications Experience with non-relational database platforms Experience with Service Oriented Architectures (SOA)