Salary: $60,800 - $76,000 per yearLocation: United States, 98003, Washington, USEmployment option: RemoteJob type: Full timeJob Summary:Primary Function: The Software Engineer is responsible for analysis, designing, developing, deploying, and monitoring business applications and enterprise systems with built-in quality in mind. Solutions are primarily developed using Java, JavaScript, HTML, CSS, PHP, PeopleCode, PeopleTools, SQL, and SQR. The Software Engineer will serve as developer and quality specialist working closely with cross-functional members of an Agile Delivery team. You will also participate in the review and selection of new technology and changes to existing solutions.Essential Functions:System Analysis and DesignCollaborates with Agile Delivery team, Product Owner and Solution Management in designing and creating solutions that meets customer needs.Provides analysis of problems and recommends solutions.Creates technical specifications and coding logic flowcharts in compliance with secure coding standards.Supports the business and technical requirements definition and documentation in compliance to Lean-Agile development standards.Improves operations by conducting systems analysis; recommending changes in policies and procedures.System Coding, Testing and ImplementationWrites clean well thought out design and code with an emphasis on quality, simplicity, and maintainability.Works within established procedures and tools to develop, test, code review, implement, and maintain application software while focusing on best practice application security throughout the code life-cycle.Communicates effectively and partners well with other disciplines of the Agile team to deliver high quality solutions from vision to deployment and long term solution stability.Showcase completed features/stories to IT and Business Stakeholders at the end of each Sprint.Delivers high-quality systems to clients, focusing on customer satisfaction and client relationships.Follows coding standards and ensures compliance through team development and code reviews.Confirms program compliance to operational standards by conducting system testing; verifying program sequence and evaluating coding.Administers critical analysis of system test results ensuring delivery of high quality, performance based solutions.Generates statistics and write reports for management and/or team members on the status of the programming process.Develops and maintains documentation including technical documents, design documents, user manuals and guidelines.Recommends, designs and implements software improvements and system upgrades.Participates in building high-quality multi-system platforms with software implementation best practices and effective use of programming resources.Participates in technology opportunities above and beyond required training.Mentors developers within the team through knowledge-sharing presentations and both formal and informal training programs.Operations Support Works with vendors to help ensure efficient implementation/integration of new software products or systems and for resolution of any adaptation issues.Collaborates with network administrators, systems analysts, and software engineers to ensure proper resolution of applications/systems issues.Designs, runs and monitors applications/systems performance for the purposes of process improvement, error correction, isolating potential issues, and system debugging.Other duties as assignedQualifications:Bachelor’s degree in Computer Science, Information Systems, Software Engineering or equivalent experience.2+ years Object Oriented programming experience in Java, PeopleCode, Apex or equivalent.2+ years Web development and scripting programming experience in JavaScript, PHP or equivalent.Experience with PeopleTools, Salesforce Tools, SQR, Test Framework, Automation and Monitoring, Web Services, SQL and Oracle.Experience with Agile Development, BDD/ATDD, or related agility lifecycle methodologies is required.Ability to learn new concepts, adaptable and thrive in a fast-paced, dynamic environment.Strong analytical, problem solving, communication, presentation, and documentation skills.Self-starter, accountable, independent, and can mentor developers within the team.Knowledge of Blackboard or Higher Education applications desired.Working Conditions:On-call production support.Pay & BenefitsThe reasonable hiring range for this role is: $60,800 - $76,000.Bellevue University staff employees enjoy a benefits package which includes: medical, dental, vision, life, disability, 403(b) retirement and tuition remission.Bellevue University staff also enjoy 10 days of vacation, 10 days of sick leave and 5 days of personal time.NOTE: The statements above are intended to describe the general nature and level of work involved for this job. It is not an exhaustive list of all responsibilities, duties and skills required of this job. This document does not create an employment contract, implied or otherwise, other than an “at will” relationship. The Higher Education Opportunity Act requires institutions participating in federally funded financial aid programs to make information about the institution available to the public, current and prospective students, and current and prospective employees. The Bellevue University Consumer Information webpage, found at www.bellevue.edu/student-support/consumer-information/consumer-information, provides readily accessible information to help consumers make informed decisions about post-secondary education. Bellevue University’s Annual Security and Fire Safety Report (ASR), found at www.bellevue.edu/student-support/consumer-information/pdfs/annual-safety-report.pdf, provides information about campus crime statistics and institutional security policies and procedures as well as information about student housing fire statistics and fire safety policies. You can obtain a paper copy of these reports from the Bellevue Dean of Students office by calling 402-557-7028. In addition to this, Bellevue University is an Equal Opportunity Employer.SkillsMust HaveHard skills: - beginner in: Automation, JAVA, SQL, Application Security, Agile, JavaScript, Software Engineering
Nice-to-haveHard skills: - novice in: C#, AWS, React, C/C++
- beginner in: System Analysis, Behavior Driven, Risk Analysis, Linux, Business Applications, UI/UX, Python, Web Development, Oracle, Statistics, Code review, CSS, Git, OOP, Product Owner, Process Improvement, PHP, Customer needs, Debugging, Logic, HTML, Script, Salesforce, Web Services, Monitoring
- competent in: API, Testing, REST, CI/CD
Soft skills: - beginner in: Problem Solving, Communication Skills
Job DescriptionAdditional Requirements - Bachelor's Degree in Computer Science, Engineering, or a related field: A solid academic foundation in computer science fundamentals, algorithms, data structures, and software design.
- Proficiency in Programming Languages:
- Strong knowledge of at least one programming language (e.g., Java, Python, C++, C#, JavaScript).
- Experience with additional languages is a plus.
- Experience with Software Development Life Cycle (SDLC):
- Understanding of software development phases, including requirements gathering, design, development, testing, and maintenance.
- Knowledge of Object-Oriented Programming (OOP):
- Experience applying OOP principles such as inheritance, encapsulation, abstraction, and polymorphism in software design.
- Experience with Version Control Systems (e.g., Git):
- Ability to manage code in a collaborative environment using version control tools like Git, GitHub, GitLab, or Bitbucket.
- Experience with Agile/Scrum Methodologies:
- Knowledge of Agile development frameworks and experience working in a fast-paced, iterative development environment.
- Database Management Experience:
- Experience working with relational (SQL) and/or NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB).
- Understanding of database design, optimization, and querying.
- Experience with APIs and Web Services:
- Knowledge of designing and developing RESTful APIs and web services for integration between software components.
- Familiarity with Frontend Technologies:
- Understanding of HTML, CSS, JavaScript, and frameworks like React, Angular, or Vue.js (for full-stack roles).
- Understanding of Backend Frameworks:
- Experience working with backend frameworks such as Spring Boot, Django, Flask, Ruby on Rails, or Express.js.
- Experience with Cloud Platforms:
- Familiarity with cloud services like AWS, Azure, or Google Cloud Platform (GCP) for deploying and managing software applications.
- Familiarity with DevOps Practices:
- Knowledge of CI/CD pipelines, automated testing, and tools like Jenkins, Docker, and Kubernetes to streamline development and deployment processes.
- Strong Debugging and Problem-Solving Skills:
- Ability to troubleshoot and resolve software issues efficiently, using tools such as debuggers, profilers, and log analyzers.
- Experience with Unit and Integration Testing:
- Writing unit and integration tests using frameworks like JUnit, pytest, or Jasmine to ensure code quality and robustness.
- Strong Analytical and Algorithmic Thinking:
- Ability to write efficient algorithms and handle performance optimization, especially for large-scale applications.
- Familiarity with Software Design Patterns:
- Knowledge of common design patterns (e.g., Singleton, Factory, Observer) and when to apply them.
- Experience with Microservices Architecture:
- Understanding and practical experience in building microservices, including containerization (Docker) and orchestration (Kubernetes).
- Security Best Practices:
- Knowledge of secure coding practices, authentication methods (e.g., OAuth), encryption, and overall system security.
- Excellent Communication and Collaboration Skills:
- Ability to communicate effectively with technical and non-technical stakeholders and collaborate within cross-functional teams.
- Familiarity with Machine Learning (Optional):
- Experience with ML libraries (e.g., TensorFlow, PyTorch) and applying ML algorithms to data processing tasks (for data-oriented roles).
- Experience with CI/CD Tools:
- Ability to configure and use CI/CD tools such as Jenkins, Travis CI, or CircleCI for automated build, test, and deployment processes.
- Experience with Containerization Technologies:
- Hands-on experience with Docker for containerization and Kubernetes for orchestration, ensuring smooth application deployment.
- Knowledge of Software Metrics and Performance Monitoring:
- Ability to set up and use monitoring tools such as Prometheus, Grafana, and New Relic to track application health and performance.
- Knowledge of Scripting Languages:
- Proficiency in scripting languages such as Bash, PowerShell, or Perl for automation and system administration tasks.
- Understanding of Networking Concepts:
- Familiarity with TCP/IP, DNS, HTTP, load balancers, and CDN technologies in relation to distributed systems.
- Knowledge of Software Licensing and Compliance:
- Familiarity with software licensing issues, open-source policies, and compliance with industry standards (e.g., ISO, GDPR).
- Ability to Mentor Junior Developers:
- Experience in providing guidance, reviewing code, and conducting training sessions for junior team members.
- Adaptability to New Technologies:
- Willingness to learn and adopt new tools, frameworks, and methodologies as needed for specific projects.
- Project Management Experience (Optional):
- Ability to lead small projects, track progress, and manage deadlines using tools like Jira, Trello, or Asana.
- Adaptability to New Technologies:
- Willingness to learn and adopt new tools, frameworks, and methodologies as needed for specific projects.
- Project Management Experience (Optional):
- Ability to lead small projects, track progress, and manage deadlines using tools like Jira, Trello, or Asana.
- Adaptability to New Technologies:
- Willingness to learn and adopt new tools, frameworks, and methodologies as needed for specific projects.
- Project Management Experience (Optional):
- Ability to lead small projects, track progress, and manage deadlines using tools like Jira, Trello, or Asana.
Responsibilities - Design, develop, and maintain software applications:
- Collaborate with product managers and stakeholders to design, develop, and maintain robust software solutions that meet business and technical requirements.
- Write clean, scalable, and efficient code:
- Follow best practices for coding standards, code modularity, and maintainability to ensure high-quality and scalable software products.
- Conduct code reviews:
- Review code written by other developers to ensure adherence to coding standards and identify areas for improvement in terms of efficiency, security, and readability.
- Collaborate with cross-functional teams:
- Work with product managers, designers, QA engineers, and other developers to deliver end-to-end solutions and ensure smooth project execution.
- Conduct code reviews:
- Review code written by other developers to ensure adherence to coding standards and identify areas for improvement in terms of efficiency, security, and readability.
- Collaborate with cross-functional teams:
- Work with product managers, designers, QA engineers, and other developers to deliver end-to-end solutions and ensure smooth project execution.
- Optimize and refactor existing code:
- Continuously improve existing code to enhance performance, reduce technical debt, and adapt to new requirements.
- Write unit and integration tests:
- Develop test cases and ensure comprehensive coverage to identify defects early and verify that software meets functional and performance criteria.
- Debug and troubleshoot software issues:
- Analyze and resolve software bugs, crashes, and performance bottlenecks using debugging tools and logs.
- Participate in the software development lifecycle (SDLC):
- Contribute to all phases of the SDLC, including requirement analysis, design, development, testing, deployment, and maintenance.
- Collaborate in Agile/Scrum development cycles:
- Participate in daily standups, sprint planning, backlog grooming, and retrospective meetings to ensure smooth Agile development practices.
- Develop and maintain software documentation:
- Write and update technical documentation for software applications, including system designs, API specifications, and user manuals.
- Implement APIs and web services:
- Design and develop RESTful or GraphQL APIs for integration with frontend applications, external systems, and third-party services.
- Ensure application security:
- Apply security best practices during development to ensure protection against vulnerabilities such as SQL injection, cross-site scripting, and data breaches.
- Collaborate with DevOps teams:
- Work with DevOps engineers to integrate CI/CD pipelines, automate testing, and streamline software deployments.
- Participate in software architecture discussions:
- Contribute to the design and architecture of complex software systems, ensuring scalability, reliability, and maintainability.
- Monitor and optimize application performance:
- Analyze performance metrics, identify bottlenecks, and implement performance improvements to meet service level objectives.
- Stay up-to-date with industry trends and new technologies:
- Continuously research and experiment with emerging technologies, tools, and frameworks to improve productivity and code quality.
- Collaborate on database design and optimization:
- Work with database administrators to design efficient database schemas, write optimized queries, and manage data migration tasks.
- Mentor junior software engineers:
- Provide guidance, code reviews, and technical support to less experienced developers, fostering their professional growth.
- Implement microservices architecture:
- Design and deploy microservices that support distributed, scalable, and maintainable systems, using Docker and Kubernetes.
- Contribute to the automation of development workflows:
- Automate repetitive tasks, such as building, testing, and deployment processes, to streamline software development.
- Ensure software compatibility with different platforms:
- Test and adapt software for compatibility across various operating systems, browsers, and devices, ensuring consistent performance.
- Develop cloud-based solutions:
- Design, build, and manage cloud-native applications and services using platforms like AWS, Azure, or Google Cloud.
- Collaborate with UI/UX designers:
- Work closely with frontend developers and designers to implement user interfaces that deliver a seamless experience.
- Manage technical debt and legacy systems:
- Balance the development of new features with refactoring and maintaining legacy codebases to ensure long-term sustainability.
- Participate in technical risk assessments:
- Identify potential risks during development and propose solutions to mitigate these risks, ensuring stable product delivery.
- Manage software version control:
- Maintain version control using tools like Git, managing branches, pull requests, and releases efficiently.
- Participate in disaster recovery planning:
- Ensure that critical software systems have backups and disaster recovery plans in place to minimize downtime during outages.
- Create and implement algorithms:
- Write efficient algorithms to solve complex business problems, considering factors like time complexity and resource usage
Benefits - Profit sharing
- Visa sponsorship
- Family leave
- Food provided
- Matching gift program
- Lease purchase program
- Passenger ride along program
- Paid maternity leave
- Credit union membership
- Uniform allowance
About CompanyCompany OverviewWe’re here to open doors. At #BellevueUniversity, we believe any student who is willing to work hard deserves a chance to earn their degree. That’s why we specialize in flexible, innovative learning for busy working adults. We offer more than 80 degree programs, both online and on campus, designed to build and grow successful careers. We do whatever it takes to help our students achieve the goals they once thought out of reach. Founded in 1966, Bellevue University is fully accredited by the Higher Learning Commission. Our 46-acre campus is nestled just outside Omaha, Nebraska, and is home to our nationally ranked athletics teams.