• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

Looking for someone to answer some questions about a job as a developer

 
Ranch Hand
Posts: 135
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I was wondering what its like. I am trying to take the initiative on how to learn, but how would a career standpoint look? Do you use a special software, or you actually use what the schools use, netbeans, visual basic, eclipse, ect. What about the JDKs and library; is it actually the same, or you have to adjust to their library?
 
Marshal
Posts: 80222
424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
One thing you would need which you don't use at College is version control. Nice beginner's tutorial about SVN here.
 
william chaple
Ranch Hand
Posts: 135
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Awesome thanks! What is SVN btw
and what about at a developers point of view? Like lets say I work for fiverr, or if anyone on here is a professional developer, do they use a basic ide simple as netbeans, or do you use a different ide
or some kind of company software
 
author
Posts: 23958
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

william chaple wrote:Awesome thanks! What is SVN btw
and what about at a developers point of view? Like lets say I work for fiverr, or if anyone on here is a professional developer, do they use a basic ide simple as netbeans, or do you use a different ide
or some kind of company software




Source code control is a company decision -- individual developers don't get to choose. Other types of tools which are similar -- meaning don't use in college and company choice -- are large build systems, and the bug reporting/processing systems.

IDEs are a little different. Companies may provide templates which makes working with certain types of IDEs easier, but not all developers may conform.

Henry
 
Campbell Ritchie
Marshal
Posts: 80222
424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

william chaple wrote:Awesome thanks! What is SVN btw . . . do they use a basic ide simple as netbeans, or do you use a different ide
or some kind of company software

Didn't the tutorial explain what SVN is: a version control program called Subversion?
Don't know about the software and IDEs; that probably varies from place to place. They might allow you to use your favourite, within reason.
 
william chaple
Ranch Hand
Posts: 135
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you so much; this is the kind of information I am looking for. So what you mean in " dont use in college" meaning the ide's such as netbeans, eclipse?
Can you give an example that one of you guys work with or what a "large build system" is? Could it be something like IntelliJ IDEA? Or do you know what some companies use? Maybe I can start getting familiar with it


so what about coding? What is the point of coding, lets say java, c++, objective C, or the same languages are used in these "Large build system"

I am going to look at that information you gave me soon, just waiting to go into work. I am using a phone to reply lol. Just waiting outside
 
Marshal
Posts: 5792
368
IntelliJ IDE Python TypeScript Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As Campbell says, the IDE you use is often down to your own preference however some IDE's are more suited to certain technologies and languages than others. For example, my company predominately develops Java based applications and the majority of folks use Eclipse as their IDE of choice, however there are a smaller group (including myself) that prefer IntelliJ IDEA instead. Both work just fine so it's personal choice. However, if you were a C# .NET developer then MicroSoft Visual Studio would probably suit better in that case.

The majority of companies I know use SVN as their source repository system but "git" is becoming quite popular these days and not just with the hipster startup companies.

Often even the environment in which the application you're developing will dictate the Operating System you would choose. For example, the Java application I'm working on deploys in production to a Solaris UNIX server inside the Servlet container Tomcat. So in order to closely replicate that environment in our local dev environment we use Mac OS X systems. Or in a previous company we used Linux systems for the same reason. If you were working on a .NET application then a Windows machine would probably make more sense to run whatever MS app server you'd need there. What I'm getting at here is a familiarity with the UNIX style file system would be beneficial. Get yourself a Linux system running in a Virtual Machine and play with it and become comfortable with using the Terminal. Lots of resources online for this.

I think what we're getting at with a "Large build system" is to encompass everything required to build a complete application. So we're not just talking the Java application, it could include a database, a User Interface, external API's, integration with other systems and services, your application build tools, source repository tools, among others.

Don't expect to become an expert in all of these things from the start, you'll learn each as you use them.
 
william chaple
Ranch Hand
Posts: 135
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Cooke wrote:As Campbell says, the IDE you use is often down to your own preference however some IDE's are more suited to certain technologies and languages than others. For example, my company predominately develops Java based applications and the majority of folks use Eclipse as their IDE of choice, however there are a smaller group (including myself) that prefer IntelliJ IDEA instead. Both work just fine so it's personal choice. However, if you were a C# .NET developer then MicroSoft Visual Studio would probably suit better in that case.

The majority of companies I know use SVN as their source repository system but "git" is becoming quite popular these days and not just with the hipster startup companies.

Often even the environment in which the application you're developing will dictate the Operating System you would choose. For example, the Java application I'm working on deploys in production to a Solaris UNIX server inside the Servlet container Tomcat. So in order to closely replicate that environment in our local dev environment we use Mac OS X systems. Or in a previous company we used Linux systems for the same reason. If you were working on a .NET application then a Windows machine would probably make more sense to run whatever MS app server you'd need there. What I'm getting at here is a familiarity with the UNIX style file system would be beneficial. Get yourself a Linux system running in a Virtual Machine and play with it and become comfortable with using the Terminal. Lots of resources online for this.

I think what we're getting at with a "Large build system" is to encompass everything required to build a complete application. So we're not just talking the Java application, it could include a database, a User Interface, external API's, integration with other systems and services, your application build tools, source repository tools, among others.

Don't expect to become an expert in all of these things from the start, you'll learn each as you use them.




Awesome thanks so much for the information. All of this is still kind of new to me, so I am slowly trying to break it up in pieces. So, let me get this straight.

You use an IDE for a company you work for, such as microsoft ---> visual studio, or if I do java based programs, Ill use netbeans or eclipse. So that is still the same right? However the company its self "microsoft" the company uses a "large build system" which includes servlets -> tomcat, databases ect. But you have a team who does that, right?

So if I get hired as a developer, I will still be coding on an ide just inside a large build system? and my ide will deploy to lets say "tomcat" as an example
 
Tim Cooke
Marshal
Posts: 5792
368
IntelliJ IDE Python TypeScript Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

You use an IDE for a company you work for, such as microsoft


No, I would choose my IDE based on the type of application I'm developing, not on what company I'm working for. I was saying that if you are working on a C# .NET application then MS Visual Studio would probably be your best choice just based on its feature set for the language.

uses a "large build system"


I'm not 100% what Henry was referring to when he mentioned the large build system. But to me it sounds like the entire workflow from development (you and I) right the way through to production, which encompasses a whole lot in-between. Depending on your company size and setup you may have varying degrees of involvement with some or all of this process. I work for quite a large company so have different teams to manage different stages of the process. However, no matter what the setup is it is still down to the development team to dictate what needs to be done to get the application up and running. You won't be expected to know everything about this up front so just learn as you go. Your company will probably do it differently to mine so no point going into it (unless you happen to work for the same company... and that would be spooky!).

I will still be coding on an ide just inside a large build system? and my ide will deploy to lets say "tomcat" as an example


An IDE is just a tool to help you read, write, and edit your code faster. You could do it all in NotePad or VIM if you wanted, the result would be the same. Tomcat is a Servlet Container, which means that it is an application container that will deploy and run a certain type of application, in this case a Servlet based application.
 
william chaple
Ranch Hand
Posts: 135
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Cooke wrote:

You use an IDE for a company you work for, such as microsoft


No, I would choose my IDE based on the type of application I'm developing, not on what company I'm working for. I was saying that if you are working on a C# .NET application then MS Visual Studio would probably be your best choice just based on its feature set for the language.

uses a "large build system"


I'm not 100% what Henry was referring to when he mentioned the large build system. But to me it sounds like the entire workflow from development (you and I) right the way through to production, which encompasses a whole lot in-between. Depending on your company size and setup you may have varying degrees of involvement with some or all of this process. I work for quite a large company so have different teams to manage different stages of the process. However, no matter what the setup is it is still down to the development team to dictate what needs to be done to get the application up and running. You won't be expected to know everything about this up front so just learn as you go. Your company will probably do it differently to mine so no point going into it (unless you happen to work for the same company... and that would be spooky!).

I will still be coding on an ide just inside a large build system? and my ide will deploy to lets say "tomcat" as an example


An IDE is just a tool to help you read, write, and edit your code faster. You could do it all in NotePad or VIM if you wanted, the result would be the same. Tomcat is a Servlet Container, which means that it is an application container that will deploy and run a certain type of application, in this case a Servlet based application.






Awesome thank you so much. I guess the only thing I am still a little confused is the "large build system". I'm envisioning it as the whole company team; pretty much how you are describing it. So how is it like developing for your company? What are the steps they take to build what they build? I wish I can do an internship so I can learn, but I cant leave my bills behind =(

And another thing, is the libraries the same when you work for a company? For instance, lets say I get hired to develop an app that uses java language; would it be the same syntax...java is java? Not sure if I make sense.. lol or would I actually have to adapt to their library/code?


as an example, just normal java code...would it be the same in the career world?
 
Henry Wong
author
Posts: 23958
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

william chaple wrote:
Awesome thank you so much. I guess the only thing I am still a little confused is the "large build system". I'm envisioning it as the whole company team; pretty much how you are describing it. So how is it like developing for your company? What are the steps they take to build what they build? I wish I can do an internship so I can learn, but I cant leave my bills behind =(



Okay, maybe build systems don't always get large. I was referring to the "nightly build", which I guess is a more common name. And for pure java shops, or for shops running on a single platform, I guess it isn't that important.


For product companies, that use other languages (either instead or in addition to Java), and runs on all environments, it uses a nightly build system. Sometime in the middle of the night, the system will checkout and tag everything from source code control, and starts a process to build the product, in all possible options, for all possible platforms. This will likely trigger a series of computers, on different platforms, to compile, followed by building the packages, installers, etc.

Most of the time, knowledge of this system is not needed. Just do an incremental compile for the library that you changed, for the system that you smoke test on, and smoke test it.

However, for "sensitive" parts of code, with conditional compile components that need separate testing. Or if the structure of the product changes, that you need to modify the make files, you need to do more than building on just one platform. You need to understand, and try to compile on multiple environments. Of course, you can just let the nightly build try it all out -- but if the build fails, lots of people will get mad at you.

Henry
 
author & internet detective
Posts: 42074
932
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A great discussion. I'd just like to add a note that NetBeans is used in academic environments WAY more than out in industry.
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You might like to work through the Eclipse beginner's tutorials. These are based on an older version of Eclipse IDE, but the core functionality of Eclipse hasn't changed much so they're still very useful, and there are also some basic lessons in Java in there.

Some people get very excited about their preferred choice of IDE, and I don't want to start any IDE wars here, but most places I've worked seem to use Eclipse for Java projects. Many companies prefer their staff to use a "standard platform" (including Eclipse), to make it easier to provide the working PCs etc, but sometimes you get to choose your own tools to some extent.

As Jeanne says, NetBeans seems to be far less widely used in industry - the only place I've seen it used was on a training course I did recently.
 
Campbell Ritchie
Marshal
Posts: 80222
424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Maybe it is because NetBeans has its own build files, whereas Eclipse simply uses its directory structure.
Also, Eclipse's compiler has much better error messages than most Sun/Oracle compilers, in my opinion.
 
Jeanne Boyarsky
author & internet detective
Posts: 42074
932
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Campbell,
Eclipse uses .classpath files though. Not *just* directory structure. NetBeans uses an Ant build. But it's a NetBeans specific one.
 
Campbell Ritchie
Marshal
Posts: 80222
424
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Never knew that. Thank you.
 
Humans and their filthy friendship brings nothing but trouble. My only solace is this tiny ad:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic