General Summary:
A Senior Software Engineer, working independently or with limited supervision, translates high-level business requirements into technical designs, proposes design alternatives, codes and/or communicates requirements to junior engineers. They have a strong knowledge of the applications in their functional area, how each supports the goals of the business and how they interface with each other and to applications outside of their area. They lead small development engagements, mentor junior engineers, solve difficult and highly complex technical problems and may be called on to consult on other projects.
Duties & Responsibilities: What major responsibilities does this position have and what percentage of time is spent on completing them? (Typically 5-7)
- Develops and debugs software in support of new and existing applications 65%
- Develop, execute and thoroughly document unit and system-level test plans 15%
- Designs changes to new and existing applications 10%
- Provides support for production applications (7x24) 5%
- Participate in Agile methodology and ceremonies 5%
Knowledge, Skills and Abilities (KSAs): What KSAs are required to perform this job?
- Must be a self-starter, adapt easily to change and promote a collaborative team environment.
- Continuous learner able to identify skill gaps and acquire and employ new knowledge.
- Mentor junior team members and seek guidance from senior team members.
- Understands business concepts and user procedures.
- Effective communicator with technical and business team members.
- Proactively identifies opportunities to improve current applications’ functionality and performance.
- Participates in code reviews and scope of work estimation and forecasting.
- Writes high-quality code that meets the customer needs and strives for simplicity, clarity and testability.
- Able to provide application support, analyze problems and provide solutions for complex issues.
- Able to develop reusable software building blocks to enable faster delivery.
- Employs test-driven development and integrates unit tests in development tasks.
- Strong ability to relate code modules to the application as a whole and the underlying business objectives.
- Able to stay current on technology changes applicable to your domain and how to apply them.
- Strong analytical skills with experience gathering requirements and designing new functionality.
- Lead intra-domain initiatives composed of distributed teams and remote team members and customers.
Work Experience:
- 5+ years’ experience of software development in Google Cloud using GCP Dataflow, GCP Composer, GCP Pub/Sub, and Google Cloud Services.
- 4+ years’ experience in both API and UI development using Microsoft .Net, Java, Java Spring boot, ReactJS, C#, and SSIS packages