“Senior Software Engineer Interview Questions” article published
Arc.dev has published my article “Senior Software Engineer Interview Questions”
Arc.dev has published my article “Senior Software Engineer Interview Questions”
Process design is a way to examine business (and personal) processes for efficiency and effectiveness. It’s a way to get things done. Is there a way to split up that process so that it can be delegated to others so you can scale up?
This article emphasizes the crucial role of a team leader as a coach and mentor to their team. I provide clear examples of different scenarios and draw attention to the critical differences between the “coach” and “fixer” mindsets that leaders can adopt. While this guidance applies to other management and leadership positions, I specifically focus on the role of team leads in software development teams.
Reactive programming is a concept that is finally gaining some popularity among programmers. It makes it easier to think in data flows and to manage and work with them. Instead of imperative programming, you’re thinking about code as a series of processes that take place on streams. This is similar to the conceptual shift to map/reduce thinking. But it takes those ideas further. You’re doing a map/reduce and then connecting the data to other filters and maps and creating multiple pipelines so that the right data gets to the right place.
There comes a time in the life of every Ruby on Rails project where you and your team will end up with long-running tests. Rails tests can contain factories, fixtures, and numerous setup procedures before tests are executed, and all of these can contribute to significant slowness in the test runs. There are four ways to deal with slow-running tests in Rails.
The best reason to use GraphQL is if you have multiple frontend clients that communicate with your backend, and they each have differing data needs. For instance, if you have a mobile application and a website that communicate with the same backend API, they will need different data.
I was in Montreal, Canada for the PyCon Canada 2017 conference and presented on the ideas and philosophy that are present within the Python programming language. I covered how the Python language influences your coding style and how that coding style is now in the mainstream and has made its way into other programming languages.
I was quoted in the O’Reilly Media report, “The Secrets Behind Great One-on-One Meetings”. As an engineering manager, I appreciated it whenever my reports would bring a topic to the 1-on-1, whether it was a technical topic or a career or mentorship topic.
Cause and effect diagrams, also known as Ishikawa diagrams, are one of 7 basic tools of quality. Cause and effect diagrams are useful because they let you list out all the causes that you and/or your team can think of. Having a team think of possible causes is similar to the concept of peer review in software development projects. Where one person thinks of a few causes, another person will think of different causes. This gives a broader range of causes to investigate.
At its core, SEMAT consists of three layers: customer, solution and endeavour. Each “alpha” component of each layer has a checklist to see which progress level it is at.