Last post

The Blaag

More Posts

I spend a lot of time dealing with recruiters - responding to queries, and accepting or rejecting endless amount of LinkedIn contact requests. I mostly agree to those requests, unless it's obviously a spam account, since you never know what a new contact will give, but a quick review says that way less than 1% of the recruiters who contact me will actually end up signing a new contract. This means 99% of the time I spend on new contacts from recruiters is waste, and if my experiences hold up for the industry1, 99% of the recruiters' time spent on initial contact is wasted as well.

CONTINUE READING

Courses

In addition to software development and maintenance, I also teach. I give courses in Python and DVCS (Git and Mercurial), and I also do custom-build courses for a specific team or company. The courses have a strong focus on understanding by solving problems, with theory intermingled with exercises and discussion.

All courses are given in Swedish or English, with course material and exercises in English.

Basic Python

This is a course for those who already know programming, and would like to learn Python from the ground up, or for the developer who has done some work in Python but wants a broader knowledge and foundation.

During the course we will work with a strong focus on practical knowledge and learning by doing, so that attendees can work independently with Python after the course. A large amount of exercises are built to give the oppurtunity to use test-driven development to explore Python, and discussion of the exercises gives a deeper understanding of the oppurtunities that the language offers.

This couse is a full-day course. The attendees are required to have basic programming and computer knowledge, and to bring their own laptop to be able to complete exercises.

Course contents

  • What is Python, and what is it not?
  • Basic syntax
  • Builtin data types
  • Basic constructs
  • Comprehensions
  • Ideomatic ("Pythonic") Python
  • Tools for testing and TDD
  • Introduction to Object Oriented Python
  • The standard library
  • Text parsing and manipulation
  • Using databases
  • Writing web applications
  • Servers and asynchronous tools
  • Automate and integrate with other processes
  • Python packaging and the Package Index (PyPI)
  • Python 2 vs 3
  • Alternative Python implementations

Advanced Python

In contrast to the basic Python course, this course is for the Python programmer who wants to add depth to his Python repertoire, and learn the ins and outs of the language.

The course has a project-like structure where we build a product from the ground up, iterating and enhancing as we learn new tools.

This couse is a full-day course. The attendees are required to have some Python knowledge, and should ideally have worked with in a Python project or two. Attendees must bring their own laptop to be able to complete exercises.

Course contents

  • Introspection
  • Third party tools for Python development
  • Synthetics
  • Building web applications on WSGI
  • Advanced Python Object Orientation
  • Integration with C
  • Run-time code/AST manipulation
  • Consuming the Internet with requests
  • Profiling Python code
  • Strategies for parallellism
  • Documenting Python with Sphinx
  • Strategies for supporting Python 2 & 3

Contact