Senior Software Engineer

Steve Biederman resume photo
Steve Biederman
Beaverton, OR

Job Preferences: 

Desired job title: 
Senior Software Engineer
Desired occupation: 
Software Engineer
Employment type: 
Full time
Career status: 
Active job seeker
Available to start: 


University of Wisconsin - Madison
Master of Science (MS), Computer Science, 
University at Albany, SUNY
Bachelor of Science (BS), Computer Science and Applied Mathematics, 

Work Experience: 

Software Engineer
Software Engineer
Updated Fishtail's Timing Analysis tool, focus, to allow the Design Flattening process to run in multi-threaded mode.
R&D Engineer
Designed and implemented numerous enhancements to the capabilities, performance, and capacity of Synopsys' Mask Synthesis tool, Proteus, using C++.
* Created systems which analyzed and re-organized the design hierarchy for efficient simulation and processing, allowing larger designs to be processed in less time.
* Pioneered new subsystems supporting the challenges and opportunities of the EUV lithography process:
* Enabled efficient correction of designs that would otherwise be too large to handle by designing and implementing "Device replication" and "Device referencing", which analyzed the information about the multiple device placements in a EUV reticle.
* Upgraded the accuracy of the correction by adding "Flare map" and "shadow bin" context additions which efficiently take into account EUV-specific long-range effects that modify the resultant design.
* Optimized the customer's workflow by allowing Multiple Input Files to be processed simultaneously, adding the abstractions needed to correlate the differences in the multiple input designs. This allowed customers to complete analyses in a single run which previously required multiple runs.

Steve Biederman PAGE TWO SYNOPSYS (Continued)

* Instituted support for the mask lithography technique of Double Patterning (DPT) by analyzing each cell's compression contribution and its geometric isolation or centrality and creating the database access methods for it.
* Safeguarded against duplication in validation support required and avoided inefficiencies in memory layout when implementing the migration from supporting 2^32 to 2^64 design instances, allowing identical source code usage, incorporating C++'s templatized classes, to build older and newer code stream.
* Exceeded "code quality" goals with expert use of and response to analysis produced by code-quality tools such as valgrind, Coverity, and vtune.
* Trained and directed my team in the use of and response to the code-quality tools, boosting both the robustness of the software and the effectiveness of the team.
* Created a memory profiler which is available in the standard build at customer sites, but which does not expose the customer's intellectual property, to allow ongoing optimization of memory issues.
Software Engineer
Software Engineer
In Mentor's Consulting Division, worked directly with customers, satisfying unique needs with special-purpose customizations. Customized the user interface, allowing customers to specify design modifications in terms of their design abstractions, and converted those abstractions to the underlying database objects.


C++, Coverity, C, software design, Software Development, Object-Oriented Programming, Distributed Systems, Jira, Linux, valgrind, vtune, Multi-threaded Software, Design Patterns, Standard Template Library, STL, Boost, Agile, Scrum, (TBB), DATABASE, memory layout, profiler, user interface, communication, presentation skills, flexible, cooperative team player