In this post, you will see the Software Development Engineer Job Descriptions and Responsibilities. This information is useful for both employers and job seekers.
Software Development Engineer Job Descriptions
Software Development Engineers take ownership of their code and work closely with others to develop new features as well as efficiently address reported defects in ways that delight our customers. Using an Agile/Scrum methodology, Software Development Engineers discuss requirements, propose solutions, accurately estimate their work, and then collaborate with others through the entire lifecycle.
Design, prototype, develop, test, scale, harden, tune, optimize, monitor, and maintain Big Data solutions using both open source and propriety software in a “cloud” environment. You can expect to provide technical leadership to projects and teams. Working in a team environment you will need to effectively communicate and coordinate your efforts. You will need to adapt to new development environments, changing business requirements and learning new systems. We have a large variety of products (from ad targeting to audience management, etc.) that we interact with to drive cross-team solutions that have complex dependencies and requirements.
The Software Development Engineer selected for this opportunity will be accountable for the development of digital control systems, including control hardware and software, for power electronics based products (Uninterruptible Power Supply, motor drive, grid-tied converters, power suppliers, and others). The ideal candidate will perform the primary functions and responsibilities listed below.
– Write control systems’ architecture design documents and interface with other design groups
– Provide documentation on code and write design documents and validation procedures.
– Manage projects from inception through completion, delegating tasks as needed and keeping both customer and management updated on progress. Request additional resources as necessary.
– Write control systems’ specification and interface with customers, learn their business and understand their technical requirements
– Team with Quality Control throughout the validation process
- Provide software engineers with an end-to-end development tool set enabling quality agile continuous delivery of software.
- Eliminate the gap between squads (engineers / product managers) and their production workloads via tools and actionable metrics.
- Provide powerful data analysis and debugging tools for squads to improve their products.
- Design and document distributed systems and microservices
- Implement robust and maintainable code with clear and maintained documentation
- Delivering customer value in iterative fashion while working towards longer term systems to solve roadmap goals with increasing efficiency
- Communicate status and changes to the work they are responsible and accountable for, keep all stakeholders informed of changes and updates to original plan
- Implement test automation on all code implemented through unit testing and integration testing
- Focus development on creating frontend functionalities
- Provide expertise and leadership in UI development
- Create automations and efficiencies
- Develop the necessary API connections
- Help develop our highly secure, high-performance authorization decision engine. This work will require working on the state-of-the-art database concurrency, storage, caching, and query optimization problems.
- Develop and support data analysis routines that automatically and in real-time categorize, rank, discover and visualize past authorization decisions and historical accesses.
- Commit to the development of a crawler to discover and record contextual data across the web and make it accessible to the decision engine. Collect in real-time data about applications, servers, containers, clusters, public/private clouds, operations tools, people, organizations, databases, and public records. Keep the record of data in sync with the sources of truth in near-real time, and automatically adapt to outages, refactorings, and updates.
- Share in the design and contribute to the massively scalable, highly available, high throughput, low latency, secure system serving Fortune 500 companies. The system requires high-availability, data-replication, and strict SLA requirements.