Click here to Skip to main content
15,881,881 members
Articles / All Topics

A Coder Interview With Michael Sync

Rate me:
Please Sign up or sign in to vote.
5.00/5 (7 votes)
17 Nov 2011CPOL5 min read 23.6K   2   7
Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we track down Michael Sync.

Welcome to our continuing series of Code Project interviews in which we talk to developers about their backgrounds, projects, interests and pet peeves. In this installment we talk to Michael Sync, who started the CodeProject fan group on Facebook.

Who are you?

I'm Michael Sync (Soe Htike), and I'm currently staying with my lovely wife "Shwesin" and my beautiful daughter "Elena" in Singapore. I work as an architect/senior consultant for Simulation Technology in Singapore. I'm also a Silverlight MVP. By the time I received the award, there were only 5 MVPs for Silverlight expertise, but our community is growing so fast and you can see a lot of MVPs for Silverlight now. I'm currently writing a book called "Windows Phone 7 in Action" with two awesome authors for Manning.

What projects have you worked on?

I'm currently working on a WPF project at Simulation. Of course, we are using all usual stuff like MVVM, DI, and TDD in that project. The interesting thing (at least for me) is that we started using Entity Framework 4.1 (update) with the migration feature for the first time in this project. I've been waiting for this feature for quite some time already. I'm glad that EF team finally managed to release it. I'm waiting for Enum support and Spatial data type support from EF team as well.

Prior to joining Simulation, I used to work with Silverlight and WP7 for developing the brain-training game for Memolife. We even published one free game as a part of WP7 early submission in Microsoft marketplace.

What is your development environment?

As our projects are based on Microsoft technologies, C# is the most-used language for me. I started learning Go a few months back and am trying to write a tiny project with this language.

If I have more extra time, I would like to pick up some functional languages like Haskell in future.

Hardware is an Acer Windows 7 64 bit Intel i7 workstation at the office and a Dell workstation at home. (I bought it last year and found it quite powerful. I posted about the detailed spec in this blog post.)

Tool and Servers:

For software development methodology I like to use Scrum and XP.

What new tools, languages or frameworks interest you?

Currently, I'm very interested in the Go language, Node.js and NuGet. I'm giving more time to learning Go and making small projects for now. Once I'm familiar with Go I will take some time to do something with Node.js.

For Microsoft technology, I would like to contribute something to NuGet as well. NuGet is the only one open source project that allows us to contribute from Microsoft. In my opinion, all .NET developers should contribute to it at least once even for the small bug-fix because this project can be the perfect example for Microsoft to realize about the good benefits of opening the source code and accepting the contribution from community. :)

Oh no! Please don't say that Siverlight MVP didn't say anything about Silverlight. I'm looking at Silverlight 5 and Metro Xaml + C# application development as well. We all know the rumors about Silverlight and honestly, I was hurt a bit as well.

What is your coding pet peeve?

Well, I don't like god classes/methods, weird names and so on. I do understand that sometimes we are in a rush to meet the deadline so we can't write the beautiful code that we want. My advise for those who are working under tight schedule is that you can still take care of small things like giving things meaningful names and following the single responsibility principle. But always try to get some time slots for refactoring as soon as you can before you forget about your own trick.

I like the K&R naming convention. I uses camelCase without an underscore prefix for private fields and PascalCase for all public things, methods and so on. I love using "var" but I don't use it in one scenario where I can't tell what the type is from the right hand side of the expression:

var products = GetProducts();  // No

How did you get started programming?

I loved playing video games since I was young. One day I asked my dad about how to create those games. He told me that I need to know the programming to create them. This is how I became interested in programming.

Due to a lot of reasons, I got my first computer pretty late. I think I got it when I was in 2nd year at University. I don't remember the spec.

My first programming language is C because this is what they teach in 1st year. Then I learned C++ and Pascal.

How has the developer community influenced your coding?

I love the developer community. I do respect everyone who is participating in the community and helping each other even though they may not contribute anything to the open-source projects.

In fact, I'm active on many different social media sites. I started the CodeProject group on Facebook and also blog on my site michaelsync.net. You can also follow @michaelsync on Twitter or check out my profile on LinkedIn.

What advice would you offer to an up-and-coming programmer?

Participate in the community and use your time for something useful. Balance the time that you spend in front of computer and the physical activities that you are doing.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer CodeProject Solutions
Canada Canada
The CodeProject team have been writing software, building communities, and hosting CodeProject.com for over 20 years. We are passionate about helping developers share knowledge, learn new skills, and connect. We believe everyone can code, and every contribution, no matter how small, helps.

The CodeProject team is currently focussing on CodeProject.AI Server, a stand-alone, self-hosted server that provides AI inferencing services on any platform for any language. Learn AI by jumping in the deep end with us: codeproject.com/AI.
This is a Organisation

4 members

Comments and Discussions

 
GeneralMy vote of 5 Pin
Slacker00717-Nov-11 21:33
professionalSlacker00717-Nov-11 21:33 
SuggestionSome Typos Pin
AspDotNetDev17-Nov-11 18:28
protectorAspDotNetDev17-Nov-11 18:28 
GeneralRe: Some Typos Pin
Slacker00717-Nov-11 21:32
professionalSlacker00717-Nov-11 21:32 
GeneralRe: Some Typos Pin
AspDotNetDev17-Nov-11 22:01
protectorAspDotNetDev17-Nov-11 22:01 
GeneralRe: Some Typos Pin
Slacker00717-Nov-11 23:26
professionalSlacker00717-Nov-11 23:26 
GeneralRe: Some Typos Pin
Michael Sync18-Nov-11 2:20
Michael Sync18-Nov-11 2:20 
GeneralRe: Some Typos Pin
Sean Ewington23-Nov-11 4:13
staffSean Ewington23-Nov-11 4:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.