Jump to content

Evolas

Member
  • Posts

    30
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Evolas reacted to Nallown in Starting programming   
    Well there is no true perfect way to learn how to program, while digging into the advanced stuff might be something I'd do to learn someone else might not be able to start with the advanced stuff and would need to start of with the basics. Or I'd learn by looking at examples and would be able to instantly pretty much understand the concept behind the language someone else might need to read a whole book about the language.
     
    I believe that the only correct way to learn how to program would be to try and explore yourself. Have a look into some basic programming books and if you believe that's something you can't get into then maybe try video tutorials or basic hello world projects. Find the right way to learn how to program which would suite you and also fit your liking's.
     
    It's important to enjoy what you're doing so don't stick to one thing and believe that you're forced to do so. You're teaching yourself so there are no limits and musts. Learn whatever you're interested in, you don't have to do everything. No one is going to tell you off for not understanding everything or changing your mind. Just do whatever you feel happy doing.
  2. Like
    Evolas got a reaction from WanderingFool in help me with this code at C   
    As others have pointed out, you have quite a bit of errors in your original code sample. 
     
    The array's capacity needs to be determined at compilation time.  This means that you cannot just give it a value "i" and expect it to figure out the size of the array on its own.  You need to give it a constant like 5 or 10.  There are ways to dynamically bind an array, but I'm going to assume you're not at that level yet...so let's just stick with static binding. 
     
    If you want an array to hold, say...8 integers, you can decalre it like so: 
     
    int arrayName[8];
     
    Now remember, this creates an array that holds 8 elements (0-7) with each element being an integer value.  To assign an integer to an element, you would do something like this: 
     
    arrayName[0] = 20;  // this sets the first element in the array, element 0, to hold the value of 20
     
    You would need to do this for each value the user enters while the program is running.  It would be in your best interest to use loops to efficiently assign values to each element in the array, but I don't know if you've gotten that far yet.  The description of your assignment is awfully vague, so I don't know what your teacher wants you to show proficiency in. 
     
    Also, don't expect anyone to just write a bunch of code for you.  We're here to help with questions you may have and to give you some helpful hints, but we're not here to do your homework.  I've already given you a couple of lines of code and explained what each line does; try and use that to help you with the assignment.  If you're still unsure about something, feel free to ask.  However, no one (including myself) is going to do your homework for you. 
  3. Like
    Evolas got a reaction from fizzlesticks in Want to learn programming, have no past experience.   
    You would be more-or-less correct. 
     
    Honestly, I am going to advise you to stay away from learning HTML/CSS as beginner "programming" languages.  While these languages do have their places in minor programming concepts, they are definitely NOT the same.  Web programming is much different from actual Systems programming. 
     
    If you want to learn the kind of programming that is used in a variety of systems like C/C++, Python, Java, etc.  I would recommend that you start with something as simple as Python.  This will teach you the bare-bone basics like creating variables, handling different data types, creating user-defined functions, etc.  Once you get comfortable and more experienced with a language like Python, move on to some of the more difficult languages like C/C++. 
     
    I really do not understand the people who suggest others to learn things like HTML/CSS before going into Python or Java.  There's a lot more to high-level programming languages than writing language syntax into an HTML document. HTML is a Markup Language; this is very different than a Programming Language.  Programming languages need to be compiled before they can be executed.
  4. Like
    Evolas reacted to Unknown_Guy in What's it like working as a Software Engineer?   
    I arrive at work at around 10, there's no strict time you need to be at work unless there's meeting or something. Read/reply to emails get some work done - everyone have tasks assigned through Pivotal or Jira have lunch Read/reply to emails get some work done daily stand-up - share with team in short what you are doing/problems/next tasks get some work done Of course there's meeting with clients in between. And I try to work at least one day a week from home.
     
    There is a 4-5 people teams but you do stuff individually but we freely discuss problems, design decisions or whatever  with other team members or even with other teams. Sometimes we do pair programing 
    No one is really just on one project, but something like 6 months to year could be average. After that there is support phase for fixing bugs and minor features. Some projects are with ongoing development. Finished project sometimes is really finished when the application is taken down or rewritten
    I use Sublime Text as editor, Sourcetree for git, oh-my-zsh as shell - this is like for every day stuff. There a bunch of other stuff like SQL Developer for plsql stuff/SVN, SoapUI etc.
    I'm on OSX as I'm a Ruby on Rails developer but could easily use linux too. Windows is real pain for RoR development. Servers are running Red Hat so you have to be familiar with Linux and forget about UI here. Anyway it's not like there is THE OS in this profession, one is better suited for one thing another for other.
    Yeah, I like what I do. I wish there where no deadlines Another thing that I sometimes hate is (gu)estimations - don't be optimistic or this will bite you.
    For practical skills it gives almost nothing. There was a lot of math witch I personally don't have much use for but this could depend on field you are going to work. There was some good course about programming concepts, networking, databases, hardware and some other that shows the big picture which imho was the most valuable. Some courses felt out dated. So imho it's worth for getting bigger picture about the industry.
  5. Like
    Evolas got a reaction from Unknown_Guy in What's it like working as a Software Engineer?   
    I'm honestly asking for some real-world experience here. 
     
    Throughout my entire education, every programming class I have had has given very little insight into what it's actually like doing this kind of work in the real world.  All projects can mostly be done on an individual basis, students are required to use Microsoft Visual Studio, projects are relatively small, etc.  I was wondering if anyone here on these forums could share their experience working as a real Software Engineer. 
     
    1)  What was your typical day like from start to finish?
    2)  How often do you work in teams?  Individually?
    3)  How big were your projects?  (i.e. On average, how long did it take you and your team to finish a project)
    4)  What systems and/or IDEs did you use most?  Is Linux the go-to OS for this kind of career? 
    5)  Do you honestly ENJOY your job?  Are there any practices that you wish were different in this field?
    6)  Do you feel your degree was well worth the money?  (Really looking for people with a Bachelor's in Computer Science or equivalent)
     
    I'm coming from a C/C++ background.  Please no html/css programmers; I have nothing against web development, the fields just seem VERY different to me.  My goal with this thread is to get a nice collection of personal experiences that I, and others, can read and get a good understanding of what this field may require when employed. 
     
    Also, if anyone can link any videos that give good insight on this topic, I'd greatly appreciate it. 
     
    Thanks!
     
    P.S.  I only want experiences from people who make a living off of this.  No students who have worked as an intern doing coffee runs, and no self-taught programmers working on their own freelance projetcs.  I want to hear from people who are employed by a company.  I feel this is where most of the work is at in the real world (I may be wrong, feel free to correct me if this is not the case).
  6. Like
    Evolas reacted to BrightCandle in What's it like working as a Software Engineer?   
    I have been a professional programmer for 15 years. I have written software ranging from Aerospace embedded systems for military jets through to javascript driven websites, operating system patches and pretty much everything in between. In all I have programmed in about 20 languages throughout my career, so I have been doing this for a while and I am one of the best paid programmers in London and these days I do contract work.
     
    1)  What was your typical day like from start to finish?
    Typically the day starts with a stand up meeting around 09:30 with a dev team of about 5-8 people. Normally there is a tester or two, a project manager, 3-4 devs and maybe some UI/design specialists. We discuss the stories we are working on, what it is going to take to do them and problems we have and coordination necessary.
     
    Then after that the day mostly consists of the following primary activities:
    - Speaking to users about how things work or how to do something 10%
    - Writing automated tests, writing the code for those tests and refactoring the code of the system to better reflect what you just learnt. 60%
    - Design discussions and changes - 10%
    - Trying to find bugs and fixing them - 20%
     
    Some days I spend just cracking on with a coding problem, speaking to no one and just working on a design of my choosing to solve a particular problem. Other times I spend the entire day pair programming on something or running performance tests or working out why something doesn't work. I can write 0 lines of code in a day but still end up having been very productive if I answered "Why did the application stall for 5 seconds for that user there". Its a very varied job, some of my days are spent entirely talking about the scope of the project and where it will be. I spend hours talking to other developers about interfaces between systems, standards on common problems. The days activities are usually about working either what has to be built, how it has to be built or building it.
     
    2)  How often do you work in teams?  Individually?
    Software today is almost always a team activity that you do alone. By that I mean most of the true work you do yourself, but there are people around to help and provide skills to the team you don't have. Its relatively rare for 2 people to be working on the same problem at the same time, most people don't like to pair program but its becoming more common. Teams of programmers more typically coordinate their efforts so interrelated issues are solved but they try to minimise the interactions of the work they are doing as it can be awkward to merge the code.
     
    3)  How big were your projects?  (i.e. On average, how long did it take you and your team to finish a project)
    Anywhere from about 1 month to 2+ years. The longest time I went between a release was about 6 months, but these days I tend to advocate releasing every week at the very least.
     
    I have worked on projects from around 50k lines of code to around 10 million lines of code.
     
    4)  What systems and/or IDEs did you use most?  Is Linux the go-to OS for this kind of career? 
    Edit: I have used quite a few IDEs but typically these days I use Eclipse and Visual Studio.
     
    I rarely use Linux directly. Its more common for me to be using Windows and using cygwin to provide a lot of the linux command line. The linux command line is definitely useful to a developer but I haven't often used the operating system itself. Its very common for software server side to be deployed on Linux however, so you certainly use it quite a bit.
     
    I personally am not really that bothered whether my OS is Linux, Windows or OSX. I have used all 3 and can make them all more or less do what I want and most the tools I use run on them all and I spend my days in tools not really the operating system.
     
    5)  Do you honestly ENJOY your job?  Are there any practices that you wish were different in this field?
    I really do enjoy my job, I do it for fun as well as getting paid for it. I typically spend 6 months doing contracts and 6 months doing my own personal projects each year.
     
    I wish more developers understood and used test driven development and agile. There is a lot of misunderstanding about how well programmers can estimate what they are doing, what an estimate means and how far it can be taken. The sad reality of the industry is that most business owners and developers need a lot of understanding of the premise of estimation before a proper and honest assessment of software timescales can be created. Its my one pet peeve about how the industry really works. It drives a culture of late nights and weekend working that is both unhealthy and large driven by a fundamental failing to understand what the word estimate means.
     
    I have had other issues like Senior devs who forced through really terrible design or dev practice choices.
    I have also seen quite a few teams with really sexist views as well (I am not female but I object to such sexism talk).
     
    6)  Do you feel your degree was well worth the money?  (Really looking for people with a Bachelor's in Computer Science or equivalent)
    I have a Bsc in Computer Science and I use elements of it every day. It was essential to getting my first and second job programming although its usefulness declines over time. Its important to realise the Bsc is just the start of the learning process as a programmer. You'll spend 10's of thousands of hours of your own time in the years to come learning new things. There is a very high need for personal professional development in the industry. Don't expect others to train you, you need to get out and train yourself constantly and you realise everything you learn is pinned right back to the grounding you got with your CS degree.
     
    About the only part of my CS degree I haven't used is the VLSI architecture and algorithms with CMOS. I haven't yet had the chance to design a chip in that way, although I have done some flip chip work where at least a couple of the things I learnt in that course were helpful but certainly not all of it.
  7. Like
    Evolas reacted to Darkfeign in What's it like working as a Software Engineer?   
    I can't offer any personal experience as I'm a postgraduate student, but I thought i'd provide a little insight from my experience at uni along with the experience of previous friends who now work as software engineers.
     
    You're right in being a little cautious in expecting a software engineering role to mimic univeristy. Most of our projects were individual, but in second year we had two large projects to do. One in python (where a couple people took over programming and the other team members focused on design/user interface etc.). The second was in Java and did require a fair amount of communication across the team but I still feel like, at that stage, you're more likely to wing it and implement parts that you can and have a person or two at the centre to bring all the components together properly. This is certainly not how it works as a software engineer.
     
    From what I understand from friends who have since left university and are employed at some pretty well known software companies (BT for one), pretty much everything you do is part of a team in some aspect. When you're working on larger systems, project managers will have input as to the expected design of the system, where the interfaces are all pretty much decided and so when your team begins development, while you may be given a section of the system to implement, you are still expected to communicate with your team to ensure your part of the system has been thoroughly tested and most importantly, decent consideration has been spent on the interface to ensure its compatibility with the other parts of the system.
     
    This obviously changes depending on the size of the project/organisation but you will be programming to specifications of the expected system, and when you feel this needs to change you will be discussing a lot with other members of the team to decide on the process/what to modify in the design etc. and will inevitably have people explore and research your code for various reasons to understand your methods and its functionality.
     
    I'm not sure this is particularly helpful as I can't give you an insight into the typical day of a software engineer but you're going to be a part of a team for sure, whether taking on your own tasks, or undergoing 'paired programming' and other software dev. paradigms depends much upon the organisation itself I guess. If you really enjoy programming, then find a job/environment that suits you best and while it may not always be exactly what you want to do, I'd suggest continuing to develop your interests outside of work (personal projects, open source projects etc.) to lead you to what you really want to achieve in a job.
  8. Like
    Evolas reacted to Nallown in What's it like working as a Software Engineer?   
    I'm tea man sam, I give tea to them does this count? joking
     
    I work at a app dev company and it's extremely fun especially if you enjoy programming.
     
    Normally this is what our day schedule is like, in the morning (around 9:30) each team member and team lead stand around board with tasks on them. We explain what tasks we have finished and what tasks may take longer then expected and also maybe some problems we encountered which believe me at least 1 person has every day, this is something normal since the tasks you'd be getting may require some exploring to do.
     
    We pretty much always work in a team since not everything is done 100% by yourself, you'd always have a UX, UI, server side programmer with you and maybe some other front end programmers depending on the project size. You aren't expected to do everything by yourself since they understand that you're not always skilled 100% in everything. It's actually quiet useful to have a specific UX, UI and server side programmer so all you need to worry about is doing your specific job.
     
    My projects weren't HUGE since I'm just a apprentice, this doesn't mean that I'm not taken seriously since the team leader has noticed that my programming skills are already good enough to be put in use I already get actual tasks to do such as working on a prototype which is used to get a clearer idea of whether the product is a good enough to be started or not so basically depending on how well I create the prototype the project may or may not be official, I've also worked on a android app which I cannot mention what it is yet. My task was to have the functionality in there e.g. when going to a second page of the app it would have some sort of special effects and communicate with the server side scripts.
     
    At work we use a custom git repo hosted locally so the IDE we use doesn't matter as long as we submit the code, I personally use Eclipse and sublime text as a simple markup text editor. Most other developers use linux with vim apart from the iOS developers which obviously use osx and the ux, ui developers use osx aswell. This sort of shows whether its good to use linux or not. I myself enjoy using windows since every so often I end up using something like photoshop since I do prototyping aswell but most developers enjoy using linux with vim since they can make it their own.
     
    I LOVE MY JOB! ITS THE BEST! I would never ever regret applying for it, to be honest the only thing which I don't like about it is the fact that I have to wake up early in the morning, everything else I LOVE! The people are awesome, the job is awesome and everything is awesome. Every so often we end up playing half life 2, counter strike and left4dead and whenever we finish a product (submit it) we have HUGE lan party with every employee ITS AWESOME!
     
    I didn't have any sort of degree in IT, actually even my ICT degree wasn't accepted because of the way the examiners were marking it. The way I got in was by my self taught experience, I believe that getting a degree in computer science is not important since you can always prove your self. I showed some of my passed projects and as part of the interview I had a argument about how the technology is changing and what a regular non experience computer user sees from a computer and what I see. This is what made them understand how experienced I am. A degree in computer science is always still good ofcourse since you'd be taught everything but if you're someone like me who enjoys to explore and to learn everything about computer, hacking networking etc... then you should be fine since you more then likely would teach yourself everything.
  9. Like
    Evolas got a reaction from Vitalius in What's it like working as a Software Engineer?   
    I'm honestly asking for some real-world experience here. 
     
    Throughout my entire education, every programming class I have had has given very little insight into what it's actually like doing this kind of work in the real world.  All projects can mostly be done on an individual basis, students are required to use Microsoft Visual Studio, projects are relatively small, etc.  I was wondering if anyone here on these forums could share their experience working as a real Software Engineer. 
     
    1)  What was your typical day like from start to finish?
    2)  How often do you work in teams?  Individually?
    3)  How big were your projects?  (i.e. On average, how long did it take you and your team to finish a project)
    4)  What systems and/or IDEs did you use most?  Is Linux the go-to OS for this kind of career? 
    5)  Do you honestly ENJOY your job?  Are there any practices that you wish were different in this field?
    6)  Do you feel your degree was well worth the money?  (Really looking for people with a Bachelor's in Computer Science or equivalent)
     
    I'm coming from a C/C++ background.  Please no html/css programmers; I have nothing against web development, the fields just seem VERY different to me.  My goal with this thread is to get a nice collection of personal experiences that I, and others, can read and get a good understanding of what this field may require when employed. 
     
    Also, if anyone can link any videos that give good insight on this topic, I'd greatly appreciate it. 
     
    Thanks!
     
    P.S.  I only want experiences from people who make a living off of this.  No students who have worked as an intern doing coffee runs, and no self-taught programmers working on their own freelance projetcs.  I want to hear from people who are employed by a company.  I feel this is where most of the work is at in the real world (I may be wrong, feel free to correct me if this is not the case).
  10. Like
    Evolas got a reaction from Darkfeign in Programming at School   
    Come up with a small project that the students in your club think they can accomplish after a particular date.  Use time at school to work on it together and brainstorm, while you practice and learn the languages/concepts at home using online resources and/or books. 
     
    Of course, this requires a lot of perseverance and dedication since you and your classmates will have to work on this outside of school, but that's what you have to do if you don't have a proper teacher. 
     
    I think that creating a simple website using HTML and CSS is a good starting point if you would like to start with something easy.  Work your way up from there.
×