Johannes Brodwall, principal consultant, Brodwall IT Services

Who am I?

Johannes Brodwall

During the days, I work as a lead Java architect at BBS. However, to provide variation and inspiration, I enjoy doing consulting work during my spare time. I am primarily looking for opportunities to conduct training courses, system analysis and improvement, and architecture advisory services.

I am among the most skilled architects/developers in the Oslo region, and have extensive experience from large projects. I have solid experience conducting courses and presentations and creating Java enterprise solutions. I am engaged in growing the software development community in Oslo, and have been organizing the Oslo XP and Agile Meetup, an Agile User Group with monthly meetings, for two years.

I am passionate about quality and rapid iterations in software. I believe it's worth spending considerable effort to discover how to use existing tools optimally instead of reinventing technologies. Knowing how a piece of software works in depth is the key to using it effectively and safely.

Key Expertise

Application Architecture
How do you construct a large scale system that can handle the constraints of your staff, your technical environment and currently available technology?
Technology selection
What products are available that will help you develop software faster now? How to you introduce open-source into an organization? I wide and deep knowledge of the technology spaces Java, .NET, C++, Ruby and databases.
Security
How do you analyze your system's threat profile? How do you avoid common coding and architectural mistakes that will leave you exposed?
Automated Testing
How do you write unit tests for a new or existing system? How do you test database, web pages, interaction? How do you test requirements?
Java
How does the Java language work? What libraries are available? How do you use Java for your greatest advantage?
Databases
How do you create good models in a database? How do you interchange data between your database and application?
Process
What is the possible benefits of agile development and extreme programming? How do you achieve them? What stands in your way?
Presentation
I have a pedagogical, energized and engaged approach to presentations for small and large crowds. I speak Norwegian and English at a native level.

Services

Introducing Unit Testing into Your Codebase

Unit testing is the cornerstone of agile development practices. Once you have this in place, you can start making incremental improvements to your code, architecture and process. But many organizations find it very hard to introduce testing in an existing codebase. I can help:

Contact me for a program customized for your needs. (Only available for Java)

Project Architectural Kick Start

Are you about to start a new project with Java, .NET, or Ruby? Are you unsure as to what technology to choose? I can help you avoid common traps and choose technology and methods that will save you time and money. Contact me for a program customized for your needs.

Ruby on Rails

Ruby on Rails provides hyperproductive web development. See my Series of Articles to learn more about Ruby on Rails.

I am currently giving this course through Programutvikling in Oslo. My next course will be September 30th to October 4th. You can read more about the course at Programutvikling's web site.

Other courses

I have the necessary material and skills to conduct the following courses. I can provide training ranging from one hour to about a day.

Availability

Evenings or up to 4 days per one-month period. Daytime engagements must be booked at least 2 weeks in advance.

Experience

Project highlights

BBS, STAY (2004-2007)
Lead Java Architect and Evangelist for a large project. Hibernate, Spring, J2EE, JUnit. Technology selection, security, test strategy and programming.
BBS, Nettbank (2004)
Internet banking. Web sevices. Unit testing. Integration testing. Automation. Java. Tomcat.
Chat.no (2004-2006)
Full technical responsibility for development, deployment, monitoring, security of online chat service. Unit testing, automation. Applets.
PetroOnline (2003-2004)
Architect, technical lead and project manager for redevelopment of a petroleum depot automation system. C#/.NET. NUnit.
Telenor (2002)
Worked as developer on Telenor's mobile payment initiative. Java, EJB, networking. Integration testing.
Ericsson (2000-2001)
Worked as a developer on the team implementing a H.322 IP Telephony proxy. H.323 IP telephony. Java concurrency. RUP.
Systek (2000-2003)
I was employed as a consultant in Systek for 3 years. My responsibilities included software architecture, coaching. Critical technologies: J2EE, Unit testing, Extreme programming.
Accept Data (1999-2000)
Worked as a C++ developer on the Win32/MFC-based replacement of existing backend system for financial applications. C++. Double-entry bookkeeping, Database.

Presentation Highlights

Here are some of the presentations I have given on more than one occasion.

JavaZone 2001-2006
I am a regular speaker at JavaZone, Norway's largest developers' conference. My presentations have included Unit Testing, SOA (video available), Java versus .NET (video available), J2ME, and enterprise software architecture.
Test-driven development
I have introduced Test-driven development for several organizations and at two conferences.
Introduction to Ruby on Rails
What you can do with Rails, and how to do it. Video recording available from NUUG Site (in Norwegian)
Java Safari
Introduction and overview of Java and Java Technologies. Held for multiple companies in 2001-2003.
Introduction to Extreme Programming
The basis of extreme programming, and how to get started.
Organizational challenges with Open Source
The legal and organizational impact of adopting open source.

Bibliography