msteincv

7
Dr Michael Stein PhD MChem, Senior DevOps engineer 23 Ashton Court, Victoria Way , Woking, GU21 6AL [email protected] 07771870125 (preferably contact via email) I am currently the tech lead (senior DevOps engineer) for the Lastminute DevOps team. We are involved primarily in creation and sustainment of automated production/testing environments and delivery pipelines. I am an extremely passionate about the DevOps movement and see my job as my hobby as well. As such the quality of my job is very important to me. I spend much of my spare time investigating this fascinating subject, much of which can be applied to my professional life. I am extremely self sufficient and have historically been tasked with projects that require minimal management supervision. I am also an avid coder (in fact the more I can integrate the two the better) and can code professionally in a number of languages. I have a very broad experience base derived not only from my experience as a software engineer but also as my experience in DevOps at Lastminute and Detica. I am looking for a new opportunity where I can put my programming and ops skills to use. I am primarily keen to work in an environment with either a strong DevOps culture or an organisation that wishes to adopt DevOps culture and has a strong tradition of “bottom up” innovation. I would be equally at ease in an established team or in a new green field team. I would also highly appreciate an environment where I could have a strong influence on the methodologies and form of technologies that would be used. Layout: 1) Work experience 2) Key skills 3) Education Work Experience: Lastminute.com September 2015 – Present I joined Lastminute at an unusual time. After being taken over by the Bravofly group the team was in need of urgent expertise to migrate their data centre to the new groups premises. This not only involved transferring over the old infrastructure but creating a large portion of it from scratch. I was key in redesigning a large portion or their puppet code for this venture. During this time I also created the functionality to destroy and recreate their infrastructure (a evil mixture of foreman and VMWare apis mixed in with Ansible). I also implemented the automated patching process during this time. This simplified this procedure and turned it from a risky , error prone task to a simple formality. As part of the migration I

Upload: michael-stein

Post on 23-Jan-2018

654 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MSteinCV

Dr Michael Stein PhD MChem, Senior DevOps engineer

23 Ashton Court, Victoria Way , Woking, GU21 6AL

[email protected]

07771870125 (preferably contact via email)

I am currently the tech lead (senior DevOps engineer) for the Lastminute DevOps team. We are involved primarily in creation and sustainment of automated production/testing environments and delivery pipelines.

I am an extremely passionate about the DevOps movement and see my job as my hobby as well. As such the quality of my job is very important to me. I spend much of my spare time investigating this fascinating subject, much of which can be applied to my professional life. I am extremely self sufficient and have historically been tasked with projects that require minimal management supervision. I am also an avid coder (in fact the more I can integrate the two the better) and can code professionally in a number of languages.

I have a very broad experience base derived not only from my experience as a software engineer but also as my experience in DevOps at Lastminute and Detica.

I am looking for a new opportunity where I can put my programming and ops skills to use. I am primarily keen to work in an environment with either a strong DevOps culture or an organisation that wishes to adopt DevOps culture and has a strong tradition of “bottom up” innovation. I would be equally at ease in an established team or in a new green field team. I would also highly appreciate an environment where I could have a strong influence on the methodologies and form of technologies that would be used.

Layout:

1) Work experience2) Key skills3) Education

Work Experience:

Lastminute.com September 2015 – Present

I joined Lastminute at an unusual time. After being taken over by the Bravofly group the team was in need of urgent expertise to migrate their data centre to the new groups premises. This not only involved transferring over the old infrastructure but creating a large portion of it from scratch. I was key in redesigning a large portion or their puppet code for this venture. During this time I also created the functionality to destroy and recreate their infrastructure (a evil mixture of foreman and VMWare apis mixed in with Ansible). I also implemented the automated patching process during this time. This simplified this procedure and turned it from a risky , error prone task to a simple formality. As part of the migration I

Page 2: MSteinCV

also travel led out to assist the our P1 team in Bangalore. During this period I incubated a number of changes to their workflow. In the end the process was a rapid one due to the high level of automation and the combined input of the DevOps team.

It was a harrowing process but one I was proud the have been such a big part of.

Since this time I have become to tech lead of the team. I have focused my efforts on a number of areas, my day to day role includes work on the following:

• Ironing out of bugs/ reimplementing large parts of the puppet codebase as needed.

• Expanding the Puppet code base with new functionality as requirements change.

• Supporting the P1 team on more complex issues that arise during more serious incidents.

• Tutoring the P1 team on DevOps tooling and practices whilst monitoring their work and practices.

• Integrating with various Dev team leads regarding the form of our Continuous Delivery pipelines and automated testing.

• Developing tooling around our monitoring, quality control systems. These generally take the form of maintainable code bases in either Python or Ruby.

• Assisting with the automated deployment of our AWS estate. This involves the development of Troposphere wrappers. This also can involve general AWS support for releases, bugs etc.

• Code review and mentoring of fellow team mates in addition to liason with management regarding sprint workflow and future planning.

• Introduction of new tools and methodologies to work group, such as the use of pseudo-sprints for DevOps teams, the introduction of testing for puppet, the use of Ansible for orchestration , the use of docker/Vagrant for testing etc.

• Creation of tools to assist the P1 team, the most recent of which was a custom blog for important system notices but has also included multi-threaded smoke tests for production and Ansible playbooks to name a few .

• Experimental projects to explore the benefits of new technology such as Kubernetes/ansible orchestraion, Terraform etc.

Page 3: MSteinCV

• I will also generally be present and support the more risky changes that occur in production.

Applied Intelligence (formally Detica) (BAE systems) January 2014 – September 2015

My time at Detica was broadly split into two halves. The second half was focused on a DevOps role. During this time I was heavily involved in designing, and implementing a bespoke DevOps delivery, testing and development solution. The work quite a success and was eventually nominated for out chairmans awards! The system is still in active use today and has proved resilient.

During this time our team transitioned from delivering twice a year to within a day, all with much less risk and stress.

My day to day role included work on the following:

• Development of automatic deployment systems . This involved the creation of custom Linux distributions (Generally CentOS distributions with custom kernels) , the development of Puppet modules/profiles , the creation of Docker images and Packer built Vagrant boxes for testing purposes, general packaging for Windows/Linux using rpms , Chocolatey and maintenance of custom in house tools )

• Further developing of test and release capability. Generally this involved creating and maintaining both virtualised and hardware test systems with the aim of reflecting customer release platforms.

• Maintaining and improving Jenkins setup. This included the incorporation of all the more modern Jenkins approaches from version controlling build scripts through to using flows, pipelines and an array of visualization plugins to allow the development teams to be able to react to failures early (continuous integration essentially).

• Planning future extensions for our DevOps pipeline. I spend a good chunk of time discussing and planning our future work and researching recent technology/ DevOps trends (mostly in my own time).

• Mentoring members of both the Dev and Ops teams. Generally I am under the belief that a DevOps team should be implemented in an integrated manner. Part of this involves getting both Dev and Ops involved in the planning / implementation process to some degree. This involves a great deal of mentoring time. I am a keen exponent of DevOps techniques and managed to expose many of my coworkers to the practices and tools of the DevOps realm.

Page 4: MSteinCV

Applied Intelligence (formally Detica) (BAE systems) June 4th 2012 – January 2014

For the first year and a half of my employment at BAE I was primarily a developer. I developed a wide range of applications for use in national security whilst following a rigid test driven and agile development style. During my first 1.5 years at applied intelligence I acquired the following skills:

• In depth knowledge of object oriented and maintainable C++ programming;

• Use of Ruby and Python for testing and general scripting (this has continued during my DevOps work with a great deal of our supplementary software being based in one or the other);

• Linux and Windows development (predominately Linux based development);

• Professional development as well as a heavy emphasis on unit and end to end testing as a compliment to core code ;

• Fast paced development within an agile scrum-like environment.

• Full exposure to the full end to end development cycle, from planning , implementation, testing and release (with various iterations in between).

Skills in general

I am deeply passionate about the DevOps movement and am constantly updating my knowledge in the area. My DevOps centric skills are as follows:

- Expert Puppet knowledge

This includes custom ENCs, roles and profiles, custom facters, providers and types. I am also well versed with Hiera usage and the standard library. I am also proficient in Ruby which allows easy development of puppet plugins. I have contributed modules to the forge including one of the earliest Kubernetes modules. I am experienced with a number of different deployments styles and would be able to implement a large scale puppet architecture from scratch with little problem.

- Ansible

Quite unintentionally I have had a good amount of experience with ansible. I mainly use it for orchestration but have also used it to automate production testing for out P1 teams.

Page 5: MSteinCV

- Coding

I can code to a high standard in a number of languages. My primary language of choice is ruby but I can also write well in Python and C++. I tend to avoid bash scripting if I can since I find it is hard to support and has no concept of object orientation. I tend to write most of my code in an object oriented style since this supports a maintainable model that can be supported and expanded upon. In my DevOps capacity much of my code is centered upon interactions with APIS but may also be used for standalone tools (for integration into Jenkins pipelines) or helpers for our P1 team. I am a heavy proponent of unit testing as well and generally push for a good level of regression testing.

- General usage of Docker

I am a keen proponent of Docker and use it as much as I can. I build custom images from our baseline images as well as generally use containers as Jenkins nodes, development boxes and quick-fire test job containers. I am most impressed by Docker but must admit that I has its limitations when used without a good deal of discipline (the old golden image issue surfaces without the use of dockerfiles). I think docker has a bright future in certain uses and am most impressed with tooling such as Swarm.

- Advanced Linux skills

I have been working with Linux for 5 years. I am proficient mainly in CentOS (el5,6,7) but am also familiar with Ubuntu/Linux mint(My home system). I am comfortable with the usual admin maintenance as well as custom kernel building, minimal systems, NFS, FTP, LVM , kickstarts, DNS, DHCP, general networking, firewalls, rpms etc.

- Windows development skills

Whilst I am much more comfortable on Linux based systems I have done my fair share of deving on windows and am able to apply many of the principles used in Linux deployments to Windows.

- AWS skills

I have had experience in supporting and automating AWS deployments with tools such as Troposphere and Terraform. I am generally familiar with a number of components included the ec2, s3 offerings as well as elb and route 53. This field is of great interest to be at present since it allows the possibility of automating everything from one central point … without having to care about hardware provisioning. This is a field I would like to develop further in!

- Virtualization skills

I am comfortable with VMWare, VirtualBox and KVM. I am also well versed in using tools such as Vagrant (awesome!) and Packer for the creation and provisioning of such environments.

Page 6: MSteinCV

- CI/Version Control

I am a big supporter of continuous integration and as such am familiar with the standard tools, Jenkins, Rundeck , git , perforce etc. I have a good knowledge of the various Jenkins plugins and the general CI approaches that they promote.

Education

PhD Computational Chemistry

Bristol University 2007-2011

My PhD helped me develop a large range of skills whilst studying solid state dynamics via the use of computational simulations ( Molecular dynamics, static minimisation and use of pseudo-potential based optimisations etc etc). I have developed both high level mathematical and computing skills. My studies have led me to become proficient in the use of Fortran, Windows and Linux systems. I also developed my literacy, presentation and organisational skills during the production of published work, presentation at conferences and during the supervision and teaching of undergraduate students.

Publications:

Gunn, DSD, Allan, NL, Foxhall, H, Harding, JH, Purton, JA, Smith, W, Stein, MJ, Todorov, IT & Travis, KP 2012, ‘Novel potentials for modeling defect formation and oxygen vacancy migration in Gd2Ti2O7 and Gd2Zr2O7 pyrochlores’. Journal of Materials Chemistry, vol 22., pp. 4675-4680

Mohn, CE, Stein, MJ & Allan, NL 2010, 'Oxide and halide nanoclusters on ionic substrates: heterofilm formation and lattice mismatch'. Journal of Materials Chemistry , vol 20., pp. 10403-10411

Master of Chemistry:

University of Warwick 2003-2007

1st Class (Honours), composite masters and bachelors.

A-Level and GCSE awards:

Langley Park School for Boys 1996-2003

Four A2 levels: Chemistry A; Computing A; Mathematics A; Physics A.

Eight A*, three A and one B GCSE grades obtained. Chemistry, Physics, Mathematics, Statistics, English literature and English language were all obtained to A* standard.

Page 7: MSteinCV

- CI/Version Control

I am a big supporter of continuous integration and as such am familiar with the standard tools, Jenkins, Rundeck , git , perforce etc. I have a good knowledge of the various Jenkins plugins and the general CI approaches that they promote.

Education

PhD Computational Chemistry

Bristol University 2007-2011

My PhD helped me develop a large range of skills whilst studying solid state dynamics via the use of computational simulations ( Molecular dynamics, static minimisation and use of pseudo-potential based optimisations etc etc). I have developed both high level mathematical and computing skills. My studies have led me to become proficient in the use of Fortran, Windows and Linux systems. I also developed my literacy, presentation and organisational skills during the production of published work, presentation at conferences and during the supervision and teaching of undergraduate students.

Publications:

Gunn, DSD, Allan, NL, Foxhall, H, Harding, JH, Purton, JA, Smith, W, Stein, MJ, Todorov, IT & Travis, KP 2012, ‘Novel potentials for modeling defect formation and oxygen vacancy migration in Gd2Ti2O7 and Gd2Zr2O7 pyrochlores’. Journal of Materials Chemistry, vol 22., pp. 4675-4680

Mohn, CE, Stein, MJ & Allan, NL 2010, 'Oxide and halide nanoclusters on ionic substrates: heterofilm formation and lattice mismatch'. Journal of Materials Chemistry , vol 20., pp. 10403-10411

Master of Chemistry:

University of Warwick 2003-2007

1st Class (Honours), composite masters and bachelors.

A-Level and GCSE awards:

Langley Park School for Boys 1996-2003

Four A2 levels: Chemistry A; Computing A; Mathematics A; Physics A.

Eight A*, three A and one B GCSE grades obtained. Chemistry, Physics, Mathematics, Statistics, English literature and English language were all obtained to A* standard.