Archive for September, 2009
CORRECTION: I meant October 8th (not 9th…). 🙂
I’m speaking at the HDNUG next Thursday, October 8 (meeting starts at 6pm). The topic is listed below. Hope to see you there!
Be a Professional Developer and Write Clean Code!
Poorly written code can be created quickly, but it comes at a cost of high maintenance. Most of the time, code can be improved easily by following some simple practices. Professional developers should know these practices and tools and apply it to their work every day. In this session we’ll cover the importance of writing clean code, the kind of attitude all developers should have towards the code they produce, as well as the practices and tools that can be used to aid you become a better developer.
NOTE: The HDNUG site is currently under maintenance, so it may be missing some information when you look there. The meeting is still at the Microsoft office as usual (One Briar Lake Place, 2000 W. Sam Houston Pkwy. S. #350, Houston , TX 77042)..
EPS Software Corp (www.eps-software.com) is currently accepting resumes for a full time Software Project Manager and C#/WPF Developer. The position will be on-site at the EPS Software headquarters in Northwest Houston (Spring), Texas. Primary responsibilities include acting as both a PM and a Developer on a medium sized, multi-year project.
– Minimum of 10+ years of overall software engineering experience
– Expert in Agile Development Methodologies
– Proven PM track record with teams building both Windows and Web Apps
– Knowledge of various PM methodologies and when to use each type of process
– Lean experience a plus
– Kanban experience a plus
– SCRUM experience a plus
– Waterfall experience a plus
– Experience in teaching/leading teams with members who aren’t familiar with the various development processes
– Expert in VS Team System
– Overall knowledge of general .NET Architecture |
– 5+ years delivering successful Microsoft .NET solutions using C#
– MS SQL Server
– Silverlight a plus
– VSTS a plus
– Test Driven Development a plus
– Strong client facing skills
EPS Software Corp provides leading edge software solutions and services for clients worldwide. We employ world-class talent who continuously research, evaluate and use the latest development methodologies, tools and techniques around Microsoft .NET and SQL Server. In addition EPS is the publisher of CODE Magazine (www.codemag.com) – the Leading Independent magazine for .NET Developers and offers training classes for .NET Developers (www.code-training.com) and conversion services for companies looking to upgrade their Visual FoxPro applications to .NET (www.vfpconversion.com).
We offer a competitive compensation package including medical benefits, retirement plan (with generous match), life insurance, long term disability, vacation, sick and holiday pay, casual atmosphere and more.
EPS Software is an equal opportunity employer. We recruit, employ, train, compensate, and promote without regard to race, religion, creed, color, national origin, age, gender, sexual orientation, marital status, disability, veteran status or any other basis protected by applicable federal, state or local law.
If you are interested, please send your resume to email@example.com
I’ve just uploaded the material from my presentations at the Houston TechFest 2009. It was a great event once again, and I’ve had a great time presenting there. As usual, I’ve a chance to get together with old buddies, got to meet new ones, and heard great feedback on my sessions.
If you attended any of my sessions (or all of them, like some stalkers did 😉 ), I’d *really* appreciate if you could take a minute or two and rate the sessions in the links below. Any feedback you provide would be great so I know what I need to improve next time:
- Rate “Building Composite WPF Application”
- Rate “Isolating Dependencies in Unit Tests Using Mocks and Stubs”
- Rate “Beyond the Core Concepts of OOP”
The material (slide decks and source code) for my three sessions can be downloaded here.
If you’re in the Houston area, I’ll be speaking at the HDNUG in October, so I hope so see some of you again over there! 🙂
Thanks once again.
Just got back from Frederick, MD, where I spoke at the FredNUG last night. I’ve had fun with the presentation (Refactoring, TDD, Command design pattern, delegates, lambdas, fluent interfaces, extension methods, clean code…). According to the feedback I got, it seems like everybody learned a little something, so that means mission accomplished. 🙂
As promised, here’s a link to the material presented there. And of course, I’d like to thank everybody who came to the presentation.
This is going to be a busy week for me with presentations I’m doing at different places. Here’s the schedule:
Tuesday, Sept 22: Speaking at the Frederick .NET User Group
- Refactoring, Patterns, new language features, code quality, and more! with Claudio Lassala
Command design pattern, Lambda Expressions, Extension Methods, fluent interfaces, refactoring, test-driven development, writing elegant code, and more. This session will cover a little bit of many things learned from projects I’ve been working on. We expect every attendee to learn a few tricks that can be applied immediately, and also to feel encouraged to go out and research more on whatever area appeals the most. Besides learning those things, we really hope attendees will start thinking and approaching their code in a different way.
Wednesday, Sept 23: SOLID Series for the Virtual ALT.NET
- The Open/Closed Principle, and the Liskov Substitution Principle
Saturday, Sept 26: Houston TechFest
- Beyond the Core Concepts of OOP (SOLID)
- You’ve been learning about the core concepts of Object-Oriented Programming (OOP) for quite some time now: Abstraction, Encapsulation, Inheritance, and Polymorphism. When you thought you knew it all, all of a sudden the cool kids are talking about all these principles such as "Single Responsibility Principle", "Open/Closed Principle", "Dependency Inversion Principle", as well as Inversion of Control containers, etc. This session presents those concepts so the attendees can understand what they are and start using right away.
- Building a Composite WPF Application
- In this session we create a composite application in WPF, built following the Composite Application Guidance for WPF (codename Prism). The sample application is simple, but most of it is written during the session, covering both the main components of Prism, as well as the Model-View-ViewModel pattern and dependency injection.
- Isolating Dependencies in Unit Tests Using Mocks and Stubs
- Soon after getting used to writing "unit" tests, developers tend to realize that those tests weren’t really testing "units"; they were testing way more than that. In order to write real unit tests, it’s necessary to use test doubles such as mocks and stubs. This session covers how to create and use those, and how to use Rhino Mocks to simplify things further. As we learn about those things, we’ll also learn about the importance of thinking through how we write our code, putting thought into the dependencies that a class may have, and how things should be split up.
I hope to see you at any of these events! 🙂
Thanks to all of you who showed up at my presentation last night. Lots of buddies, familiar faces, and new buddies. 🙂
As promised, you can download the material here. It’s essentially the slide deck I’ve used, where you’ll find links, resources, and the overview we’ve covered last night. Remember that the sample application I showed is part of prism, so you can just download that straight from Microsoft’s website. You can get Prism here.
And remember, I’m presenting another session at the Houston TechFest where I’ll focus mostly on the code of a composite WPF application, so that’s like a sequel to the session you saw yesterday. 🙂
I hope to see you at the TechFest!
Tomorrow (June 17th) I’ll be speaking at the North Houston .NET User Group. It seems like the meeting information is temporarily not available on their site, but here’s the address to the meeting:
Lone Star College – Montgomery, ROOM A102 (in middle of Building A)
3200 College Park Drive
The Woodlands, TX 77384
The meeting starts at 6:30pm.
The topic is: Overview of the Composite Application Guidance for WPF and Silverlight
This presentation covers an overview of the Composite Application Guidance for WPF (aka, Prism), its architecture and Composite Application Library (CAL), and how applications are built on top of it. If you build any application that goes beyond “Hello World”, it’s likely that you create composite applications. Prism allows for applications to be built with proper separation of concerns, promoting loose coupling, extensibility, and testability. It also helps with WPF’s goals of asslowing developers and designers to collaborate more easily on the same project. The presentation also covers some dependency injection and Model-View-ViewModel.
As I’ve mentioned awhile ago, I’m starting a series on the S.O.L.I.D. principles for the Virtual ALT.NET. In theory, we were going to start it last week, but due to some technical problems, we’re officially starting it this week. Here’s the schedule:
- Sept 16: SRP (Single Responsibility Principle)
- Sept 23: OCP (Open Closed Principle)
- Sept 30: LSP (Liskov Substitution Principle)
- Oct 7: ISP (Interface Segregation Principle)
- Oct 14: DIP (Dependency Inversion Principle)
I’d love for these meetings to be very interactive; the way I see it, I’d like to introduce each principle, run through a couple of samples, and then open up the discussion so that other people could share their own samples, thoughts, experiences, etc. Please, don’t hesitate in contacting me if you have any ideas, suggestions, or comments that could help us make these meetings as valuable as possible to everybody.
Times below are Central Daylight Time
Start Time: Wed, Each week 8:00 PM UTC/GMT -5 hours
End Time: Wed, Each week 10:00 PM UTC/GMT -5 hours
Attendee URL: Attend the meeting (Live Meeting)
Here’s a quick summary of last week’s meeting:
- The Art of Unit Testing book: great one! I goes from the very basics (what unit tests are? How to use test runners? etc.), though more advanced topics. Highly recommended for anybody writing tests.
- SOLID series for the VAN (Virtual ALT.NET): starts on September 9th!
- Visual Studio tips:
- Hit F8 to navigate through compiler errors
- Add blocks of code to the Toolbox by dragging them from code editor
- On Toolbox, one can easily expand/collapse all tabs by pressing / or *, respectively
- Interesting comment from our buddy Ben: “You know what hurts WPF and Silverlight? Most of the UIs are gross. Gradient explosion.”. We’ve discussed a little bit about that. I’m trying to get Markus to swing by and share how we’ve been working with WPF and Silverlight in the sense of creating great UIs.
- JB talked a little more about Monads, and more specifically, the Reactive Framework. He pointed us out to this video.
- Ben also pointed us out to this cool site. You have to try it out. It’s really cool.
- Buddy Craig Berntson talked a little bit about his talks at DevLink, more specifically the one on Continuous Integration. He’s co-writing a book about it. He also has presentation material and articles about it here.
- There’s a two part podcast on Herding Code on “Presentation Patterns”, with a lot of smart people. Definitely worth checking out.
We’ve also discussed that it’d be great to have a meeting focused on an IoC Containers comparison. It’d be awesome if we could get the people behind the main containers on the meeting, and have them answer questions such as “what has made you write your own framework? What’s so special about it that you couldn’t use the other frameworks?”. Let’s see if we can pull that off.