Advice for the passionate and young software developers
Monday, 25. February 2008, 09:29:21
I have gathered some advice for young and passionate software developers. It comes mainly from my experience and from my peers'. I hope it helps.
1. Be aware that programming is hard
Despite what Microsoft, Sun and other software development tools vendors want you to think, programming is hard. It looks easy though. Start an IDE, run a wizard, do some work in a designer, drag and drop database tables, automatically generate code and everything seems to work just fine.
Well, in 99% of the cases, it won't. Something will happen that will make your application fail, and because you used an IDE, a wizard, a designer and because you don't know what's going on in the backstage, you're in trouble.
2. You're not done when you've stopped writing the code
You get a task from your project manager, write the code, compile and run the application once to see if it's working. If it's working, it means that you're done.
No, you're not. You need to test it thoroughly before you're actually done. Yes, there is a tester in the team, but bugs caught early are much less expensive than those caught in the testing phase. The project manager will insist on this topic.
3. A programming job means continuous learning
The only constant in our lives is change. You feel this even more in IT. New hardware, new software, new programming languages, new tools come up every year. There are good news however: the basic principles haven't changed in 25 years. Understand them and you will be less surprised. The bad news is that it takes time to understand them.
4. The technology used is not essential
C# is good. Java is good. Perl is good. Python is good. Hell, even Cobol is good. (Only VB and old ASP are evil :-D.) Each of them for their own domain. Learn them all. The more languages you learn the easier will be to learn more, and you will find innovative and effective solutions for your projects.
5. Solve the problem
Be pragmatic. You work for a project because somebody has a problem and they want it fixed. Find the best way to solve it. Yes, there are limitations. Yes, you can't always use the ideal solution. This is why you are asked to solve the problem and not a computer. There are no recipes. You have the capability to adapt to the situation. Solving the problem is the fun part, too.
I hope that helps!
Personal advertisement: I am PassionIT and help teams that develop high quality software. I train, I help improving and I work hands-on, depending on the needs. Contact me if you need help.
Alexandru Bolboaca-Diaconu
1. Be aware that programming is hard
Despite what Microsoft, Sun and other software development tools vendors want you to think, programming is hard. It looks easy though. Start an IDE, run a wizard, do some work in a designer, drag and drop database tables, automatically generate code and everything seems to work just fine.
Well, in 99% of the cases, it won't. Something will happen that will make your application fail, and because you used an IDE, a wizard, a designer and because you don't know what's going on in the backstage, you're in trouble.
2. You're not done when you've stopped writing the code
You get a task from your project manager, write the code, compile and run the application once to see if it's working. If it's working, it means that you're done.
No, you're not. You need to test it thoroughly before you're actually done. Yes, there is a tester in the team, but bugs caught early are much less expensive than those caught in the testing phase. The project manager will insist on this topic.
3. A programming job means continuous learning
The only constant in our lives is change. You feel this even more in IT. New hardware, new software, new programming languages, new tools come up every year. There are good news however: the basic principles haven't changed in 25 years. Understand them and you will be less surprised. The bad news is that it takes time to understand them.
4. The technology used is not essential
C# is good. Java is good. Perl is good. Python is good. Hell, even Cobol is good. (Only VB and old ASP are evil :-D.) Each of them for their own domain. Learn them all. The more languages you learn the easier will be to learn more, and you will find innovative and effective solutions for your projects.
5. Solve the problem
Be pragmatic. You work for a project because somebody has a problem and they want it fixed. Find the best way to solve it. Yes, there are limitations. Yes, you can't always use the ideal solution. This is why you are asked to solve the problem and not a computer. There are no recipes. You have the capability to adapt to the situation. Solving the problem is the fun part, too.
I hope that helps!
Personal advertisement: I am PassionIT and help teams that develop high quality software. I train, I help improving and I work hands-on, depending on the needs. Contact me if you need help.
Alexandru Bolboaca-Diaconu









alex_boly # 27. February 2008, 08:47
Ok then, Lisp is good, C++ is good, Javascript is good.... You have to admit however that VB is evil ;-)
To be truthful, I like the C# language; what I don't like is the marketing around .NET framework, and the way business reasons made it less interesting for developers.