![freelance.de - Software Engineering Craftsman freiberufler Software Engineering Craftsman auf freelance.de](/user-images/profiles/thumbnails/132321_176_5c2cb4e2b10c.jpg?ee705985257acbf5727c0c87eccb6f00)
Software Engineering Craftsman
- Verfügbarkeit einsehen
- 0 Referenzen
- 88€/Stunde
- LS12 5LW Leeds
- auf Anfrage
- en | de
- 22.04.2023
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
8/2017 – offen
Tätigkeitsbeschreibung
The client has a software product with over 100 customers using various different version of the software product. Currently, the software developers build and manually install a version of the software for each new customer. They had no way automated method of tracking what version of the software each customer was using.
I was brought in to introduce version management and automate and continuous delivery pipeline. I set up TeamCity to automatically generate builds when new code was pushed to the develop branch. I set up automatic version incrementing and tagging when code was pulled into the master branch. I set up automatic building and packaging of build artifacts and added them to a package repository. I then configured Octopus Deploy and multi-tenant deployments to allow them to automatically deploy the software to their customers.
In addition, I set up version management for the database their software used. I introduced compilation of SQL Server DACPACs for packaged automated deployments of database updates.
SESAM/SQL Server, SCRUM, .Net Framework (Microsoft), C#, PowerShell, Windows Presentation Foundation (WPF), Microsoft Build Tools (MSBuild), Git, WIX (Windows Install XML), ASP.NET
8/2016 – 5/2017
Tätigkeitsbeschreibung
Lead the services engineering team on a greenfield project to provide ticket vending solutions at massive scale.
ACHIEVEMENTS OF NOTE
Designed and built a prototype for a hyper-scalable ticket vending platform. The prototype could sell tickets for events at rates in the order of thousands of tickets per second. This outperformed everything in the industry. The prototype was used to design a new system architecture.
Designed and built a solution for using access tokens used to authenticate users in the web-tier (JWTs) for authenticating users in the data-tier. This facilitated user data isolation in the database, enabling a per-user repository model. By isolating data at the user level in the database, it removed the need to filter the data in the application layer. This reduced the complexity of the application by making all queries agnostic to the user context. It also massively improved security, since no data could be accessed if database credentials were leaked.
Introduced: [Outside-in] TDD; BDD; engineering best practises; Visual Studio Team Services (VSTS); team wiki; Scrum.
SKILLS USED
Languages: C♯; SQL.
Platforms: Service Fabric; Microsoft Azure; .NET Framework; Stripe; Auth0.
Technologies: ASP.NET Web API; Entity Framework; Azure Active Directory (AAD); Azure Resource Manager (ARM); SQL Row Level Security (RLS).
Methodologies: BDD; TDD; Agile; Scrum; CI.
Microsoft Power BI, Transact-SQL (T-SQL), SESAM/SQL Server, SCRUM, Testautomatisierung, Active Directory, .Net Framework (Microsoft), C#, PowerShell, Git, NUnit, Microsoft Azure, Representational State Transfer (REST), ASP.NET
2/2016 – 8/2016
Tätigkeitsbeschreibung
Designed and delivered a born-in-the-cloud Workflow as a Service (WaaS) system.The system was created to allow defining, executing and coordinating long running processes reliably in a hyper-scalable environment running on Service Fabric on Microsoft Azure.
Achievements of note include:
- Mentored each member of the team to ensure consistent, homogenous engineering practises, including: CQS; Encapsulation; SOLID; Outside-in TDD; Triangulation; Behaviour Verification; Characterisation Tests; Pairing; Devil’s Advocate; Ping-Pong; Gollum Style; Red-Green Refactor, etc.
- Designed and built a programmable Workflow as a Service system for defining complex long-running tasks as visualised flowcharts. The system was flexible enough to provide anything from custom user sign up journeys per brand to long running complex real-time parallel credit data processing and integration.
- Designed and built an automated testing bridge to allow NCrunch to execute Gauge’s Specification by Example tests: NGuage.
- Introduced: Agile processes (Scrum) into a Waterfall team; TDD; BDD; engineering best practises; team wiki.
Skills used:
Languages: C♯; HTML; JavaScript; CSS.
Platforms: Service Fabric; Microsoft Azure; .NET Framework; .NET Core 1.0.
Technologies: ASP.NET Core 1.0; Entity Framework Core 1.0; Web API; Azure Activity Directory B2C; API Management; Angular.
Methodologies: BDD; TDD; MVVM; MVC; Agile; Scrum; CI.
SCRUM, Testautomatisierung, Active Directory, .Net Framework (Microsoft), C#, Windows Presentation Foundation (WPF), Git, NUnit, Microsoft Azure, JavaScript Object Notation (JSON), CSS (Cascading Style Sheet), HTML, AngularJS, ASP.NET, JavaScript
11/2014 – 12/2015
Tätigkeitsbeschreibung
Engineered streaming media applications on Xbox One, Windows and Windows Phone for a major US cable and telecommunications company, AT&T. Worked as part of a co-located team in York, Miami FL, Dallas TX and San Diego CA.
Achievements of note include:
- Designed testing techniques and architecture for building an application test-first on a platform that didn’t support testing (Xbox One).
- Introduced TDD and BDD methodologies in to the project (AT&T U-verse for Xbox One) and the team. These methodologies allowed us to deliver work that had been scheduled to take 3 months to complete within 6 weeks.
- Co-authored an extension to the Jasmine testing framework for writing descriptive test cases -Hyperlink entfernt-.
- Designed and implemented an Adaptive Scaling behaviour to ensure the app had the same look and feel on all devices, independent of screen resolution, pixel density and aspect ratio.
- Created a Continuous Integration and deployment process for the Windows app using the TeamCity Continuous Integration environment.
- Designed and built an Electronic Program Guide (EPG) in the app, responsible for fluidly delivering a 14-day channel scheduled for over 700 channels of content. The EPG needed to work and be responsive on all device profiles and screens, from powerful developer machines down to low-end mobile phones.
- Designed and implemented a Response Layout behaviour to allow simple declaration of alternate layouts for views in different aspect ratios.
Skills used:
Languages: HTML; JavaScript; LESS; CSS; C♯; XAML.
Platforms: Xbox One; Windows 10; Windows 8.1; Windows Phone 8.1; .NET Framework; Universal apps.
Technologies: WinJS; WinRT; Jasmine; PRISM; Ninject.
Methodologies: BDD; TDD; MVVM; Agile; Scrum; CI.
Transact-SQL (T-SQL), Windows 10, SCRUM, Testautomatisierung, .Net Framework (Microsoft), C#, Windows Presentation Foundation (WPF), Git, NUnit, HTML, JavaScript
7/2014 – 10/2014
Tätigkeitsbeschreibung
Contracted to develop an ASP.NET MVC Web API for the next iteration of the business’ proprietary iPad POS app, iSales 3. A new version was being developed to replace the existing version, which was poorly implemented, difficult to maintain and interfaced with aging infrastructure, which also needed replacing. The new application was to form the first part of the business’ migration from legacy Delphi/ADS infrastructure to a more modern .NET/SQL Server infrastructure.
Since projects comprising the full migration of the business’ systems were planned to take place over an 18-24 month period, data captured in the new iSales application and persisted using SQL Server was synchronised back to ADS and the legacy systems using SQL Server Integration Services (SSIS) using an eventual consistency model.
Achievements of note include:
- Introduced BDD tools (Calabash and RubyMine) and techniques to the iOS development team. This enabled the team to produce better tested code and gave key stakeholders the visibility and confidence that business requirements were being met by the application.
- Deployed local NuGet server and configured CI environment (Jenkins) to package and deploy builds. This helped to reduce issues with shared code and versioning suffered by the team.
- Leveraged CQRS pattern to build a scalable platform for fulfilling requests received from the iSales app by the Web API.
- Completely redesigned the Merchandising domain to meet long term strategic plans of the business. Created a hierarchical attribution model for describing products and ranges, modelling data and processes to match the information and processes used by the Merchandising teams.
Skills used:
Languages: C♯; XAML.
Platforms: .NET Framework; SQL Server 2014; SQL Server Integration Services (SSIS); WSO2 Enterprise Service Bus.
Technologies: ASP.NET MVC Web API 2; Windows Presentation Foundation (WPF); Entity Framework (EF); RabbitMQ.
Methodologies: CQRS; BDD; TDD; MVVM; Agile; Scrum.
Transact-SQL (T-SQL), SESAM/SQL Server, SCRUM, Testautomatisierung, Enterprise Service Bus (ESB), .Net Framework (Microsoft), C#, Windows Presentation Foundation (WPF), Git, NUnit, Jenkins, ASP.NET
12/2013 – 5/2014
Tätigkeitsbeschreibung
Upon joining the team, I inherited a poorly implemented, over-engineered codebase with very few tests around the existing functionality. I was given the task of re-implementing a product, with a strong focus on test-first principals.
Achievements of note include:
- Introduced Test Driven Development and Behaviour Driven Development methodologies in to the project (HSTE) and the team.
- Strong focus on developing test-first to help ensure the quality of the final product.
Increased code coverage in the Secure Xliff Editor component from 3% to 88%.
- Designed and implemented functional updates to the HSTE and Secure Xliff Editor following feedback from linguist trials.
- Applied security revisions to the HSTE application following recommendations made by an NCC - - Group security review on the product. This was to make the product security compliant for large financial institutions that want to ensure the security of their sensitive documents undergoing translation.
- Created a secure ClickOnce deployment and deployment process of the HSTE app to ensure secure delivery of the app to client computers. CI build and deployment process was updated to obfuscate, package, sign and deploy the app using the TeamCity Continuous Integration environment.
- Successfully deployed the first release, version 1.0.0, of the Highly Secure Translation Editor to the business for linguists. The application has a current patent pending for the security mechanisms leveraged.
Skills used:
Languages: C♯; XAML; XLIFF.
Platforms: .NET Framework; SQL Server 2012 R2.
Technologies: Windows Presentation Foundation (WPF); Windows Communication Foundation (WCF); Entity Framework (EF); ClickOnce.
Methodologies: BDD; TDD; MVVM; Agile; Scrum.
Transact-SQL (T-SQL), SESAM/SQL Server, SCRUM, Testautomatisierung, .Net Framework (Microsoft), C#, Windows Presentation Foundation (WPF), NUnit, Click'n'Run
12/2012 – 11/2013
Tätigkeitsbeschreibung
Following the success of BBC iPlayer for Xbox 360, was invited back to the BBC to look at abstracting the code base to facilitate engineering future apps on Xbox 360 and Xbox One. Identified the ability to abstract the code base further into a platform-agnostic framework for engineering apps on multiple platforms: the Build Once Application Framework (Build Once).
Lead a team to design and build a platform-agnostic framework for engineering apps once and deploying to multiple client devices without the need to rebuild the source code.
Achievements of note include:
- Pitched the concept of Build Once to key stakeholders. Took the project from concept, built a working prototype, provided a business case then delivered a production-ready framework.
- Demonstrate the concept and potential of Build Once to Microsoft. This achieved buy-in from Microsoft, who provided equipment and technical support to the team to assist in delivering the framework.
- Delivered a framework that currently supports: Xbox 360 (ADK); Windows Phone; Windows 8 (WinRT) & .NET Framework. In addition, the framework was designed to be platform-agnostic and will support: Android; iOS & Mac OS X.
- Attended early technical briefings on Xbox One to understand how the BBC could deliver apps engineered for the new console. Lead technical evaluations of the Xbox One development environment and created exploratory apps for play back of BBC content on the device.
- Provided a written report & briefing to key stakeholders detailing recommendations on how to engineer apps test-first on Xbox One. The document detailed both technical and non-technical factors to be considered when engineering apps for the device.
Skills used:
Languages: C♯; XAML; HTML; JavaScript.
Platforms: .NET Framework; Xbox 360 (ADK); Xbox One; Windows 8; Windows Phone.
Technologies: Portable Class Libraries (PCLs); Silverlight for Xbox 360; Silverlight for Windows Phone; WinRT; WinJS.
Methodologies: BDD; TDD; MVVM; Agile; Scrum.
Windows Phone, SCRUM, Testautomatisierung, .Net Framework (Microsoft), Apache Subversion (SVN), C#, NUnit, HTML, JavaScript, Microsoft Silverlight
9/2012 – 10/2012
Tätigkeitsbeschreibung
Short contract to provide consulting services to an existing software engineering team working on a green field project. Brought in to evaluate an active project that was lacking technical direction and where there was doubt the proposed solution would meet the needs of the business. Evaluated the goals of the project and aligned them to the current business needs. Worked with the team to understand the current position of the project. Used this information to design a revised architecture that was capable of delivering on the business’ needs. In addition, analysed current “agile” working practises in operation within the team.
At the end of the contract, delivered a report detailing the findings along with a specification for the revised architecture. The report also contained information on suggested process management and provided recommendations and tooling for implementing Scrum within the team. The report was used to re-organise the team’s goals and working procedures to help to ensure delivery of the required product on budget and on schedule.
Achievements of note include:
- Worked with all disciplines of the team from engineers all the way up to CIO to understand the requirements of the project, the team and the business.
- Designed a scalable solution based on the business’ current and anticipated future needs based on growth projections and long term planning of the business.
- Delivered a prototype solution based on the recommended architecture to prove the concept to key stakeholders within the business.
- Made written recommendations on how to implement a solution to meet the business’ needs and what technologies should be leverage to best deliver the solution based on the prototype. Briefed these recommendations into the CIO.
Skills used:
Languages: C♯; XAML; XML; HTML; JavaScript.
Platforms: .NET Framework; Windows Azure.
Technologies: WF; WCF; EF; ASP.NET MVC; WPF.
Methodologies: TDD; MVVM; MVC; Agile; Scrum.
SCRUM, Testautomatisierung, .Net Framework (Microsoft), C#, Windows Presentation Foundation (WPF), NUnit, Microsoft Azure, HTML, ASP.NET, JavaScript, Prozess- / Workflow
6/2011 – 8/2012
Tätigkeitsbeschreibung
Worked as part of a core engineering team building BBC iPlayer for Xbox 360. Participated on the project from Day 1, working closely with UX Designers, Product Owners, QA Test Engineers, Software Engineers, Project Managers and key stakeholders. Worked on all areas of the application development, establishing coding best practices and patterns in the product to ensure delivery of the highest possible quality product.
Participated in the design, development, QA, submission and certification of four releases of BBC iPlayer for Xbox 360 (v1.0 - v1.3).
Achievements of note include:
- Designed testing techniques and architecture for building an application test-first on a platform that didn’t support testing.
- Championed test first and development best practices for engineering the product. A no-compromise approach was used to engineer BBC iPlayer for Xbox 360 to the highest standards, leveraging latest patterns and practises resulting in a highly polished product.
- Built NUnit Test Runner for Xbox 360 to facilitate test driven development of platform-specific code, such as Kinect and integration with Xbox LIVE.
- Designed and implemented a lightweight workflow engine and user control for rendering workflow content. The workflow engine was used to run the Parental Guidance, Help & Settings and Resume features within the product. It was built to provide complex functionality without associated complex development times. Liaised with UX designers and Product Owners to accommodate and agree an acceptable compromise between design and functionality in order to meet the tight deadlines.
Skills used:
Languages: C♯; XAML; XML.
Platforms: .NET Framework; Xbox 360 (ADK); Windows 8; Windows Phone 7.5.
Technologies: Silverlight for Xbox 360; Silverlight for Windows Phone 7.5; WinRT; WPF.
Methodologies: BDD; TDD; MVVM; Agile; Scrum.
Presentations on:
- Test Driven Development with Windows Phone 7
- Developing BBC iPlayer for Xbox 360 with TDD and BDD
Windows Phone, SCRUM, Testautomatisierung, .Net Framework (Microsoft), Apache Subversion (SVN), C#, NUnit, Microsoft Silverlight
10/2010 – 4/2011
Tätigkeitsbeschreibung
Working as part of a large software development team across several development lifecycles on the upcoming version of the client’s flagship, industry-leading translation management system, LanguageDirector® 3 TMS. The application is built using the latest technologies in .NET Framework 4, in a fashion that Microsoft intended when it designed this version of the framework. Working on all aspects of application development, including client-side MVC 2 (including jQuery), Silverlight 4 and WPF applications, as well as server-side WCF services, workflow activities and associated class libraries and databases.
Achievements of note include:
- Lead an initiative to improve the user experience for technical users using the Workflow Designer in LanguageDirector® 3 TMS. Created several custom Workflow Activity Designers to greatly enhance the user experience and guide the user through some of the more complex workflow activities in LanguageDirector® 3 TMS.
- Created new file format support and extended existing file format support in LanguageDirector® 3 TMS, including Xml support, Microsoft Office Word document elements and archive (zip file) support through the creation of extraction and compression workflow activities.
- Worked on the architectural design to provide support for synchronising workflow activities in disparate workflow instances. This feature is used to control the execution of critical workflow activities in separate workflows that should be prevented from executing concurrently.
Projects: Development of latest version of thebigword’s industry-leading LanguageDirector® 3 TMS.
Skills used:
Languages: C♯; XAML; XML; XSLT; XSD, Javascript, jQuery.
Platforms: .NET Framework 4; SQL Server 2008 R2.
Technologies: WF; WCF; EF; WPF; Silverlight; ASP.NET MVC.
Methodologies: TDD, BDD, Agile.
Transact-SQL (T-SQL), SESAM/SQL Server, Agile Entwicklung, .Net Framework (Microsoft), C#, Windows Presentation Foundation (WPF), NUnit, ASP.NET, JavaScript, jQuery, Microsoft Silverlight
4/2010 – 10/2010
Tätigkeitsbeschreibung
Designed and built Auto Typesetting platform and several applications to leverage the platform, including ASP.NET (Web Forms) applications, Silverlight 4.0 applications and a Windows Presentation Foundation (WPF) application.
Worked on projects as Solutions Architect/Lead Developer for several major UK brands, including Homebase, Thorntons and Waitrose.
Achievements of note:
- Designed and built a bespoke technology for performing multi-threaded asynchronous tasks in an ASP.NET environment outside the normal page lifecycle. Multiple applications for the technology were then identified and the technology applied to great effect, bringing dramatic improvements to performance and scalability of applications.
- Evangelised several new technologies to the development team, which have now been adopted by the department. The technologies were used to reduce development time and increase developer productivity. In addition, some of the technologies and techniques introduced allowed the team to resolve long-standing problems that were difficult to resolve using more traditional techniques.
- Pitched a concept system to consolidate and unify several existing disparate applications across multiple clients into one central system delivered by a Service Oriented Architecture (SOA) and consumed by platform-independent applications. Development of the proposed system will widely increase Bezier’s digital client exposure, allow clients to engage Bezier in new ways thereby increasing uptake of print services, increase profitability of the organisation and reduce maintenance and development costs.
Client Projects: Homebase; Thorntons; Boots; Halfords; LA Fitness; AkzoNobel; Bezier Connect; Waitrose.
Skills used:
Languages: C♯; XAML; XML; XSLT; XSD, Javascript.
Platforms: .NET Framework 4; SQL Server 2008 R2.
Technologies: ASP.NET (Web Forms); EF; Silverlight; WPF; WCF RIA Services.
Methodologies: Scrum.
Agile Entwicklung, C#, ASP.NET, JavaScript, Microsoft Silverlight
3/2007 – 4/2010
Tätigkeitsbeschreibung
Lead a team designing and developing ASP.NET, Silverlight and Windows applications. Responsible for liaising with clients, managing projects, meeting time/budget requirements and ensuring the quality of the completed project.
As lead developer, responsible for evaluating and leveraging the latest technologies to allow the business to better meet clients’ needs.
Achievements of note:
- Designed and implemented a complete website management framework that forms the core of all websites built by the company. The framework including facilities for content management, product catalogue, shopping carts, secure Internet payment gateway integration and customer order management. In addition, a web-based management application was built to leverage the framework, allowing the company’s clients’ to maintain all aspects of their websites.
- Designed and directed development of a client-server Windows application for an NHS quality control department. The application allows the department to centralise and automate analysis and reporting of audit data for the cervical screening programme. The application replaced a manual process and reduced data processing and reporting times from 3 weeks to one day.
- Designed and developed a secure platform for registering and placing commission bids through a website for a large independent auction house. The platform allows visitors to view lots in upcoming auctions and place bids for items by proxy. Credit/debit card details are recorded and verified with bids to speed up the processing of successful bids.
Skills used: ASP.NET; VB.NET (.NET 3.5 SP1); SQL Server 2008; LINQ; ADO.NET Entity Framework; Javascript; Silverlight 3.0; Web Services; Windows Communication Foundation (WCF); Windows Presentation Foundation (WPF).
Transact-SQL (T-SQL), SESAM/SQL Server, .Net Framework (Microsoft), Visual Basic, Windows Presentation Foundation (WPF), ASP.NET, JavaScript, Microsoft Silverlight
6/2004 – 3/2007
Tätigkeitsbeschreibung
Developed mission critical business application solutions for corporate-wide use. Responsible for all IT systems in the Leeds office, as well as support and development of the web-based .NET application for the international call centres. My work received several commendations and earned me two promotions in a twelve-month period.
Achievements of note:
- Developed a new contract mobile phone application form with Visual Basic .NET using ASP.NET, connecting to a SQL Server database. The system is used by over 100 employees across 3 Indian call centres. The new application form reduced manual order intervention by administration staff by 36%.
- Designed and implemented a complete web-based (ASP) reporting solution to give business partners and call centres complete transparency to the progress of mobile phone applications placed in their call centres.
- Developed secured code for authentication, authorisation and secure storing of customers’ credit/debit card and bank account details for the mobile phone network. This work was completed in close consultation with the mobile phone network Three.
Skills used: VB.NET; C#; ASP.NET; ADO.NET; SQL Server; XML; HTML; HTTPS; client-side scripting (VBScript and JavaScript), IIS.
Transact-SQL (T-SQL), SESAM/SQL Server, .Net Framework (Microsoft), C#, Visual Basic, HTML, ASP.NET, JavaScript
Ausbildung
University of Leeds
Über mich
W. has worked hard to earn a reputation for consistently delivering the highest possible quality of software product. He often works closely with clients to lead their engineering teams and specialises in helping teams with aggressive deadlines or difficult technical challenges. W. encourages quality when leading a team by evangelising proven techniques for supporting engineering excellence, such as pairing, mentoring, SCRUM, Test Driven Development and SOLID.
Persönliche Daten
- Englisch (Muttersprache)
- Deutsch (Grundkenntnisse)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden