# The necessary steps for being a good programmer.....



## MrSeanKon (Oct 2, 2012)

Hey folks,

I am thinking to find an alternative job here based on programming. It offers more Euros of course and I can find more positions for software engineers instead of pure electrical engineering.
Look for example some job positions:

*First ad:*
=> Duties <=
Analyzing & designing applications in a Web/internet delivery environment
Developing and implementing highly complex technical solutions in a J2EE web environment.
Providing support for application development business objectives while providing expertise in software development lifecycle phases from concept and design to testing

=> Required Skills <=
Very good knowledge & proven technical experience of the following technologies:
Java & J2EE Stack (JSF, EJB3, JPA)
JDBC
SOA (Web Services/ ESB), Enterprise Integration Pattern
MVC framework
Eclipse
SVN


*Second ad:*
Analyse, design and develop applications in a multi-tier Java EE environment.
Support database schemas designs and query optimization.
Manage systems integration.
Estimate tasks required to complete various development projects including time and resources required.
Provide technical support and documentation.
Identify and apply appropriate modern technologies and techniques for software developmen.t
You should be able to demonstrate at least 5 years on the job working experience with Java EE and Java EE Design patterns. Experience in relational database design and Oracle PL/SQL is essential. Strong communication skills are also expected.

=> Key qualifications are <=
Advance experience in SOA and Web Services.
Experience in relational database design and Oracle PL/SQL.
Knowledge of UML.
Experience in UNIX-based environments and JEE application servers (preferable Glassfish and/or Weblogic)
Knowledge of the following technologies will be an asset: Spring, Ibatis or other ORM Framework, Struts2 or other MVC Framework, Maven.


*Third ad:*
=> Tasks <=
Design and Development of Document Management and Web-based applications.
Design of databases and implementation of user interfaces.
Follow-up on development of applications and User Acceptance Tests (planning, documenting defects etc.).

=> Qualifications <=
Excellent knowledge in C#, VB.NET, ASP.NET, Javascript, Oracle PL/SQL, XML, Document Management.
Experience  in following technologies is considered an asset: Document Management (ideally Open Text eDOCS DM), Java Programming, JSP, Servlets, Struts2, EJB, Spring, Web Services.
Good understanding of Software/Systems engineering principles.


Although some companies are seeking for the top programmer it is not easy to find one sometimes with all needs.
Anyway my questions is how can I start to improve myself??
I know C++ and C#, some Delphi.

*Kreij: H - E - L - P!!!!!!!!!*


----------



## Sasqui (Oct 2, 2012)

Have you worked with Java?  Start here:  

http://www.oracle.com/technetwork/java/javase/downloads/index.html

You could dream up an application (something simple to start with) and build on that.


----------



## Kreij (Oct 2, 2012)

Hi MrSean. Good to see you again. 

Companies will always list "everything" they want, but won't always find it in a single person no matter how long the ad sits open.

Look for a job that requires (at least) your current skill set and apply for it. The worst they can do is say No.

In the mean time, look at expanding what you are familiar with by reading books and practicing in other languages and with various application work (databases, doc management, etc). You can get an idea of what to work on by seeing what people are looking for in your area.

It also wouldn't hurt to learn a few different design and testing methodologies, but they will probably have one already set up so you may not need to be highly experienced in any one in particular.

If you can find a job with a relatively new or smaller company it probably won't pay as well but they might not have such strict hiring requirements and you will be able to grow with them and work on adding things to your resumè for future positions you may come across.

Rule #1 : Don't give up. 

Also ... I am sure all the coders here on TPU will be happy to help however they can.

Also also ... becoming a good prgrammer takes practice and experience. You can practice anytime, the experience will come with time.

Also also also ... I hate coding in Java.  (It is a highly desirable skill though)


----------



## MrSeanKon (Oct 2, 2012)

Thanks men for your replies 



Sasqui said:


> Have you worked with Java?


No I haven't.
But it is easier to learn Java cos I know C#?
Of course I have to revise C#.




Kreij said:


> If you can find a job with a relatively new or smaller company it probably won't pay as well but they might not have such strict hiring requirements and you will be able to grow with them and work on adding things to your resumè for future positions you may come across.


Kreij I know it is not easy to join in a big software company here right now. Of course they are some smallers which they don't seek for high tech programmers. If I can work to a smaller one for 1-2 years I will have the necessary background to go further.



Kreij said:


> Also ... I am sure all the coders here on TPU will be happy to help however they can.


Nice!
But I pleased you in the first post because you are the only one TPU coder I know 



Kreij said:


> Also also ... becoming a good prgrammer takes practice and experience. You can practice anytime, the experience will come with time.


This stands for every new field of any engineer.



Kreij said:


> Also also also ... I hate coding in Java.  (It is a highly desirable skill though)


Kinda confusing 
I wrote above; I think Java seems C#. Or not??


----------



## Kreij (Oct 2, 2012)

MrSeanKon said:


> Kinda confusing
> I wrote above; I think Java seems C#. Or not??



Yes, they are similar and you should be able to pick up coding in Java without too much trouble.


----------



## MrSeanKon (Oct 2, 2012)

OK Kreij!
Well as I am reading again the ads in my opinion the third one requires less time to be ready for it => the .NET programmer.
On the other hand since I have worked with Visual Studio 2003, 2005 & 2008 why not to be a .NET programmer??
What's your thoughts about this??

Thus I think you agree:
1) Revise my C# knowledge.
2) After go to Java cos it is easier.

then the next steps??
Visual Basic, Javascript or something else from above requirement skills???


----------



## 3870x2 (Oct 2, 2012)

The larger the city you live in (or the better the job in some cases) the more certifications matter.  There are professional certifications on just about everything, and really help you land a job.

The important thing to note here is that certifications are just a piece of paper.  On the flip side, you really need to know your stuff.

I am a Database engineer.  I know Java, C#, c++, php, html, etc... but I am a master of none of them.  For a job you don't necessarily need to be for entry level, either.  Most of your learning will be on the job, as they might use their own specific libraries, and most of your work will be maintenance anyway.

I recommend picking a language (I reccommend Java or C#) and begin programming your own projects, while also studying for certification exams.

Kreij would definitely know more than me, as while I have been in IT for seven years, this is my first real job that I have done any programming.


----------



## Kreij (Oct 2, 2012)

It's really tough to call as we don't know what is going on at the company in the 3rd ad.
We can try to make some assumptions (careful with assumptions. lol)

It looks like they want a web developer (ASP.NET + Javascript) who is familiar with tying web pages to databases (Oracle SQL) for document management (Open Text eDocs DM). If you want to gear your learning for this job specifically, then those are the things I would learn. C# and VB are most likely the code behind for the ASP.Net pages, so only being good at one should not be too much of a problem and as 3870 said, you may just need to know them for code maintenance.

In the 3rd ad they want excellent knowledge (requirements) in the .Net, Javascript, Oracle and Doc stuff and consider the rest an asset (they are hoping to find someone like that).


----------



## MrSeanKon (Oct 2, 2012)

Let me ask again:
The proper (suitable way) is revise C# => Java => Visual Basic => Javascript or revise C# => Java => Javascript => Visual Basic?
Or can I choose both ways??

Sorry for newbish questions, but what is ASP.NET? 
I prefer to ask you instead of searching in Google, it's midnight here so I must ZZZ.

Talk to you tomorrow, thanks buds for replies


----------



## Kreij (Oct 2, 2012)

ASP (Active Server Pages) is Microsoft's answer to web development. It, of course, integrates very nicely with the .Net languages.

My suggestion (for what it's worth) ...
C# -> ASP.NET -> SQL -> Whatever else.

This is based on what the company in ad #3 is looking for and little else.


----------



## MrSeanKon (Oct 3, 2012)

I will follow this recommendation.
And other one question:
For J2EE and Javascript is it better to have a background on Java?
I mean some of the next ways will be Java => J2EE and Java => Javascript.
I have to stop asking here. Time for study!
I will ask again in the future


----------



## 3870x2 (Oct 3, 2012)

It is a common mistake to think Java and Javascript are related.  They are completely different and serve very different needs.

I will say, libraries aside, learning Java you are only a bit of syntax away from knowing c# and vice versa.

Good luck with whatever you do.


----------



## MrSeanKon (Oct 7, 2012)

Thanks 3870x2 
I thought that Javascript is based on Java. Newbie here!
To continue, I am studying ASP.NET. But I have to study something like XML, HTML, CCS?
Therefore can you suggest me an editor for these languages???
I am confused now, I know about Adobe Dreamwaver....
What's your opinion??
Moreover I am downloading Visual Studio Ultimate 2010 cos the PC runs XP.


----------



## Kreij (Oct 10, 2012)

XML (eXtensible Markup Language) is just a markup language and there are no "commands". 
You can think of it as a human readable, text based database structure with specific formatting rules.

HTML (Hyper-Text Markup Language) is a specific set of commands written in XML-type structure used by browsers to perform specific function (usually display). 

CSS (Cascading Style Sheets) is language/method for formatting web pages. It's usually embedded in or called from HTML pages.

Javascript is a dynamic scripting language that runs in a virtual machine. The names and naming conventions it uses are similar to Java but that's about all they have in common. It too is embedded in or called from HTML pages.

Php (Hypertext Preprocessor) is a server side, HTML embeded scripting language.

ASP.NET is a Microsoft specific syntax that ultimatly gets converted to HTML and ties into compiled code segments (code behind) that are written in a .NET language (C# or VB). Sort of Microsoft's alternative to Javascript and Php that can execute on either client-side or server-side depending on how you code it.

You can use Visual Studio Web Developer 2010 Express Edition for all/any of these.

To be really useful with Php, you would probably want to get something like VS.PHP. I think you might need a full version of VS though as the Express version don't allow plug-ins/IDE extensions.
Im pretty sure you can around it with a registry hack that fools VS into thinking Php files are C++ files so you can get IDE syntax highlighting in the Express edition.

So, given the progression you want to start by learning HTML.


----------



## MrSeanKon (Oct 12, 2012)

Kreij I have downloaded plenty of pdf files for XML, HTML, C# etc....
Well as I understood to start learning ASP.NET I must learn HTML first.
Studying the first pages I read that any script programming language such as Javascript, CSS etc requires a HTML file which loads the script (or multiple scripts).
I am studying HTML v5.0.
1) By the way do you suggest an another software instead of Adobe Dreamweaver CS6?
2) Is XML an alternative way to load script files?
I am thinking that Web programming requires a mix of scripting and HTML based languages. 
Correct if I am wrong...


----------



## Kreij (Oct 12, 2012)

If you use some kind of visual editor that generates the HTML for you, you don't have to know HTML but you will be MUCH better off if you learn it. Some editors add a ton of stuff in the HTML that your page(s) may not need and you if you know what is going on you can remove the superfluous crap to make managing the contents of the files easier. Knowing HTML will also allow you to fine tune things that may be very difficult to do with a visual editor.

You will also want to learn CSS. It will make your life a while lot easier when you are doing a web site that has lots of pages and you want to keep the format similar.

Learning HTML 5 is good since it's the latest version and it has a bunch of new features. Just remember that not all things in HTML 5 may work in all browsers. Browser incompatibility, however, has been a thorn in the side of web developers as long as I can remember and something you just have to deal with.

1) I don't know. I always write my HTML in a simple text editor unless I am doing something in ASP.NET, then I use MS Web Developer Express. If I want something really fancy I install WordPress and buy a template. I'm tired of reinventing the wheel, and if buying $40 template saves me 100+ hours of coding time ... it's well worth it. Then all I have to do is modify the content and code in anything specific that's not in the template.

A lot of web design business do the same thing these days. They will have marketing specialists who analyze your business goals and objects to determine what kind of site best suits your business. They have artists who work with graphics and photography, they have people who write copy (the textual content of the site) and they have back-end coders for specifics ... but they buy pre-made templates because there is no sense in them hand writing the 1000s of lines of code necessary when someone has already done it.

2) No. XML is just a markup language. You need HTML to display web pages in a browser and to embed scripts. In XML you can put anything you want in the tags, in HTML you must put in the commands that the browser(s) use to render the contents of the page.

Hope that helps and isn't too confusing.


----------



## Aquinus (Oct 13, 2012)

Just as an observation, this is something worth noting. It sounds like you're an EE. Let me be blunt, EEs are great at understanding how programming works and how the machine runs everything but their style is terrible. A lot of copied code, a lot of "I need to do this 3 times, so I will write it 3 times". It's not an insult, but I've noticed this from working with other people in the field. Don't spend so much time learning how stuff works and work more on how to write it. I think you will pick these things up quickly, so I'm less concerned about it.

Just keep in mind that software development is a little more involved then writing some code and there are right and wrong ways of doing things.

XML is a script and is designed to be a container. HTML is XML. (As of XHTML 1.0 and HTML 5.)

Make a virtual machine, install ubuntu and use nothing more than a terminal, vim, and a web browser for tutorials and references.


----------



## Kreij (Oct 13, 2012)

Aquinus said:
			
		

> HTML is XML. (As of XHTML 1.0 and HTML 5.)



This is true, Aquinus, but to someone who is not familiar with either it is confusing.
You can read books on XML and it won't teach you what you need to know about HTML to code web pages unless that book specifically targets HTML in its content. I can write strict, valid XML .. but if it does not contain valid HTML tags, the browser will have no idea what to do with it.

Coming from a background of application programming (C#, VB, C++, etc.) into the world of Web programming is a whole new world of what you have to know and how to apply it. It's not hard, you just have to be aware that it's completely different.

With Windows Presentation Foundation (WPF), Microsoft created a programming environment that combines an XML based front end (XAML) with the .NET back end that is incredibly powerful. But again, XAML is a specific implimentation of XML like HTML and if you don't know how XAML works, knowing XML will not help you at all.

Am I making any sense here. or should I just quit now.


----------



## Aquinus (Oct 13, 2012)

Kreij said:


> This is true, Aquinus, but to someone who is not familiar with either it is confusing.
> You can read books on XML and it won't teach you what you need to know about HTML to code web pages unless that book specifically targets HTML in its content. I can write strict, valid XML .. but if it does not contain valid HTML tags, the browser will have no idea what to do with it.



But it does teach you how to write and style good XML and HTML by learning what XML is, how it is written, and how it is applied first. Knowing what XML is and how it is applied helps you understand why modern HTML works the way it does and why CSS handles styling. It's all a matter of organization.


----------



## Kreij (Oct 13, 2012)

I agree.


----------



## Aquinus (Oct 13, 2012)

A lot of jobs with requirements like these tend to come with educational requirements in Computer Science or Information Technology, and an EE degree isn't a replacement for the things you learn doing Comp Sci or IT. Without the degree you really have to prove you know what it takes and how to do it or go about doing it. Just a word of warning.


----------



## Kreij (Oct 13, 2012)

How is the IT marketplace in NH, Aquinus? WI is starving for IT/Programming people.
I'm pretty confident that if I lost my job I would have another within a week.


----------



## Aquinus (Oct 13, 2012)

Kreij said:


> How is the IT marketplace in NH, Aquinus? WI is starving for IT/Programming people.
> I'm pretty confident that if I lost my job I would have another within a week.



I live in Southern New Hampshire. Boston is 1 hour-ish away before you consider traffic on Route 1 and 95, so I have a lot of options within the greater Boston area which has a pretty big demand. I don't make a whole lot but I made that choice going into education. The environment is more laid back and I have more say in what will happen with servers and web applications. There are a lot of jobs, yes, but companies really do want competent people who will ramp up quickly when it comes to development. Achievement in the field goes a long way to getting a job. You need something that sets you apart. I also can work from home half of the week.


----------



## MrSeanKon (Oct 14, 2012)

BTW XHTML is dead in my opinion. As I read HTML v5.0 is its killer.
Simply HTML co-operates with XML, Javascript and CSS to have the final web application.
Your comments please. Thanks


----------



## Aquinus (Oct 14, 2012)

MrSeanKon said:


> BTW XHTML is dead in my opinion. As I read HTML v5.0 is its killer.
> Simply HTML co-operates with XML, Javascript and CSS to have the final web application.
> Your comments please. Thanks



Not everyone has a HTML 5 compatible browser. You need to consider support for those who have older software. So no, XHTML is not dead and out of all honesty HTML 5 is really an extension of XHTML.

Also your terminology is bad. A web application implies a dynamic page, so there is most likely a server side scripting language that would be used for any "web application." A web page is a better description you provided.


MrSeanKon said:


> Simply HTML co-operates with XML, Javascript and CSS



A server side script will typically provide the HTML, CSS, and JS (if not already static, like the CSS or the JS,) so before anything is done you're processing a request to generate a page for you in a "web application."


----------



## Kreij (Oct 14, 2012)

I think you're still a little confused on XML and HTML.
As Aquinus stated, HTML is XML, it's just a specific subset of XML that browsers use for displaying web pages. For instance, a browser knows what to do with ..

```
<body>
  <p> Hello World!<br /> </p>
</body>
```

But would have no idea what to do with this XML.

```
<TPU>
  <Rocks></Rocks>
</TPU>
```

To say HTML "cooperates" with CSS and JS is not exactly right either. I think it's closer to say HTML "calls" CSS and JS and the browser (or server) knows what to do with them also.
The browser is basically an interpreter. It parses the page's code and displays it based on how the interpreter was written. This is where you run into compatibility issues. If the browser only supports CSS 2.0, or HTML 4.0 or whatever, then pages that use features in newer versions, like CSS 3.0 or HTML 5,  will not display correctly or throw errors.
Microsoft's Internet Explorer is kind of notorious for not having full support for given standards, but they've gotten a lot better. Singling out MS is a bit unfair as their browser is not the only one that gives web coders headaches.

There are other considerations also, like what type of server is the web server? If it's IIS on a Windows server then it will run ASP.NET pages, if it's Apache on Linux then it will not (unless you use something like Mono).

So, are you still sure about web programming, Mr. Sean?
Application programming is like walking on a sunny beach, web programming is like being dragged behind a truck, over broken glass, naked.


----------



## stinger608 (Oct 14, 2012)

W3Schools is an excellent resource for HTML! It was built by the W3 consortium several years ago.

http://www.w3schools.com/

It includes interactive HTML programming tutorials...Well I could go on forever. 

Just jump over there and take a look. Even includes quizzes to test your knowledge after working within the separate sections.


----------



## Kreij (Oct 14, 2012)

Indeed. I usually use W3schools site when I need to do a quick syntax check on something, but I did use it a lot (in addition to my HTML books) when I was first learning.


----------



## MrSeanKon (Oct 14, 2012)

Aquinus said:


> Not everyone has a HTML 5 compatible browser.


I learned this. At Wikipedia is a link which describes this.


Aquinus said:


> Also your terminology is bad.


First of all English is not my mother tongue 
On the other hand any newbie like me is not familiar with new words. Basically I have read English books on Mathematics, Electrical Circuits and Telecommunications.


Kreij said:


> So, are you still sure about web programming, Mr. Sean?


Have you ever heard Bryan Adam's song => Everything I do, I do it for you? 


Kreij said:


> To say HTML "cooperates" with CSS and JS is not exactly right either. I think it's closer to say HTML "calls" CSS and JS and the browser (or server) knows what to do with them also.


Kreij understands me easily. BTW Aquinus we can communicate!


Kreij said:


> The browser is basically an interpreter. It parses the page's code and displays it based on how the interpreter was written.


I learned this yesterday. Interpreter....
The first years of Basic programming!!!


----------

