Software Engineering - The Soft Parts

Addy Osmani

Today I will share some of the software engineering soft skills I have learned from my first 10 years on Google Chrome, where I am a Senior Staff Engineering Manager

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 Insights From 10 Years At Google

Addy Osmani

Lessons learned from 10 years at Google

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.

What are the Different Phases of Software Engineering?


Views: 36 Software Engineering Software engineering is a phenomenon in and of itself, but before you can truly comprehend how it works altogether, you must. Application Lifecycle Management DevOps Test Management Software Developer Software development

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.

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

From Student to Junior Software Engineer at Tasktop


The beginning of my experience as a Junior Software Engineer on one of Tasktop’s ‘Integrations Teams’ marked a definitive transition in the way I learned and practiced computer science and software development. I was drawn to Tasktop because of its strong impact on the software development industry. Software Engineers, was introduced to the fundamental concepts and tools on which Tasktop is built. Looking for a career in software development?

Going from an Individual Contributor to an Engineering Manager is NOT a promotion


In my role as an engineering manager, I know making the leap from an individual contributor (IC) to engineering manager (EM) is not a promotion. What you do as an engineering manager versus what you do as a developer is fundamentally different.

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!

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.

Writing Clean Code: Naming


performance programming analysis software engineering clean code clean architectureWhen you start learning how to code your main focus is writing code that works correctly for the problem you are solving. Yes, code needs to work correctly and that is a good place to start learning.

Code 206

Contention, Coherency, and Math Behind Software


software engineering mathematics consistency coherence scalabiility contentionToday I want to tell you a few words about how you can describe your system through mathematical equations — at least to some degree.

Starting an SRE Team? Stay Away From Uptime.


A good SRE engineer will tell you your service is never down. A great SRE engineer will tell you that’s not what you should be measuring. google business advice software engineering sre site reliability engineering latency traffic customer satisfaction uptime system health

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.

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

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

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.

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.

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.

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.

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 156

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.

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.

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 67

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

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.

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

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.

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.

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?”

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.

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.

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.

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.

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

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.

Software Development Best Practices for High-Performing Teams


What comes to your mind first when you hear the word software development? But the truth is - leading software engineers recommend writing code that is easy to understand. Software DevelopmentComplex commands, coding standards, algorithms, and data structures. Right?

SRE Opportunities Grow as Businesses Reopen and Reacclimate


Take one look at LinkedIn right now, and you’ll notice some of the most in-demand jobs include application developers and software engineers. After a deeper dive, you’ll find many companies across multiple industries are looking for site reliability engineers or SREs.