9,608 reputation
11742
bio website linkd.in/mnuskin
location Rochester, NY
age 33
visits member for 2 years, 2 months
seen 1 hour ago
stats profile views 236

I am a software technical lead for a team working on surveillance video recording platform and a member of a platform architecture council (not sure what that means yet), whose responsibility is to drive forward common framework/architecture for various products within UTC Climate, Controls and Security Systems division.

My primary area of expertise is high-performance (CPU, throughput, disk/network I/O...) back end software written in C++/C# (90/10). Other areas where I've dabbled: C# w/ WPF (lots of dabbling), WCF, ASP.NET, HTML/CSS/Javascript/jQuery, F#.

I truly enjoy building software and seeing my products in the hands of end-users and lately I've been discovering that I also enjoy building teams that build software.

Since I don't get to code as much as I'd like to at work, I spend nights coding at home primarily for recreation (plus there's that side effect of learning things). Some of that work can be found on GitHub. Code Project is next.


Nov
16
awarded  Nice Answer
Nov
16
comment What's the benefit of object-oriented programming over procedural programming?
+1 to counter some downvotes. If a coworker asked me such a question, I would probably have some concerns and might even downvote him (assuming there was any kind of down arrow next to him). However, this question appears to be asked by a future software engineer and it sounds like he spent some time thinking and discussing the topic before posting. I vote for helping him out rather than dismissing.
Nov
16
answered What's the benefit of object-oriented programming over procedural programming?
Nov
15
answered Is it bad idea to use flag variable to search MAX element in array?
Nov
15
comment Tracking feature requests for small-scale components
so far this is definitely the best answer.
Nov
15
accepted Tracking feature requests for small-scale components
Nov
14
comment How to deal with different programming styles in a team?
@tp1: we might be both making assumptions based on our experiences. Clearly you've worked with people who owned code and most of the time, that code was good and clean. I've worked with people, who "refactored" by making 75-line macros that used 20+ local variables. Whenever they debugged, they would copy/paste the body of the macro into code to find a bug, then copy/paste back into macro and re-add backslashes to every line. I trust my teammates and they trust me. But this was earned, not just assumed. And w/ regular reviews, we've been able to improve all of our code and share knowledge.
Nov
14
answered Programming to ANSI standards (for engineering)
Nov
14
comment Why decouple view and controller (web)?
Your original post: "Why can't we put them in the same page" -- so you have asp.net page which renders HTML and presents your model data. In this page you coupled your VC into one class. Now you get a requirement that your application needs to support import/export (not from this page, just in general). If a completely separate import/export logic needs access to the controller, where is it getting it from? Or are you planning to put your entire application into the same Page class? What if you want to run export offline (i.e. locally on server box outside of web server)?
Nov
14
comment Why decouple view and controller (web)?
I thought you question was "why decouple controller from the view". If import/export needs to access controller in order to get at the object model, how can it do it without instantiating your view? Without decoupling, regardless of whether or not someone is rendering HTML, you are instantiating view code. Or do you suggest duplicating controller code inside the import/export functionality?
Nov
14
comment Why decouple view and controller (web)?
For import/export, you don't need view at all so unless your controller is decoupled from your view, why would you want to execute view code when import/export might not even be web based. Also even with webpages, you could have more than one view into the same model (i.e. different asp page, different class), if you don't decouple your controller, you will be duplicating that code in different views.
Nov
14
answered Why decouple view and controller (web)?
Nov
13
comment How to deal with different programming styles in a team?
suggests to segregate the product and let team members continue using their own style. My problem is that 1) existing members don't get benefit of new member's skill if he indeed has them and 2) there's a gray area between different style and bad habits. Again from my experience, I've worked with people whose "style" was to introduce a major feature without adding a single new class or function (aside from service interfaces). Without common ownership, have you seen what kind of nightmare of a code such people end up producing?
Nov
13
comment How to deal with different programming styles in a team?
we could be basing our answers on different experiences here. Among other things, OP said "using defines all over the place". If that's instead of typed constants, not that bad, but could be improved. But I've seen people #define a chunk of code because they were too lazy (or no skill) to refactor the class properly and put common code into a function that could be debugged. Absolutely no way, would I ever consider that "a different style" and allow them to continue to do that. Furthermore, all other answers focus on converging the team towards a common style/convention. This answer...
Nov
13
comment How to deal with different programming styles in a team?
... teach each other, so the skill and competency of your entire team goes up. Otherwise, you will have parts of the product which are good, but you will have many more parts which become unmaintainable messes, and your "owners" of those messes will simply continue hacking away fixing those bugs as they come in. With this isolation model, I've seen people take years working on the same component that was never done right.
Nov
13
comment How to deal with different programming styles in a team?
so to use your answer in OP's original context... there's a programmer who inserts hacks, uses macros and has other bad coding habits, so you are suggesting to carve out a part of the product, give it to him and instead of calling his code "bad", call it "different". I couldn't disagree with this more. When working as a team, constant communications, design/coding discussions and reviews are an important part and as the team matures, your team members will all INCREASE in their skill because you as you pointed out, we all start out with different subset, but by talking to each other, we...
Nov
12
answered How to Deliberately Practice Software Engineering?
Nov
12
answered What do you do if you reach a design dead-end in evolutionary methods like Agile or XP?
Nov
9
answered Should a method comment include both a summary and return description when they're often so similar?
Nov
9
comment Why would I learn C++11, having known C and C++?
...functors. Instead of having people write a ton of code, one for each type of functor and every closure element you want to pass in, C++11 allows you to specify a shortcut syntax and it will auto-instantiate an entire internal functor class just like it instantiates templates. Again, keep in mind that most of these features will not be used in 98% of application-level code, but they were added to make libraries like STL/Boost that much more powerful and easier to implement/maintain/debug