Nurturing Design in Your Software Engineering Culture

Strategic Tech

There are a few qualities that differentiate average from high performing software engineering organisations. In my experience, the culture is better and the results are better in orgs where engineers and architects obsess over the design of code and architecture.

Do’s and Don’ts for Software Engineer Job Interview


In my estimation, I have given over 2,500 interviews in my career, the bulk of them for Software Engineer positions. I have been interviewing Software Engineers for over 25 years and in my current role as CEO of Solution Street, I conduct, on average, two interviews a week. Do’s for a Software Engineer Job Interview.


Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Software engineering for machine learning: a case study

The Morning Paper

Software engineering for machine learning: a case study Amershi et al., More specifically, we’ll be looking at the results of an internal study with over 500 participants designed to figure out how product development and software engineering is changing at Microsoft with the rise of AI and ML. Respondents were well spread across data and applied science (42%), software engineering (32%), program management (17%), research (7%) and other (1%).

Team building in software engineering


This can be a challenge for engineering teams: engineers can be less social and more competitive than non-engineers. The post Team building in software engineering appeared first on Tasktop Blog. EngineeringWhen you come in to work, do your teammates greet you? Are jokes told on your team? E specially bad ones? Do you chat about anything besides work? Trust is essential to teams.

A Note to Business Leaders on Software Engineering

Strategic Tech

Software developers are interchangeable. A software developer with a computer science degree will produce the same quality of work as any other software developer with a computer science degree. If that sounds like something you would say or think, then your perception of software development is severely detrimental to the health of your business. Productivity of software teams, over the short and long-term, can vary by many orders of magnitude.

Improve Interviews for Software Engineers

Professor Beekums

What was interesting was that here was an engineer that I would have hired in a heartbeat and yet his performance during the interview was incredibly mediocre. I recently gave a friend a mock interview. He was trying to prepare for a big interview and needed practice. His first reaction was “I really need to improve my interviewing skills.” ” The sad thing is, he probably did if he wanted to get that job

The 737Max and Why Software Engineers Might Want to Pay Attention

J. Paul Reed

The 737Max and Why Software Engineers Might Want to Pay Attention As someone with a bit of a reputation for talking about aviation and software development and operations , I’ve been asked about the 737Max repeatedly over the past week. This , in turn, necessitated changes in engine design and mounting and because of these changes, engineers changed some of the flight control systems.

A Day in the Life of… a Senior Software Engineer and Team Lead


He’s one of our Senior Software Engineers and Team Leads who works remotely in Germany. Probably very different from most other Tasktopians; I’m a remote engineer from the south-west of Germany. I’m a Senior Software Engineer and Team Lead of one of the Tasktop Integration Hub teams. What does a typical day as a Senior Software Engineer and Team Lead look like for you? Engineering Tasktop NewsMeet Jordi Böhme!

Key Application Performance Metrics From the Viewpoint of a Statistician-Turned-Developer


performance development web developement heroku software engineering performance management tuning and testingYou’ve just released your new app into the wild, live in production. Success! Now what? Your job is done, right? Wrong.

Achieving observability in async workflows

The Netflix TechBlog

Prodicle is one of the many applications that is at the exciting intersection of connecting the world of content productions to Netflix Studio Engineering. netflix-studio workflow-management asynchronous tracing software-engineering

Clean Unit Testing


It can also be very easy to write unit tests that are — in theory — units test but are more complex than the underlying code and hence just add to the total software entropy. java performance software engineering unit test spock unit testing best practices

Growth Engineering at Netflix- Creating a Scalable Offers Platform

The Netflix TechBlog

The Growth Engineering team is responsible for executing growth initiatives that help us anticipate and adapt to this change. For more background on Growth Engineering and the signup funnel, please have a look at our previous blog post that covers the basics.

Growth Engineering at Netflix?—?Automated Imagery Generation

The Netflix TechBlog

Growth Engineering at Netflix?—?Automated In the Growth Engineering team, we refer to this as the top of the signup funnel. If you recall in our previous blog post , Growth Engineering owns a service called the Orchestration Service. Growth Engineering at Netflix?—?Automated

Watchman: monitoring dependency conflicts for Python library ecosystem

The Morning Paper

Uncategorized Software EngineeringWatchman: monitoring dependency conflicts for Python library ecosystem Wang et al., ICSE ‘20. There are more than 1.4M Python libraries in the PyPI repository. Figuring out which combinations of those work well together is not always easy.

Why Automated Test Projects Fail


performance software testing project management automated testing software developent software engineering software test automation quality engineering quality assuarance engineering managementThe points discussed here do not generally apply to tech companies or companies that have strong technical leadership. These problems show up where there may be a lack of familiarity with automated testing by leadership.

How Netflix microservices tackle dataset pub-sub

The Netflix TechBlog

pub-sub software-engineering microservices netflixBy Ammar Khaku Introduction In a microservice architecture such as Netflix’s, propagating datasets from a single source to multiple downstream destinations can be challenging. These datasets can represent anything from service configuration to the results of a batch job, are often needed in-memory to optimize access and must be updated as they change over time.

Cache 193

Evolving Regional Evacuation

The Netflix TechBlog

Niosha Behnam | Demand Engineering @ Netflix At Netflix we prioritize innovation and velocity in pursuit of the best experience for our 150+ million global customers. software-engineering netflix failover fault-tolerance microservicesThis means that our microservices constantly evolve and change, but what doesn’t change is our responsibility to provide a highly available service that delivers 100+ million hours of daily streaming to our subscribers.

Improve the Quality of Your Software in 6 Steps


Do your customers keep complaining about bugs in your software application? If you answered yes , then you probably have issues with the quality of your software application. tutorial performance ux software engineering software quality legacy code sonarqube sonarlintDoes it take you too much time to implement new features? Here are 6 practical steps that you could follow, to improve its quality. Stop Creating New Quality Issues.

Re-Architecting the Video Gatekeeper

The Netflix TechBlog

By Drew Koszewnik This is the story about how the Content Setup Engineering team used Hollow, a Netflix OSS technology, to re-architect and simplify an essential component in our content pipeline?—?delivering A reduction in the time the Content Setup Engineering team spends on performance-related issues. During each cycle, it reads all messages which have been added to the topic since the last cycle and mutates the Hollow state engine to reflect the new state of the updated records.

Reverb: speculative debugging for web applications

The Morning Paper

Each component records its nondeterministic events; if a component uses a JavaScript engine, then the component also records its deterministic reads and writes to JavaScript state and the DOM. Uncategorized Software Engineering

Migrating a privacy-safe information extraction system to a Software 2.0 design

The Morning Paper

Migrating a privacy-safe information extraction system to a software 2.0 This is a comparatively short (7 pages) but very interesting paper detailing the migration of a software system to a ‘Software 2.0’ traditional software) to a Software 2.0

Programs, life cycles, and laws of software evolution

The Morning Paper

Programs, life cycles, and laws of software evolution , Lehman, Proc. As computers play an ever larger role in society and the life of the individual, it becomes more and more critical to be able to create and maintain effective, cost-effective, and timely software.

Local-first software: you own your data, in spite of the cloud

The Morning Paper

Local-first software: you own your data, in spite of the cloud Kleppmann et al., If you start reading this paper you could be lost for hours following all the interesting links and ideas, and end up even more dissatisfied than you already are with the state of software today. Local-first software ideals. As we shall see, this change in perspective has profound implications… Great local-first software should have seven key properties.

Static Analysis of Java Enterprise Applications: Frameworks and Caches, the Elephants in the Room

The Morning Paper

Uncategorized Software EngineeringStatic analysis of Java enterprise applications: frameworks and caches, the elephants in the room , Antoniadis et al., PLDI’20. Static analysis is a key component of many quality and security analysis tools. Being static , it has the advantage that analysis results can be produced solely from source code without the need to execute the program.

Cache 65

The TaskTalks Podcast is back: ‘A Day in the Life of a Senior Software Engineer’


For the first episode, one of our software engineers, Tim Van Der Kooi, interviewed Ryan Nosworthy. Ryan is a senior software engineer here at Tasktop, and he’s working on been working on Tasktop Viz, our new product that we unveiled at DOES 2019 last week. We have a small team at Viz, there are five engineers. The post The TaskTalks Podcast is back: ‘A Day in the Life of a Senior Software Engineer’ appeared first on Tasktop Blog.

Synthesizing data structure transformations from input-output examples

The Morning Paper

” Never mind, because the ideas in the paper are still very connected to a question I’m fascinated by at the moment: “how will we be developing software systems over this coming decade?”

Automating chaos experiments in production

The Morning Paper

This is a fascinating paper from members of Netflix’s Resilience Engineering team describing their chaos engineering initiatives: automated controlled experiments designed to verify hypotheses about how the system should behave under gray failure conditions, and to probe for and flush out any weaknesses. degraded hardware, transient networking problem) or, more often, because of some change deployed by Netflix engineers that did not have the intended effect.

How do committees invent?

The Morning Paper

If it helps, then in the software context if you mentally substitute ‘design and development’ every time Conway talks about design and the design organisation I don’t think you’ll go too far wrong. Uncategorized Software EngineeringHow do committees invent? Conway, Datamation magazine 1968.

Scaling symbolic evaluation for automated verification of systems code with Serval

The Morning Paper

Serval is a framework for developing automated verifiers of systems software. I’m sure that Google engineers do indeed take extreme care when building the low level networking code that powers Google’s datacenters, but their fundamental design point was to enable frequent releases for fast iteration, feedback on their designs, and yes, early detection of problems. To invest in formally modelling something, you really need to have a very good idea of what the software needs to do.

Code 56

Declarative assembly of web applications from pre-defined concepts

The Morning Paper

component-based software development, reusable software catalogues etc. Then there’s the changing demographic of software building. Uncategorized Software EngineeringDeclarative assembly of web applications from predefined concepts De Rosso et al., Onward! 2019.

Teaching rigorous distributed systems with efficient model checking

The Morning Paper

I’ll leave you with another reminder that if you want to play with it, the labs environment and assignments can all be found on GitHub … Uncategorized Distributed Systems Software EngineeringTeaching rigorous distributed systems with efficient model checking Michael et al., EuroSys’19. On the surface you might think today’s paper selection an odd pick.

Why is Hiring so Hard? How to Improve Your Hiring Fortunes

Strategic Tech

finding good software engineers takes so long and requires so much effort… but it doesn’t have to. If you like the ideas in the post, then why not come and join me at Navico and help us to build a highly-innovative engineering culture and a brilliant place to work. Make Your Organisation Irresistible to Software Engineers The easiest and cheapest way to hire good engineers is to let them come to you. leadership software-engineering hiring

Three key checklists and remedies for trustworthy analysis of online controlled experiments at scale

The Morning Paper

Last time out we looked at machine learning at Microsoft , where we learned among other things that using an online controlled experiment (OCE) approach to rolling out changes to ML-centric software is important. Online Controlled Experiments (OCEs) are becoming a standard operating procedure in data-driven software companies. The checklists in this paper should be seen as a starting point towards increasing the trustworthiness of experimentation in the software industry.

The ‘Chocolate Sauce’ Design Heuristic

Strategic Tech

A trip to the supermarket can teach you a lot about designing software systems and shaping teams to build them… I was recently in need of some chocolate sauce. The Chocolate Sauce Heuristic for Software Design There are a few lessons about software development we can learn from this story, but I want to focus on design. As software architects, we have to make the same challenging choices. A Software Example Consider the example of a marketplace for financial products.

Using a GPU Boosts TiDB Analytics Performance from 10 to 150


Fei Xu (Software Engineer at PingCAP). Authors: Ruoxi Sun (Tech Lead of Analytical Computing Team at PingCAP). TiDB is a Hybrid Transaction/Analytical Processing (HTAP) database that can efficiently process analytical queries.

Quality Sense Podcast: Rob Sabourin ? Testing Under Pressure (Part 1)


This Unique Methodology Will Help You Test Software in Times of Turbulence. At Abstracta, we are thrilled to explore a new avenue for bringing you fresh content from some of the brightest minds in software! Welcome to the Quality Sense Podcast’s first episode!

Handling Flaky Unit Tests in Java

Uber Engineering

It warns software engineers of bugs in newly-implemented code and regressions in existing code, before it is merged. This ensures increased software reliability. It also … The post Handling Flaky Unit Tests in Java appeared first on Uber Engineering Blog.

Java 76

Handling flaky unit tests in Java

Uber Engineering

It warns software engineers of bugs in newly-implemented code and regressions in existing code, before it is merged. This ensures increased software reliability. It also … The post Handling flaky unit tests in Java appeared first on Uber Engineering Blog.

Java 52

Uncovering Hidden Business Rules with DDD Aggregates

Strategic Tech

In software, reacting to unforeseen circumstances in real-time is not possible. The gap between defining business requirements and translating them into software needs to be minimised in order to prevent this category of problems. They don’t understand software, they.

How to Use Software Productivity Metrics The Right Way


Software engineering productivity or velocity metrics have always been a very debated topic. When managers lean on using lines of code to measure their engineers’ velocity, you can understand why these same engineers have a problem with that as overly simplistic. Let’s start with a review of what software engineering metrics are, and are not. tutorial performance management productivity developer agile development metrics engineer

Quality Sense Podcast: Rob Sabourin (Testing Under Pressure Part 2)


Listen to this episode of the Quality Sense Podcast in which Federico Toledo continues his two-part interview with Robert Sabourin , Adjunct Professor of Software Engineering at McGill University and President of AmiBug.Com.

SRE vs DevOps: What you need to know


Cloud-native environments bring speed and agility to software development and operations (DevOps) practices. DevOps is focused on optimizing software development and delivery, and SRE is focused on operations processes. Dynatrace news.

DevOps 217

Computational Causal Inference at Netflix

The Netflix TechBlog

These methods can provide rich information for decision making, such as in experimentation platforms (“XP”) or in algorithmic policy engines. Finally, the scalability makes computation for large engineering systems tractable, reducing engineering risk.