Microsoft tools assure your sensitive data is safe!

During the third day of MS Ignite 2017, I looked for sessions focusing on security.

In the data protection paradigm, we see MS supporting GDPR compliance by a new tool for SQL Server. It should be obvious for every company that client sensitive data needs to be protected. No company wants the reputational or financial harm a data breach can result to. But the numbers tell different. On a yearly basis 2 billion records are lost which boils down to a staggering 5 million a day. No wonder we distrust companies and the EU started regulating this topic as apparently self-regulation in industry failed.

MS created a model and tooling to support clients to achieve GDPR compliance. The model is a simple 4 step approach going form 1. discover and 2. manage over 3. protect to 4. report. To achieve general GDPR compliance a company must:

Continue reading →

Share this postSave this post

Is Microsoft more open than the Open Source community wants us to believe?

Is Microsoft more open than the Open Source community want us to believe? I think we need to “Hit Refresh” on our opinions as well!

Microsoft

Microsoft

The second day of MS Ignite 2017 was for me all about technical architecture in contradiction to the first day where strategic vision was the focal point.

Having been in my career at both sides of the proprietary vs open divide, I started in an academic and open source java oriented setting and moved to consultancy using MS .and NET oriented technologies, I must admit that what I’ve seen MS doing today with Linux was once again an eye-opener.

You see MS pushing for Windows on Linux and Linux on Windows. Not only is the command line interface cross platform but SQL, VS Code, .NET Core and ASP.NET Core are now running on Linux. This means .NET applications can be developed and run natively in a Linux environment. The support for Linux on Windows is also extending rapidly. Linux containers run on Windows. Bash, a traditional Linux CLI, runs on Windows. Also in the cloud we see great evolutions by now, 8 Linux distributions are supported with close Azure integration something you would only have expected from Windows VM’s before.

In the Apple IOS world, we are already more accustomed to MS solutions to be present. Think about Office for Mac, Skype and Visual Studio. I was amazed to see that Skype would come to Linux. We are still not there yet but I hope to see one day Office and Visual Studio running cross platform.

In the SharePoint and Office 365 world further adoption of open tools to support the development of customizations is realized. The push for JavaScript is remarkable. Development of extensions is relying on TypeScript, Gulp, Yeoman, React and node.js!

If you see the evolution one can ask, who is truly open across all these eco-systems? I remember in 1999 we said Linux and Windows would never work together I guess pigs can fly and hell just frozen over.

Hit refresh on your opinion of MS!

Share this postSave this post

Microsoft becoming the ubiquitous business answer?

I have seen a more people-oriented and a omni-present Microsoft today. The phrase “this is not your fathers’ fill-in -the-blank” was heard often the first day at MS Ignite 2017.

MS Ignite 2017

This statement is so true, it is not your father’s …

  • Microsoft since Satya became CEO
  • Office since Office 365 was introduced
  • ERP and CRM since MS Dynamics became available
  • SharePoint since SharePoint online was introduced
  • SQL DB since we can host SQL on Linux now and not forgetting Cosmos NoSQL DB
  • Server since the support for Docker on Azure
  • Cloud since Azure stack is the on-premises equivalent
  • Bing since Bing Enterprise search does enterprise data search
  • Visual Studio since it is running on Mac, on the web and scaled down in VS Code
  • OS since Windows has a Linux sub-system and Linux has a Windows sub-system.
  • Source control as GIT is supported besides Team Foundation Serer
  • SaaS as for every on-premises there is now a full-fletched Azure equivalent e.g. AD, server, network, DB …

In all the above we see MS becoming omni-present cross layers, platforms and even assimilating competitor solutions.

In the latest announcements, we see Microsoft is empowering people.

Firstly, Office 365 in combination with the MS graph allows you to work multi-device. Starting activates on one device and continue on a different is not that new anymore but MS is raising the stakes by making this multi-sense. We talk on our phone to dictate a mail and continue inking on our table to complete it. Office 365 supporting real-time multi-user editing of documents.

Secondly, we have MS’s AI first approach where classic business processes are enhanced with AI deduced data. Driven by data networks like MS Graph and Azure computing power, we can deduce information at a global scale which are unsolvable puzzles at a smaller scale. The analogy with quantum computing is not far fetched. Lo and behold, MS is also doing a first step into the real quantum physics world supporting qubits research. The announcement for a quantum computing programming language becoming part of Visual studio and a local as well as Azure quantum simulator are just jaw droppers.

The AI first approach has also pushed for new tooling like Azure has Machine Learning (AML) workbench that reduces the data set preparation effort. Wrangling data into a format that AI will understand becomes a straightforward activity. To support all this, we see that Azure compute power keeps on growing: the latest m-series will be go to 128 CPU’s and 3.8 TB of memory. On top of that Azure is the only platform that support nvidea’s P40 and P100 GPU’s.

Share this postSave this post

Tearing Down the Application Development Fortress

A plea for multi-disciplined development teams

Introduction

Creating applications is a multi-skill effort that comes with a set of challenges. For an average sized application there are 5 skills involved:

  • Graphical design
  • Business analysis
  • Application development
  • Software testing
  • System operations

… not even taken into account other stakeholders like end-users, DBA’s, enterprise architects, security officers, project and program managers, change management, user experience design …

Continue reading →

Share this postSave this post

Dear Candidate … be prepared before all else!

Some ramblings of a technical interviewer for .NET software engineering consultancy jobs.

Dear CandidateI have been subjecting software engineer applicants to technical interviews for some time now and want to give some pointers on how to increase your chance of getting hired. Pointers based on my personal experience as I see often people fail because they have yet to master basic interview skills.

I hoped that colleges and universities prepared students entering the job market, after all these year I have some doubts. I could write a very bitter article on the failure of our education system and act grumpy, but I wanted to be positive and give some advice in the hope it finds its way to candidates.

I have divided my rambling into 6 topics:

  1. The search
  2. The contact
  3. The invitation
  4. The interview
  5. The feedback
  6. The post-mortem

1. The Search

This is the time where I don’t even know about your existence. My company posted a job opportunity and you are browsing through job portals trying to figure out what is available and of interest to you. This is the moment you need to match two important pieces of information: who are we as company and what in the job description is aligned with your expertise, needs and expectations. By the way, a lot of these job portals give you advice and have checklists on how to apply for a job … be prepared before all else!

Off-course I want to give you more details on what we do and what the job entails at the day of the interview, but your and my time is precious. It make sense to already have a look at my company’s website and to browse our social media channels. We have a lot of people active in user groups. Connecting with them in an informal setting is the best way to get some insights. If you do not fully understand what the job is about, contact the recruitment department, they are more than happy to provide you with additional information. Google (or should I say Bing) is your friend! Google all the terms and acronyms you find in the job description if they would not ring a bell … be prepared before all else!

Don’t forget in ICT the job also searches you. Since all consultancy companies fish in the same pond the number of high-qualified professionals is limited. This means we will pro-actively connect with you. Having an idea for which company you want to work, will help these interactions … be prepared before all else!

2. The Contact

You are about to initiate the first contact. Typically we are talking about a CV (resume) and letter of motivation. Hold your horses young man (or woman)! Have you double-checked the content of your communication?

The need for a hand-written cover letter has gone in this day and age of e-mails. But a nice motivation e-mail gives you some additional points as it allows you to high-light some aspects of your CV. I don’t need a “Dear Mr.” and “Sincerely Yours” but you lose my interest with a “Hey you”, “Mate” or with “Kisses”, “xxx” and “Grts”. By all means use a spelling checker and punctuation is used by the non-barbaric part of the population (at the risk making some mistakes myself in this text). It is always a good idea to add information on how, when and where to contact you e.g. put this information in the e-mail signature. Try to organize a professional looking e-mail address a “vanderbilt@gmail.com” will work but a “pinkunicorn76@blubber.com” might end up in my trash folder … be prepared before all else!

The CV contains vital information to me. Any gaps, omissions or missing information raises alarms. But overall I’m looking for the following information and basically anything you feel comfortable to share:

  • Your personal data:
    name, photo, home address, telephone or mobile number, age, nationality, marital status, driver’s license
  • Your professional social connections:
    blog, website, Linked-in profile
  • Previous positions in reversed chronological order:
    Relevant positions including internships and student jobs
    company, location, position, roles, duration of your position, project descriptions, technologies used, references (people that vow for you)
  • Training and education in reversed chronological order:
    institute or school (from high-school to college), location, degree, majors and minors, duration, title or certificate, indication of graduation honors, thesis project subject
  • The languages you master:
    indicate mother tongue or level for speaking, understanding and writing (use European language level indication)
  • The technical and software engineering skills you have:
    type of skill and the level
  • Leisure and pastimes
    Explain your interests besides software engineering
    youth movements, students clubs, or voluntary work, the role and responsibilities, duration of your engagement
  • Miscellaneous things you want to mention:
    any publications or artefacts you’ve created

I have predisposition for people that were active in youth movements. I rather see someone graduating with a lower grade but having gained some real-live experiences. Youth movements teach you important non-technical skills e.g. collaboration, perseverance, leadership, responsibility …

The CV is one source I heavily use to prepare and tweak the interview. It is putting your money where your month is. Claiming to be a master in MS Office but failing to format your CV Word document decently, is not a good move. Listing an eye for detail as strong characteristic, but failing to see the broking link to your website will not earn you points. If you add a picture, make sure it is as professional as you can afford and is in line with the message you want to bring. So if the position is client facing you might want to think about not using a vacation snap and wear a decent shirt instead of your boiler suit … be prepared before all else!

Patient, you want to be, my candidate! If this is your first interview ever and you think this will be your dream job, wouldn’t it be wise to test your interview skills for the first time somewhere else? Compare it with an entry exam. You also like a test exam before doing the real thing. It is wise to consider taking some test interviews just to get the hang of it. Hey wait a minute didn’t you just said something about respecting your time? You are right, I hate to be at the short end of this strategy but fair is fair, an candidate needs to … be prepared before all else!

3. The Invitation

We have established intelligent life during the first contact. This means I have looked at your cover letter and CV and I think there is a match with the job offering.

This also means I did some background research. Don’t be afraid I’m not the NSI nor the FBI or have any link to an affiliated organization but I will Google you! So make sure your public information is clean. I understand we are not all saints and I also apply a work-hard-play-hard principle to my own life, but please remove the drunken bachelors party photos from your public Facebook profile or ask someone to un-tag you if you appear in them. I might call a company you have worked for in the past. I can talk to a reference you have given me. Don’t forget the IT community is a small community so your reputation precedes you. If there is anything you need to tell, it is better to inform before I have to ask it … be prepared before all else!

The invitation for the technical interview should contain a time, a location and person of contact (name and phone number). If you are missing any of these don’t be afraid to ask. If the location is new to you make sure that you know where you have to be. You could familiarize yourself with the route on a calm weekend day … be prepared before all else!

4. The Interview

Seize the moment and shine! This is your moment to prove the invitation was not a waste of time!

Dress to the occasion. Don’t overdress if you do not feel comfortable in a suit but remember you are applying for a consultancy job. This means in the future you will represent my company in interaction with my clients. I consider this a trial run. If you don’t bother to be decent for me what does that tell me I can expect from you in front of my clients? Are sneakers and jeans with holes really the best first impression? We can have a long debate on facial hair, tattoos and piercings. In the current society a lot is acceptable if it is well taken care of and not offensive in nature. For example a man with a ponytail is ok if he understands the concept of shampoo. Avoid running a marathon before you arrive and a taking shower has never hurt anyone … be prepared before all else!

Arrive on time. The “on” is an important aspect it means not “late” and not “early”. Travel early and go to a nearby tea-room. This allows you to perfectly time your arrival. Anticipate what normal traffic looks like. Google maps has a nifty feature where you can look at travel times for a specific day and hour. Unexpected things can happen but are not an excuse for bad preparation. If there are unforeseen delays make sure you have my mobile number and your charged phone with you and inform early rather late … be prepared before all else!

So you made it on time to the interview. Phew that is already an achievement!

Technical interviews are not an open bar, there is an agenda and a structure so I can have a fair and objective evaluation. You might not like it but I control that agenda. Too many candidates are eager to show their hobby projects. I appreciate that and there is a time and place for it, but it will not replace the technical interview. Don’t worry I understand that questions cannot go only in one direction. There is a moment reserved for your questions as well. With regards to previous positions and projects you mentioned on your CV, make sure you know your stuff and were honest about your contributions. You might have learned a few things when you were the designated coffee fetcher for the team but it doesn’t make you the technical architect. Alarms go of when a candidate claims to have worked a substantial amount of time on a project but cannot tell me any technical detail, lessons learned, issues and solutions of the project. You should be able to talk for hours on a subject you worked on. It will indicate the passion you have for your work and results … be prepared before all else!

We come to the core of the interview. What kind of technical questions can you expect? You are applying for a .NET software engineer job so the answer is straight forward. I will ask questions to make sure you have a basic understanding on how software is created (i.e. the process), on the building blocks (i.e. the technology), on the concepts (i.e. the theory behind it all) and on how we can apply Microsoft technology to realize this. In the end you have studied 3 to 5 years at an academic level so I want to figure out what you have understood, retained and if you can apply it. I expect this knowledge to be active so before your interview it is wise to flick through your courses and the stuff “you will never need anymore” … be prepared before all else!

To help you out, here are the high-level topics I will go through (yes all of them!) for .NET software engineers:

  • Object oriented concepts
  • Patterns
  • .NET FW and core language constructs
  • Build process and run time behavior
  • Web pages and web services
  • Desktop applications
  • Mobile applications
  • Data Access
  • DB concepts and organization
  • Network concepts
  • Application architecture and code organization
  • Security and audit trails
  • Project organization and Agile concepts
  • Functional analysis, modelling and methodologies
  • Algorithms and logic thinking exercises

Every computer science degree graduate has encountered these topics during his study. Up to you to show me what you understood and retained. To help you prepare there are some great books out there. Before Microsoft had books per framework e.g. .NET core, ADO.NET. ASP, WCF, WPF, WinForms … I’m not so fond of the latest material as it remains high-level. The questions during the interview will become increasingly more difficult even beyond the level we are hiring for. This is to figure out how far I can stretch you. Remember to start answering from what you know and combine your knowledge intelligently. I will assist, give hints and additional information but if your answer is “I don’t know” I have very little to build on. Remember that with interviews, prepared candidates don’t need luck so … be prepared before all else!

Besides the technical skills I’m on the lookout for soft skills. Do you persevere when you get a though question? Are you able to explain something in a clear and comprehensive way? Specifically for Belgium I cannot stress enough the importance of language skills. Proficiency in English is a must. So if English is not your mother tongue I suggest you start reading technical blogs in English, Google in English, …. know basic technology terms in English (a Megabyte is not un Megaoctet, a harddisk is not eine Festplatte). For Belgium consultancy activities, you will not escape Dutch and French conversations in your day-to-day job. There is always room for improvement but some basic knowledge should be there. I’m mostly looking if you aren’t afraid to speak and if you can engage in basic conversations. Examples:

  • You arrive at the reception desk and need to sign in: “I’m here to meet Mr. X, I have an appointment at 14:00”
  • Explain an UI design: data, labels, buttons …

Activate your passive knowledge by reading newspapers or watch televised news … be prepared before all else!

5. The Feedback

So you survived the interview … It means you’ve noticed that you didn’t got an immediate feedback at the end of the interview. Why is that? It is to avoid impulsive decisions on my side. I might be biased by the last positive or negative answer or by a bad first impression. To give you a fair chance I want a bit of time to reflect. In the meantime I provide you with insights on what a career would look like. If you have questions, now is the moment to ask. You want to show your latest work and you mother baked cookies for me … be prepared before all else!

6. The Post-Mortem

In case there was no match between the job and you, don’t consider it as a rejection for eternity. It means that right now it didn’t work out and some of your skills are not at the level we require. I does not mean you don’t have the potential to close the gap and try again at a later moment in time. This is for you the time to ask for feedback so you can improve and self-reflect … “Never say never”!

So are you prepared?

… if you are a candidate that I’ll meet soon, kudo’s to you. It means you Googled your interviewer and are preparing! As token of appreciation use the cheat-code “I’m prepared before all else!” when you meet me. You will earn some bonus points.

 

 

Update 12/06/2017:

CV and cover letter:

  • Adding an objective (e.g. “Seeking for a position that will help me to grow my skill in the area of …”) to your CV makes sense if it is not trivial. We know your are looking for a new job. You can add it when you are considering a career change.
  • Express your previous positions in actions and results. What have you done? What was the impact i.e. what changed you have enabled or realized? Did you grow in the role i.e. did you receive additional responsibilities over time.
Share this postSave this post