Sergey Shishkin

🌐 Remotely from Europe | ✉️ sergey@shishkin.org | 🔗 shishkin.org | linkedin.com/in/serega |github.com/shishkin

About

Software Engineer, Consultant and Coach with 20 years of experience. As continuous learner, knowledge multiplayer and software gardener, I help teams increase productivity, establish continuous learning culture and steadily deliver customer value. I have both deep and broad expertise in software development practices. I'm an active member of various professional software development communities and occasional conference speaker on topics of interest and expertise. My interests include functional programming languages, systems thinking, organizational dynamics and coaching.

Skills

  • Lean and agile software development across all stages of the lifecycle including product and backlog planning, high-levelarchitecture and design, test-driven development and pair programming, left-shifting of quality through continuous integrationand continuous delivery. DevOps and automation of all repetitive tasks and quality gates.
  • Individual and team coaching through a blameless, solution-focused approach. Mentoring and training in software development-related topics.
  • Functional, reactive and object-oriented programming. Design patterns, clean code, test-driven development, refactoring, working with legacy code.
  • Solid experience across JavaScript, JVM and .NET stacks. Web, backend, microservices and data pipeline development. Project experience with Scala, Java, Clojure, F#, C#, TypeScript, JavaScript, Elm, HTML/CSS, SQL/NoSQL and many more. Cloud and PaaS environments.

Work Experience

  • Software Engineer, Consultant and Coachat shishkin.org

    Offering all of my skills and experience via consulting, training, workshops and project contracting.

  • Technical Lead, Solution Architect at Standard Chartered Bank (Singapore)

    Led an agile product development team. Introduced technical excellence practices of test automation, CI/CD, peer code reviews, regular architecture and design sessions. Hired and developed strong engineers. Ran initiative to containerize the application and replatform from enterprise application server on internal on-prem Kubernetes PaaS.

    Promoted agile ways of working and product management within the technology department. Managed business stakeholders, infrastructure teams and internal process control owners. Helped to devise the business unit’s technical strategy and enterprise architecture.

    Led efforts to design and roll out a bespoke talent development program for emergingtechnical leaders.

  • Data Scientist at Teralytics (Singapore)

    Reengineered a big data analytics pipeline for performance using Apache Spark, Mesos, Parquet, HDFS. Improved CI infrastructure anddevelopment workflow. Driven technical excellence in the engineering team, internal and external open-source, and community engagements. Raised team’s competence with Scala and functional programming.

  • Agile Coach at JPMorgan Chase Bank (Singapore)

    Coached teams in lean and agile software development and architecture. Coached program leaders in lean and systems thinking. Led by example while working in the product development teams. Taught developers test-driven development and clean code practices through pair-programming and internal communities of practice. Implemented parts of the continuous delivery pipeline using Jenkins. Taught functional and reactive programming with Scala and Akka.

  • Independent Software Consultant and Coach(Düsseldorf, Germany)

    Coached a client’s software development teams and stakeholders in Kanban and Scrum. Helped implement the continuous delivery pipeline using TeamCity and F# scripting tools. Coached developers in OO design principles, TDD, refactoring and working with legacy code.

    Designed and developed hypermedia web APIand a high throughput event processing system for a telecom provider using Scala, Akka, Hadoop, MongoDB and Kafka. Introduced Kanban as a method of an evolutionary change that helped increase delivery throughput and release predictability.

  • Senior Consultant at MT AG (Ratingen, Germany)

    Developed backend, client-server and portal software systems using .NET technology for various clients. Authored and conducted trainings on lean and agile software development.

  • Software Architect at InterComponentWare AG (Cologne, Germany)

    Developed a modularized rich-client and server backend application with .NET technologies in over 500k LoC in 150 components with a team of 20 developers. Analyzed and optimized performance. Mentored team members and conducted code reviews.

    Introduced Scrum in a cross-functional team of 35 people including product managers, testers, developers and technical writers. Trained and conducted workshops individually for each group of stakeholders and team members to ensure the lasting effect of agile transition. Introduced automated acceptance testing and executable specification practice with FitNesse.

  • Software Engineer at newtelligence AG (Korschenbroich, Germany)

    Developed web and backend software systems with .NET, SQL Server, asynchronous messaging, claim-based authentication and JavaScript.

    Authored and delivered developer trainings on .NET and service-oriented architecture.

  • Software Developer at Electronic Documents (Novosibirsk, Russia)

    Developed line of business intranet and internet applications using ASP.NET technologies and SQL Server databases. Built dynamic HTML applications with asynchronous JavaScript requests way before the term AJAX was coined and became popular.

Education and Certifications

  • Solution Focused Coach Training Level 1, ICF ACSTH, Academy of Solution Focused Training
  • Certified Practitioner of Human-Centered Design, LUMA Institute
  • Fundamentals of Co-Active Coaching, Co-Active Training Institute
  • Professional Scrum Master I, Scrum.org
  • Diploma, Engineer of Information Technology, Novosibirsk State University, Russia