Dependency Injection in SQL Monitor (Redgate)

Originally posted on Ingeniously Simple Picture source https://flic.kr/p/gwQtNW (Licence under CC BY 2.0) In this blog post we talk about converting SQL Monitor’s base service to use DI. Moving to DI has been a substantial task that improves the architecture of SQL Monitor and provides a number of significant benefits. These include making it faster to add components, faster to fix problems and easier to test larger systems. It has also revealed the hidden architecture behind the base service. [Read More]

Halving SQL Prompt’s unit test time using TeamCity test statistics (Redgate)

Originally posted on Ingeniously Simple On the SQL Prompt team we use unit tests to provide stable releases to our customers. The problem with automated tests is that they take time to run. Ideally we could test a release instantly but in reality we run 6405 tests in 1 minute. We use NCrunch to run tests immediately during development. I began hearing that team members had turned off NCrunch because it was slowing down their development work. [Read More]

Talking with Tech Leads

Talking with Tech Leads is a book by Patrick Kua for Tech Leads from Tech Leads. What is a Tech Lead? Patrick defines a Tech Lead as follows: A leader, responsible for a development team, who spends at least 30 per cent of their time writing code with the team. How Tech Leads provide value Tech Leads provide value by: Helping developers code Collaborating with stakeholders outside the team Justifying coding in a sustainable way Communicating business priorities Prioritising team over code Tech Leads prioritise team focus and harmony over writing code. [Read More]

What we learnt from shipping SQL Prompt 8 (Redgate)

Originally posted on Ingeniously Simple The SQL Prompt team shipped SQL Prompt 8 back in May 2017. This blog post talks about what we learnt during the final stages of the project and how we worked with the quality coaches. Reducing the amount of work to do Formatting was a difficult project to finish because our users care a lot about it. The new formatting engine solves over 16 UserVoice requests with over 1000 votes in total. [Read More]

The 4 Best Coding Principles in “Coders at Work”

Coders at Work documents conversations with fifteen great programmers. These four coding principles came up throughout the book as universal principles that are worth adopting: Principle 1 – Keep Code Simple Coding as simply as possible is normally enough to solve most problems. Programs ought to make sense, there are very few inherently hard problems. When you have a hard problem, recognize that there is probably a known solution. Once implemented, use comments to state the purpose and reference source algorithms. [Read More]

3 Career Guidelines from The Pragmatic Programmer

The Pragmatic Programmer by Andrew Hunt provides practical suggestions on all aspects of software development. Guideline 1 – Develop a Knowledge Portfolio “An investment in knowledge always pays the best interest.” Benjamin Franklin Programming is an intellectual activity and the value of a programmer is based on their knowledge portfolio. The portfolio must be built and maintained with regular investment and diversification: Read at least one technical book per quarter Learn a new programming language every year Keep up-to-date with emerging technologies Local user groups are a good way to improve your knowledge portfolio and provide an environment to hear about career opportunities. [Read More]

5 Technical Guidelines from The Pragmatic Programmer

The Pragmatic Programmer by Andrew Hunt provides practical suggestions on all aspects of software development. Guideline 1 – Write Understandable Code Code is read more times than it is written so spend time writing clean code with clear variable names. Add comments when it is necessary to explain why the code is written that way and the decisions behind the implementation. Each software module should be responsible for a single aspect of the system. [Read More]

3 Project Guidelines from The Pragmatic Programmer

The Pragmatic Programmer by Andrew Hunt provides practical suggestions on all aspects of software development. Guideline 1 – There are No Final Decisions “It’s easier to ask for forgiveness than it is to get permission” Grace Hopper There are no final decisions in software construction. Some requirements will turn out to be easy and some impossible. Product managers that ignore this fact will always be shocked when the future arrives and they are left wondering what went wrong. [Read More]

How Strength Level Calculates Your Overall Strength

We recently added overall ranking to user profiles to help you compare yourself to other lifters. The overall ranking is based on your total in the Big-3 exercises — bench press, squat and deadlift. What does it look like? Here is an example profile. Jack Hudson has been lifting consistently for a couple of years: We add up his maximum lifts from bench, squat and deadlift, to give an estimated total of 500 kg. [Read More]

Monitoring your database schemas with pipelines (Redgate)

Originally posted on Redgate Blog DLM Dashboard tracks changes to your database schemas across different environments. In this blog post, we’ll talk about organizing your databases into pipelines, and how this can help you to better understand your workflow. How was it organized before? Grouping databases by category In the first version of DLM Dashboard, databases were grouped by category – or environment – to distinguish stages in the workflow from development to production. [Read More]