• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Codemotion Magazine

Codemotion Magazine

We code the future. Together

  • Magazine
  • Dev Hub
    • Community Manager
    • CTO
    • DevOps Engineer
    • Backend Developer
    • Frontend Developer
    • Web Developer
    • Mobile Developer
    • Game Developer
    • Machine Learning Developer
    • Blockchain Developer
    • Designer – CXO
    • Big Data Analyst
    • Security Manager
    • Cloud Manager
  • Articles
    • Stories
    • Events
  • Sign In
Home » Dev Hub » CTO » Professional Programmer
CTO

Professional Programmer

Codemotion and Facebook organized the Tech Leadership Training boot camp, heres a personal reportage from one of our attendees.

Last update February 25, 2019 by Luca Ferretti

We will make the world a better place, one line of code at a time. Maybe not all developers are moved by such noble intentions, maybe the best computer minds on the planet right now are working hard just to convince you to click on advertisements, but it is undeniable that the software impacts deeply on the lives of all people. It is therefore important that the software created is always better and for this reason those who make it, those who develop, must aim to become an even better developer.

Of course, not all developers are rock stars and maybe in some work situations the developer is seen by the company as a commodity. As such it is a disposable resource, forced into a situation in which it is impossible to change activity and wages, a situation that does not offer external motivation for itself to improve itself, to come out of mediocrity, real or perceived, which seems to justify the commodity status.

How is it possible to break this pattern and aim for excellence? In the closing keynote of Codemotion Milan 2018, Gabriele Lana, Software Craftsman at CleanCode, told us his point of view on what it means to be a professional developer.

Individuals and Teams

No man is an island. This is all the truer for a profession like that of the developer, which intrinsically requires teamwork. The path for the improvement of oneself starts from here, from the people with whom we are more directly connected, from a working and emotional point of view. In the team you work with you can find the stimuli and the knowledge necessary to learn. Besides, it’s a common opinion that great teams make great people, isn’t it?

Of course, but it is also true that great teams are made by great people and this circular dependence sounds like a “code smell”. What could happen if, with adverse fate, you could not find a great team in which to work?

Enter: the individual. You are you, and the environment around you intervenes only partially to contribute to what you are or how you behave. Only you can change yourself, only you can choose if and how to invest your individuality.
 


 

Speaking of individuality, the transition to character and behaviour, to the “innate” qualities and the way in which we act is a must. As recalled by Gabriele, character and behaviour are both interrelated. Committing yourself to act like a professional would allow you to develop good habits and break bad ones.

Learning and Productivity

How to start investing in yourself, to be a better programmer? Gabriele suggested different ideas for two important areas to start from.

The first area is education. In fact, while it is true that in computer science and programming never fails in providing something new to study or learn, a bleak doubt remains: whether it is nobler and better to devote yourself to the study of foundational knowledge or pragmatic knowledge.

Certainly, foundational knowledge can be more challenging to acquire and maintain, but its difficulty allows you to get out of your own comfort zone and offer advantages that can be useful in the long term. On the other hand, pragmatic knowledge is immediately expendable in the workplace.

Another area of ​​intervention is one’s own productivity, being able to manage time, energy and attention. If it is true that the surrounding environment leads us to frequent context switches, being professionals must lead us to be aware of what is the most important activity to do from time to time.
 


 

In the classic subdivision into quadrants in which the value of their work and dedicated focus are mapped, the goal is obviously to be in areas of maximum value.

Maximising the value when the required focus is low means knowing how to move from the area of ​​busy work to that of collaborative work. For this step, the team and individual retrospectives are helpful. For the similar passage, from useless to deep work, it is helpful to work in time boxes and take as reference the “definition of done”.
 


 

Quoting Gabriele Lana himself, if you want to find the right team, start searching for the right people, but… be right person.

Tagged as:Codemotion Milan

Tensor Processing Units: enabling the next generation of fast, affordable AI
Previous Post
Editorial web layouts: how Gutenberg would have used CSS (perhaps)
Next Post

Primary Sidebar

Subscribe to our newsletter

I consent to the processing of personal data in order to receive information on upcoming events, commercial offers or job offers from Codemotion.
THANK YOU!

Whitepaper & Checklist: How to Organise an Online Tech Conference

To help community managers and companies like ours overcome the Covid-19 emergency we have decided to share our experience organizing our first large virtual conference. Learn how to organise your first online event thanks to our success story – and mistakes!

DOWNLOAD

Latest

Understanding‌ ‌a‌ ‌Lean‌ ‌Approach‌ ‌to‌ ‌Software ‌Development‌ ‌to‌ ‌Maximize‌ ‌Output‌ ‌Value

Understanding‌ ‌a‌ ‌Lean‌ ‌Approach‌ ‌to‌ ‌Software ‌Development‌ ‌to‌ ‌Maximize‌ ‌Output‌ ‌Value‌

DevOps Engineer

5 Tips to Foster Productive Collaboration With Data Analysts

5 Tips to Foster Productive Collaboration With Data Analysts

Big Data Analyst

How to Implement AI Predictive Maintenance on Edge Devices

How to Implement AI Predictive Maintenance on Edge Devices (Case Study)

Machine Learning Developer

6 Ways to Implement Metaprogramming in JavaScript with Proxies

6 Ways to Implement Metaprogramming in JavaScript with Proxies

Web Developer

How to Optimise Your IoT Device's Power Consumption

How to Optimise Your IoT Device’s Power Consumption

Machine Learning Developer

Related articles

  • Which goals to set to get on top of developer career?
  • Thinking Like a Founder – meet Chad Arimura
  • 5 Ways to Foster Collaboration between Developers and Marketers
  • Ever Wondered How a CTO Masters Leadership and Strategic Planning?
  • Why You Should Change Your Developer Job Every 4 Years
  • 5 Easy Ways to Improve Software Dev Team Communications
  • Which Developer Career Path Should You Choose Next?
  • How to Build Your Path to Become a Lead Developer
  • The Evolving Role of the Chief Technology Officer: A Skills Assessment
  • Being A Good CTO Is Just Not Enough

Subscribe to our newsletter

I consent to the processing of personal data in order to receive information on upcoming events, commercial offers or job offers from Codemotion.
THANK YOU!

Footer

  • Learning
  • Magazine
  • Community
  • Events
  • Kids
  • How to use our platform
  • About Codemotion Magazine
  • Contact us
  • Become a contributor
  • How to become a CTO
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions

  • Learning
  • Magazine
  • Community
  • Events
  • Kids
  • How to use our platform
  • About Codemotion Magazine
  • Contact us
  • Become a contributor
  • How to become a CTO
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

DOWNLOAD APP

CONFERENCE CHECK-IN