self-improvement

How long do you beat your head before asking for help?

There are some things that just don't spring to mind... a no amount of Googling is going to solve the problem. If you don't know what you are looking for, you're never going to find it anyway. If you have other people to bounce ideas off of, how long will you keep trying before asking somebody else? Example: A coworker was trying to e...

As a programmer, how much time do you spend churning?

I recently went through a period of frustration, "churning" as I tried to set up my environment to work effectively on a task. By the time I broke through and started to make actual progress, I felt tired and kind of angry. (I'll admit: in this case, it took me several days of banging my head and ultimately starting from scratch to final...

How do you go about getting a relevant internship?

I just listened to the most recent SO podcast, and one thing mentioned, that I'd already realized, was the importance of internships. My question is: how do you find/get hired on a decent internship? I'm not an A* student so this already makes it difficult and I've applied and been rejected from some of the big obvious places: banks/IB...

What do you do to make coding more enjoyable?

Normally I play music in the background, but recently I've discovered that I can play a podcast on software development/entrepreneurship in the background, and code at the same time. So I listen to the podcast in the background while I bang out code. I've found it to be very helpful, its like I lose all track of time! I don't even notice...

What's the difference between 'research programmer' and 'software development engineer'?

I want to know whether the experience of research programmer is useful to one who want to become a real programmer. I am working as a intern in a company, the daily work gets mainly to do with designing and implementing algorithm, change the environment of a program and get the corresponding result by using different tools. write the s...

Speaking at User Groups

In the last year, I've been making more of an effort to speak at user groups both inside my company and in the community at large. I've found I learn very quickly by trying to teach others. So I pose the question to the community, what is more valuable to you? A deep dive into a technology that doesn't have a lot of documentation/comm...

How do you manage your continuing education?

My guess is that many of us would count ourselves among a particular sort of group -- developers interested in become better developers. I'm interested in getting a better sense of how you approach your continuing education. Our field is evolving at a ridiculous pace. Just taking the statistically likely example, if you happen to work...

New to Embedded Development. Working on digital KVM

I'm new to embedded development - but have been interested in the field for a while. I think this is close enough to being programming related; and I've seen enough people here show knowledge in this area, so I'll ask here. I decided that a cool project that would cover many different areas of programming and hardware would be to develo...

Where to start (self-)learning C, or should I learn I learn a different language?

Lately, I discover more and more that it's good to have extensive knowledge of programming fundamentals. Sadly, I am (one of the many) self-taught PHP developers and have no regrets choosing that path. However, I still think I should extend my knowledge to some "real" programming languages starting from zero and build up my knowledge fr...

If you had one month to work on anything you wanted, what would you do?

Here's the scenario: You've just quit your last job and you've got another one lined up in one month. You want to improve yourself as a raw coder, not so much to learn <insert latest hot technology here> but you want to do something that will benefit you in your software career. What do you do? This is exactly the scenario I find mysel...

Applying programming concepts to day to day life

What programming concepts are applicable to general life issues—business success, relationships, etc.—and how would you apply them in those situations? ...

Most important non-technical skill you've acquired

What's the most important non-technical skill you've acquired that you feel makes you a better developer? I want to improve my skills, but I get the feeling that my time might be better spent somewhere besides learning the newest acronym of the day. For example, has your development skill been best improved by: Improving time managemen...

What differs in developing critical systems?

In my 10 years working as a software developer, I have oft been amazed by how poor a lot of code is (and I am certainly guilty of writing such code myself). At times it can be good for a laugh, but it makes me wonder: what differs in the development of critical systems (aviation, medical, military, automotive, etcetera) that yields such ...

How to practice a language like C#?

These days I have learned some basic usage of C#. I think that because C# is often used in application programming ,we should practice the language in an engineering way rather than solving some algorithmic problems. But what is the best way to practice C# if I cannot find any projects related to the language in the work. ...

Personal project/idea database and tracking

How do you keep track of your personal projects and ideas? If you come up with this amazing idea how do you write it down? Notepad? Some text file somewhere? How do you track your progress,etc? I'm not talking about FogBugz,etc as they are for tracking team work, I'm talking about tracking my ideas and projects and any associated c...

What are the lesser known but cool data structures ?

There a some data structures around that are really cool but are unknown to most programmers. Which are they? Everybody knows linked lists, binary trees, and hashes, but what about Skip lists, Bloom filters for example. I would like to know more data structures that are not so common, but are worth knowing because they rely on great ide...

What are your learning tips?

You know, developers learn during all their life and I think that to be a better developer you should be able to learn faster than average people. So I'd like to know if you have learning tips to learn faster. For example to learn a book in one week (~1000 pages) to pass an exam certification, I worked with Visio aside and every new c...

Which programming languages teach you the best new concepts?

I love learning new languages, but with limited time I want to optimize the bang I get for my buck. So; which languages do you recommend learning to get yourself exposed to a new way of thinking about programming? My own thoughts are C, because it gives you a good understanding of low-level stuff. Assembler, because it gives you good...

How can I become a better C# programmer?

When you can create classes and do the simple stuff (GUI, reading text files, etc...), where do I go from here? I've started reading Code Complete 2nd Edition which is great but is more of a general programming book. What topics should I learn next? ...

Is it better to go broad or go deep?

This is a rather general question about how best to further yourself as a programmer both professionally and personally. As good Pragmatic Programmers, we have been taught that continual learning and self-improvement are things that we should consider a natural part of our lives as technologists. Part of this process is keeping abreast...