Vukoje's blog about software development talk – Juniors & Seniors

Last Friday I gave a talk at event about junior programmers, how can day choose a company and I gave some tips how to manage new guys in team from team lead perspective. I hope you enjoyed it. Slides are below.





Sinergija 2013 presentation material

You can download (852.96 kb) or view online power point file from my Sate of the art logging presentation.

Below is video demonstrating Webcom GUI for log analysis and system monitoring.

Here is source code of other presentation demo that uses Glimpse, NLog, Autofac, Castle Dynamic Proxies and some of my NLog extensions to demonstrate some cool stuff. Remember to restore NuGet packages if Visual Studio doesn’t do so on build.

Here are some more useful resources used for presentation:


Goodbye Soprex

Few months ago I have left Soprex and joined Webcom. I have been working in Soprex  for more than 5 years and in those years I worked with some amazing people with whom I built some amazing apps I’m proud of:

  • B5 (Big Five) - Multi-portal web application that hosts multiple sites with following major features: ePortal, eCatalogue, eShop and eStock. EPortal is CMS system that can host multiple sites which can share pages. ECatalogue allows web portals to expose Product catalog to site visitors. ECatalogue also allows product and product groups sharing among web portals. EShop allows site visitors to order products which availability is maintained through eStock.
  • Soprex Core Applicaton (SCA) - Framework for building enterprise applications written in .NET. Among many things it includes implementation of domain objects, micro-ORM, code profiler, custom MVP implementation that can run Windows and Web applications.
  • Price and Quotation (P&Q) - Application for Quoting and Ordering built for SKF’s distributor network. Application is based on SCA and includes identical Windows and Web GUI. P&Q implements very complex pricing business rules that on the other hand allow user maximum flexibility in creating offers for customers.


Below is photo of my favorite moment in career when our customer form Germany sent us cookies to express its gratitude for all the hard work we did for them.


Love you guys… make tons of money and give me some of it :D

Software Developer’s Journal - Demystifying Lazy Load Pattern

I have written an article for Software Developer’s Journal 1/2012 titled “Demystifying Lazy Load Pattern”.


Here is the article short description:

“Usual business application relies on lots of data, and that data usual resides in a database. Because data is out of the application thread, accessing it can be much slower. If external data is on a hard drive (and it usually is), accessing it can be thousands of times slower than accessing data in application memory. The great thing about cached data is that not only it will be few thousand times faster, but it will also scale much better under heavy load than your poor database.”

You have to be subscribed to journal in order to be able to read the article and subscription is not free, but don’t worry, I will post the article here in few days so you can read it.



Sinergija 11 presentation material


Here is the presentation material [download] [view online].
Also I have a some interesting resources for you.


Sinergija11 Announcement

I will be giving a talk on 19th October at this year Sinergija titled “Soprex framework on .NET in action”.

The target of this session is to cover leading ideas and basic principles behind Soprex Core Application (SCA) framework for building enterprise applications. I will cover some of the most important design decisions we made while building it. Some of them are:

  • How we implemented Domain objects (entities) and why.
  • What are we using for Data Access and why it is awesome!
  • How Model-View-Presenter saved the day.



I’m also very happy to announce presentation “Advanced mobile web applications” on 20th October by my colleague from Soprex, and personal JavaScript super hero, Aleksandar Mirilović.

The presentation deals with the problems that exist in the development of mobile applications and how these problems can be solved using current web standards HTML5 and CSS3. Presentation will include developing simple application using Sencha Touch and ASP.NET and how that web application can work offline and access native resources using PhoneGap.




And hey, If you like what you hear why not join us…


TechEd 2011 recommended sessions

Thanks to Sorpex I had a great pleasure to visit this year TechEd held in Atlanta. I got a chance to attend many interesting talks and also meet the people from Microsoft that build the tools I have been using for years. In the focus of the conference were the Cloud, Windows Phone and Application Lifecycle Management.


Here are the most interesting sessions available online that I recommend:

· The Future of Microsoft Visual Studio Application Lifecycle Management

Exciting introduction to new VS and TFS capabilities. I especially liked:

- Analyzing code for Code Clones / Find Matching Code feature – tries to discover code clones that are usually result of code Copy/Paste.

- Support for Code Review workflow through work items and code commenting like in Word.

· Deep Dive into Microsoft Visual Studio Team Foundation Server 2010 Reporting

What reports are waiting for you in TFS and how you can add custom reports.

· Branching and Merging for Parallel Development

Excellent introduction to Branching strategies (by Release/Stability/Feature). Here are some of advices I found most useful:

- Avoid branching when possible. If it gets complicated, you will need full time release manager.

- Avoid cherry pick merge (partial merge).

- Always merge on branch that changes more (Merge down copy up pattern).

- Use branches to store releases instead of labels because labels can change and there is no version history support.

- Each branch is expensive because each has to have its own test environment and continues integration support.



· Test Automation with Microsoft VS 2010: Coded UI Tests and Lab Management

This testing tool looks very impressive. The time will show how it will fit real life needs.

· NuGet: Microsoft .NET Package Management for the Enterprise

Great simplification of libraries distribution on the internet and inside companies.

· Microsoft Visual Studio IDE Futures

New VS is faster, simpler and more user friendly (parallel builds, less memory usage, async GUI, pinned tabs, enhanced search and navigation…)

· Busy Microsoft .NET Developer’s Guide to the Microsoft Cloud

You are thinking about the cloud? Listen to this scary real life stories and think again.

· Introducing Microsoft SQL Server Developer Tools, Code-Named "Juneau"

Impressive capabilities added to SQL server tools that could greatly simplify developer lives when it comes to database maintenance (DB compare/sync, Local DB runtime, Find All References on DB objects and Refactoring tools).

· AppFabric Caching: How It Works and When You Should Use It

Great introduction to MS distributed cache.

· Efficient T-SQL Querying with Itzik Ben-Gan

· Creating and Consuming Open Data Protocol (OData) Services

Sinergija10 presentation material

Hi everyone,

As I promised last night, here are the materials from my two presentations at Sinergija10:

  1. Unit Testing solid fundamentals [download] [view online]
  2. Advanced Unit Testing - real life examples and mistakes [download] [view online]
  3. Code samples [download]

I hope that in few days I will also have video recordings of these two sessions.

Here is a list of highly recomeded resources related to Unit Testing:

Sinergija10 Announcement

As some of you might already know I will be speaking at Sinergija10, Microsoft conference held 16-19 November 2010 in Belgrade, Serbia.

Last year I held two presentations regarding Code Refactoring, Coding Standard and Code Review. This year my presentations will be about Unit Testing (both on Thursday 18.11.2010):

  1. Unit Testing solid fundamentals

  • Why testing?

  • How to start?

  • What (not) to test?

  • Unit Testing phases

  • Test Driven Development (TDD)

  • Mocks / Stubs

  • Dependency Injection / Dependency Lookup

  1. Advanced Unit Testing – real life examples and mistakes

  • Goals of test automation

  • Principles of Test Automation

  • Visual Studio Testing tips

  • Real life examples

  • Dangers of UT

I would also like to recommend another presentation held by my friend and personal JavaScript super hero Aleksandar Mirilović from DotExe led on Tuesday 16.11.2010. Aleksandar will be presenting DotExe Development Platform (DXD).

DXD is a framework for creating desktop-like web applications without knowing HTML, JavaScript or CSS based on MS ASP.NET 3.5 and Sencha ExtJS. Applications are built using DXD Designer, which is implemented as a Visual Studio Package and also as a "stand alone" application. DXD Designer enables ExtJS forms generation from the Windows Forms Designer which can be run in all leading browsers (Internet Explorer 6, Mozilla Firefox 3, Google Chrome 3, Safari, Opera ...).

The main advantage of this platform, compared to a conventional web application development, is that it allows huge savings in development time thanks to its complete automation of: a client-server communication, data synchronization and ExtJS forms generation, which allow writing complete rich web applications without a single line of JavaScript. You can see the demo here.

Sinergija 2009, Belgrade

As I already announced, I have held two presentations at Sinergija 2009 in Belgrade. Presentations were on the same subject as my previous two presentations in .NET Belgrade user group, only this time they were more refined (I hope). I approximate that I had around 100 listeners at both presentations which is my new record Laughing



  1. #24H Code Refactoring - download presentation | browse online
  2. #26E Coding Standard & Code Review best practices - download presentation | browse online